Version 2.14.0-195.0.dev
Merge commit 'f4352180cc5a5ac32dc182a6aec753ecf264bdef' into 'dev'
diff --git a/pkg/analysis_server/test/analysis/notification_errors_test.dart b/pkg/analysis_server/test/analysis/notification_errors_test.dart
index 2cf499c..c311ec8 100644
--- a/pkg/analysis_server/test/analysis/notification_errors_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_errors_test.dart
@@ -116,7 +116,7 @@
<uses-feature android:name="android.software.home_screen" />
</manifest>
''').path;
- newFile(join(projectPath, 'analysis_options.yaml'), content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -147,7 +147,7 @@
<uses-feature android:name="android.software.home_screen" />
</manifest>
''').path;
- newFile(join(projectPath, 'analysis_options.yaml'), content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -271,7 +271,7 @@
}
Future<void> test_excludedFolder() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
exclude:
- excluded/**
@@ -320,7 +320,7 @@
Future<void> test_lintError() async {
var camelCaseTypesLintName = 'camel_case_types';
- newFile(join(projectPath, 'analysis_options.yaml'), content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- $camelCaseTypesLintName
@@ -518,8 +518,7 @@
}
Future<void> test_pubspecFile_lint() async {
- var optionsPath = join(projectPath, 'analysis_options.yaml');
- newFile(optionsPath, content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- sort_pub_dependencies
diff --git a/pkg/analysis_server/test/analysis_abstract.dart b/pkg/analysis_server/test/analysis_abstract.dart
index c55c715..86ec647 100644
--- a/pkg/analysis_server/test/analysis_abstract.dart
+++ b/pkg/analysis_server/test/analysis_abstract.dart
@@ -62,12 +62,6 @@
AnalysisDriver get testDiver => server.getAnalysisDriver(testFile)!;
- void addAnalysisOptionsFile(String content) {
- newFile(
- resourceProvider.pathContext.join(projectPath, 'analysis_options.yaml'),
- content: content);
- }
-
void addAnalysisSubscription(AnalysisService service, String file) {
// add file to subscription
var files = analysisSubscriptions[service];
@@ -105,7 +99,7 @@
buffer.writeln(' - $experiment');
}
}
- addAnalysisOptionsFile(buffer.toString());
+ newAnalysisOptionsYamlFile(projectPath, content: buffer.toString());
}
AnalysisServer createAnalysisServer() {
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index c416406..ca5385e 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -162,7 +162,7 @@
test_setAnalysisSubscriptions_fileInIgnoredFolder_newOptions() async {
var path = convertPath('/project/samples/sample.dart');
newFile(path);
- newFile('/project/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile('/project', content: r'''
analyzer:
exclude:
- 'samples/**'
@@ -183,7 +183,7 @@
test_setAnalysisSubscriptions_fileInIgnoredFolder_oldOptions() async {
var path = convertPath('/project/samples/sample.dart');
newFile(path);
- newFile('/project/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile('/project', content: r'''
analyzer:
exclude:
- 'samples/**'
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index dd97d60..af1689b 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -364,7 +364,7 @@
);
// Write the options file that excludes b.dart
- newFile('$testPackageRootPath/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
analyzer:
exclude:
- lib/b.dart
@@ -416,7 +416,7 @@
newFile('$testPackageLibPath/a.dart', content: '');
- newFile('$testPackageRootPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -485,7 +485,7 @@
var a_path = '$projectPath/lib/a.dart';
var b_path = '$projectPath/lib/b.dart';
- newFile('$projectPath/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile(projectPath, content: r'''
analyzer:
exclude:
- "**/a.dart"
@@ -621,7 +621,7 @@
// Write an empty file to force a new analysis context.
// We look for `pubspec.yaml` files only in analysis context roots.
- newFile('$testPackageRootPath/analysis_options.yaml', content: '');
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: '');
setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
@@ -723,7 +723,7 @@
// Has an error - no touch screen.
newFile(path, content: '<manifest/>');
- newFile('$testPackageRootPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -814,7 +814,7 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newFile('$testPackageRootPath/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
analyzer:
exclude:
- "**/a.dart"
@@ -1006,7 +1006,7 @@
// Has an error - no touch screen.
newFile(path, content: '<manifest/>');
- newFile('$testPackageRootPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -1049,7 +1049,7 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newFile('$testPackageRootPath/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
analyzer:
exclude:
- "**/a.dart"
@@ -1349,7 +1349,7 @@
newFile('$testPackageLibPath/a.dart', content: '');
- newFile('$testPackageRootPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
diff --git a/pkg/analysis_server/test/domain_edit_dartfix_test.dart b/pkg/analysis_server/test/domain_edit_dartfix_test.dart
index fa53b77..059d4ec 100644
--- a/pkg/analysis_server/test/domain_edit_dartfix_test.dart
+++ b/pkg/analysis_server/test/domain_edit_dartfix_test.dart
@@ -110,7 +110,7 @@
Future<void> test_excludedSource() async {
// Add analysis options to exclude the lib directory then reanalyze
- newFile('/project/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile('/project', content: '''
analyzer:
exclude:
- lib/**
diff --git a/pkg/analysis_server/test/edit/bulk_fixes_test.dart b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
index d48358f..5f58bc1 100644
--- a/pkg/analysis_server/test/edit/bulk_fixes_test.dart
+++ b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
@@ -60,7 +60,7 @@
}
Future<void> test_annotateOverrides_excludedFile() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
exclude:
- test/**
@@ -83,7 +83,7 @@
Future<void> test_annotateOverrides_excludedSubProject() async {
// Root project.
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
exclude:
- test/data/**
@@ -147,7 +147,7 @@
}
Future<void> test_details() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- annotate_overrides
@@ -181,7 +181,7 @@
}
Future<void> test_unnecessaryNew() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- unnecessary_new
@@ -205,7 +205,7 @@
if (Platform.isWindows) {
fail('Should not be passing on Windows, but it does');
}
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- prefer_collection_literals
@@ -228,7 +228,7 @@
}
Future<void> test_unnecessaryNew_ignoredInOptions() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
errors:
unnecessary_new: ignore
@@ -244,7 +244,7 @@
}
Future<void> test_unnecessaryNew_ignoredInSource() async {
- addAnalysisOptionsFile('''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
linter:
rules:
- unnecessary_new
diff --git a/pkg/analysis_server/test/edit/sort_members_test.dart b/pkg/analysis_server/test/edit/sort_members_test.dart
index 52c1932..f6e6bd6 100644
--- a/pkg/analysis_server/test/edit/sort_members_test.dart
+++ b/pkg/analysis_server/test/edit/sort_members_test.dart
@@ -195,7 +195,7 @@
}
Future<void> test_OK_genericFunctionType() async {
- newFile('$projectPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
strong-mode: true
''');
diff --git a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
index e19ca34..0620fbf 100644
--- a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
@@ -263,7 +263,7 @@
Future<void> test_import_only_dart_files() async {
testFile = convertPath('$testPackageRootPath/test.dart');
newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/analysis_options.yaml');
+ newAnalysisOptionsYamlFile(testPackageRootPath);
addTestSource('import "package:^";');
await computeSuggestions();
diff --git a/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart b/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
index df54552..a7e6a4a 100644
--- a/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
+++ b/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
@@ -75,7 +75,7 @@
newDotPackagesFile(projectPath, content: '''
flutter:${flutterFolder.toUri()}
''');
- newFile('$projectPath/analysis_options.yaml', content: '''
+ newAnalysisOptionsYamlFile(projectPath, content: '''
analyzer:
strong-mode: true
''');
diff --git a/pkg/analysis_server/tool/code_completion/completion_metrics.dart b/pkg/analysis_server/tool/code_completion/completion_metrics.dart
index ca754b5..d32c961 100644
--- a/pkg/analysis_server/tool/code_completion/completion_metrics.dart
+++ b/pkg/analysis_server/tool/code_completion/completion_metrics.dart
@@ -166,6 +166,12 @@
'score by pointing out the locations that are causing the biggest '
'impact.',
negatable: false)
+ ..addFlag(CompletionMetricsOptions.PRINT_SHADOWED_COMPLETION_DETAILS,
+ defaultsTo: false,
+ help: 'Print detailed information every time a completion request '
+ 'produces a suggestions whose name matches the expected suggestion '
+ 'but that is referencing a different element',
+ negatable: false)
..addFlag(CompletionMetricsOptions.PRINT_SLOWEST_RESULTS,
defaultsTo: false,
help: 'Print information about the completion requests that were the '
@@ -331,6 +337,14 @@
/// The completion locations for which no relevance table was available.
final Set<String> missingCompletionLocationTables = {};
+ /// A map, keyed by completion location of the missed completions at those
+ /// locations.
+ Map<String, List<ExpectedCompletion>> missedCompletions = {};
+
+ /// A map, keyed by completion location of the completions at those locations
+ /// where a shadowed element was suggested rather than the visible one.
+ Map<String, List<ShadowedCompletion>> shadowedCompletions = {};
+
final Map<CompletionGroup, List<CompletionResult>> slowestResults = {};
final Map<CompletionGroup, List<CompletionResult>> worstResults = {};
@@ -471,6 +485,27 @@
_recordMissingInformation(listener);
}
+ /// Record an [expectedCompletion] at the [completionLocation] for which no
+ /// suggestion was produced.
+ void recordMissedCompletion(
+ String? completionLocation, ExpectedCompletion expectedCompletion) {
+ missedCompletions
+ .putIfAbsent(completionLocation ?? 'unknown', () => [])
+ .add(expectedCompletion);
+ }
+
+ /// Record an [expectedCompletion] at the [completionLocation] for which a
+ /// suggestion (the [closeMatchSuggestion]) was produced when the suggestion
+ /// was for a different element but with the same name.
+ void recordShadowedCompletion(
+ String? completionLocation,
+ ExpectedCompletion expectedCompletion,
+ protocol.CompletionSuggestion closeMatchSuggestion) {
+ shadowedCompletions
+ .putIfAbsent(completionLocation ?? 'unknown', () => [])
+ .add(ShadowedCompletion(expectedCompletion, closeMatchSuggestion));
+ }
+
Map<String, dynamic> toJson() {
return {
'name': name,
@@ -721,7 +756,8 @@
metrics.completionElementKindCounter
.count(expectedCompletion.elementKind.toString());
- if (options.printMissedCompletionDetails) {
+ if (options.printMissedCompletionDetails ||
+ options.printShadowedCompletionDetails) {
protocol.CompletionSuggestion? closeMatchSuggestion;
for (var suggestion in suggestions) {
if (suggestion.completion == expectedCompletion.completion) {
@@ -729,15 +765,16 @@
}
}
- print('missing completion (${metrics.name}):');
- print('$expectedCompletion');
- if (closeMatchSuggestion != null) {
- print(' close matching completion that was in the list:');
- print(' $closeMatchSuggestion');
+ if (closeMatchSuggestion == null &&
+ options.printMissedCompletionDetails) {
+ metrics.recordMissedCompletion(
+ completionLocation, expectedCompletion);
+ } else if (closeMatchSuggestion != null &&
+ options.printShadowedCompletionDetails) {
+ metrics.recordShadowedCompletion(
+ completionLocation, expectedCompletion, closeMatchSuggestion);
}
- print('');
}
-
return -1;
}
}
@@ -847,11 +884,6 @@
void printMetrics(CompletionMetrics metrics) {
printHeading(1, 'Completion metrics for ${metrics.name}');
- if (options.printMissedCompletionSummary) {
- printCounter(metrics.completionMissedTokenCounter);
- printCounter(metrics.completionKindCounter);
- printCounter(metrics.completionElementKindCounter);
- }
List<String> toRow(MeanReciprocalRankComputer computer) {
return [
@@ -906,13 +938,43 @@
printTable(table);
}
//
- // Print information that would normally appear in the comprison when there
- // is no comparison section.
+ // Print information that would normally appear in the comparison section
+ // when there is no comparison section.
//
if (targetMetrics.length == 1) {
printOtherMetrics(metrics);
printCompletionCounts(metrics);
}
+ //
+ // Print information about missed completions.
+ //
+ if (options.printMissedCompletionSummary) {
+ printCounter(metrics.completionMissedTokenCounter);
+ printCounter(metrics.completionKindCounter);
+ printCounter(metrics.completionElementKindCounter);
+ }
+ printMissedCompletionDetails(metrics);
+ printShadowedCompletionDetails(metrics);
+ }
+
+ void printMissedCompletionDetails(CompletionMetrics metrics) {
+ if (options.printMissedCompletionDetails) {
+ printHeading(2, 'Missed Completions');
+ var needsBlankLine = false;
+ var entries = metrics.missedCompletions.entries.toList()
+ ..sort((first, second) => first.key.compareTo(second.key));
+ for (var entry in entries) {
+ if (needsBlankLine) {
+ print('');
+ } else {
+ needsBlankLine = true;
+ }
+ printHeading(3, entry.key);
+ for (var expectedCompletion in entry.value) {
+ print('- $expectedCompletion');
+ }
+ }
+ }
}
void printMissingInformation(CompletionMetrics metrics) {
@@ -1045,6 +1107,28 @@
}
}
+ void printShadowedCompletionDetails(CompletionMetrics metrics) {
+ if (options.printShadowedCompletionDetails) {
+ printHeading(2, 'Shadowed Completions');
+ var needsBlankLine = false;
+ var entries = metrics.shadowedCompletions.entries.toList()
+ ..sort((first, second) => first.key.compareTo(second.key));
+ for (var entry in entries) {
+ if (needsBlankLine) {
+ print('');
+ } else {
+ needsBlankLine = true;
+ }
+ printHeading(3, entry.key);
+ for (var shadowedCompletion in entry.value) {
+ print('- ${shadowedCompletion.expectedCompletion}');
+ print(' close matching completion that was in the list:');
+ print(' ${shadowedCompletion.closeMatchSuggestion}');
+ }
+ }
+ }
+ }
+
void printSlowestResults(CompletionMetrics metrics) {
var slowestResults = metrics.slowestResults;
var entries = slowestResults.entries.toList();
@@ -1524,6 +1608,13 @@
/// at each completion location.
static const String PRINT_MRR_BY_LOCATION = 'print-mrr-by-location';
+ /// A flag that causes detailed information to be printed every time a
+ /// completion request produce a suggestions whose name matches the expected
+ /// suggestion but that is referencing a different element (one that's
+ /// shadowed by the correct element).
+ static const String PRINT_SHADOWED_COMPLETION_DETAILS =
+ 'print-shadowed-completion-details';
+
/// A flag that causes information to be printed about the completion requests
/// that were the slowest to return suggestions.
static const String PRINT_SLOWEST_RESULTS = 'print-slowest-results';
@@ -1554,6 +1645,11 @@
/// score achieved at each completion location.
final bool printMrrByLocation;
+ /// A flag indicating whether information should be printed every time a
+ /// completion request fails to produce a suggestions matching the expected
+ /// suggestion.
+ final bool printShadowedCompletionDetails;
+
/// A flag indicating whether information should be printed about the
/// completion requests that were the slowest to return suggestions.
final bool printSlowestResults;
@@ -1569,6 +1665,8 @@
printMissedCompletionSummary: results[PRINT_MISSED_COMPLETION_SUMMARY],
printMissingInformation: results[PRINT_MISSING_INFORMATION],
printMrrByLocation: results[PRINT_MRR_BY_LOCATION],
+ printShadowedCompletionDetails:
+ results[PRINT_SHADOWED_COMPLETION_DETAILS],
printSlowestResults: results[PRINT_SLOWEST_RESULTS],
printWorstResults: results[PRINT_WORST_RESULTS]);
}
@@ -1579,6 +1677,7 @@
required this.printMissedCompletionSummary,
required this.printMissingInformation,
required this.printMrrByLocation,
+ required this.printShadowedCompletionDetails,
required this.printSlowestResults,
required this.printWorstResults})
: assert(overlay == OVERLAY_NONE ||
@@ -1872,6 +1971,15 @@
RelevanceTables(this.name, this.elementKindRelevance, this.keywordRelevance);
}
+/// Information about a completion suggestion that suggested a shadowed element.
+class ShadowedCompletion {
+ final ExpectedCompletion expectedCompletion;
+
+ final protocol.CompletionSuggestion closeMatchSuggestion;
+
+ ShadowedCompletion(this.expectedCompletion, this.closeMatchSuggestion);
+}
+
/// The information being remembered about an individual suggestion.
class SuggestionData {
/// The suggestion that was produced.
diff --git a/pkg/analysis_server/tool/code_completion/visitors.dart b/pkg/analysis_server/tool/code_completion/visitors.dart
index 5e86cd3..e681cc4 100644
--- a/pkg/analysis_server/tool/code_completion/visitors.dart
+++ b/pkg/analysis_server/tool/code_completion/visitors.dart
@@ -777,6 +777,11 @@
if (node.thisOrAncestorOfType<LibraryDirective>() != null) {
return false;
}
+ // Ignore identifiers in hide and show combinators because we don't suggest
+ // names that are already in the list.
+ if (node.parent is HideCombinator || node.parent is ShowCombinator) {
+ return false;
+ }
// TODO (jwren) If there is a mode of completing at a token location where
// the token is removed before the completion query happens, then this
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 6a7ad79..72a4869 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -4,6 +4,8 @@
and the last elements of an interpolation.
* Deprecated `ImportElement.prefixOffset`, use `prefix.nameOffset` instead.
* Deprecated `CompilationUnitElement.types`, use `classes` instead.
+* Added `Element.nonSynthetic`, use it to get the element that caused creation
+ of this element, e.g. the field for a synthetic getter.
## 1.7.0
* Require `meta: ^1.4.0`.
diff --git a/pkg/analyzer/doc/tutorial/element.md b/pkg/analyzer/doc/tutorial/element.md
index b0169e4..6c5509f 100644
--- a/pkg/analyzer/doc/tutorial/element.md
+++ b/pkg/analyzer/doc/tutorial/element.md
@@ -71,7 +71,7 @@
```dart
void printMembers(CompilationUnitElement unitElement) {
- for (ClassElement classElement in unitElement.types) {
+ for (ClassElement classElement in unitElement.classes) {
print(classElement.name);
for (ConstructorElement constructorElement in classElement.constructors) {
if (!constructorElement.isSynthetic) {
diff --git a/pkg/analyzer/lib/dart/ast/visitor.dart b/pkg/analyzer/lib/dart/ast/visitor.dart
index 39e66dc..a10cb66d 100644
--- a/pkg/analyzer/lib/dart/ast/visitor.dart
+++ b/pkg/analyzer/lib/dart/ast/visitor.dart
@@ -330,8 +330,12 @@
R? visitFunctionBody(FunctionBody node) => visitNode(node);
@override
- R? visitFunctionDeclaration(FunctionDeclaration node) =>
- visitNamedCompilationUnitMember(node);
+ R? visitFunctionDeclaration(FunctionDeclaration node) {
+ if (node.parent is FunctionDeclarationStatement) {
+ return visitNode(node);
+ }
+ return visitNamedCompilationUnitMember(node);
+ }
@override
R? visitFunctionDeclarationStatement(FunctionDeclarationStatement node) =>
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index 96d810b..22e6421b 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -666,6 +666,16 @@
/// does not have a name, or otherwise does not have an offset.
int get nameOffset;
+ /// Return the non-synthetic element that caused this element to be created.
+ ///
+ /// If this element is not synthetic, then the element itself is returned.
+ ///
+ /// If this element is synthetic, then the corresponding non-synthetic
+ /// element is returned. For example, for a synthetic getter of a
+ /// non-synthetic field the field is returned; for a synthetic constructor
+ /// the enclosing class is returned.
+ Element get nonSynthetic;
+
/// Return the analysis session in which this element is defined.
AnalysisSession? get session;
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index d89aaf1..99e984b 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -82,7 +82,7 @@
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
class AnalysisDriver implements AnalysisDriverGeneric {
/// The version of data format, should be incremented on every format change.
- static const int DATA_VERSION = 144;
+ static const int DATA_VERSION = 145;
/// The number of exception contexts allowed to write. Once this field is
/// zero, we stop writing any new exception contexts in this process.
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 2735e16..1ddfbb1 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -1264,6 +1264,9 @@
bool get hasInitializer => false;
@override
+ Element get nonSynthetic => this;
+
+ @override
InterfaceType get type =>
ElementTypeProvider.current.getFieldType(this) as InterfaceType;
@@ -1352,6 +1355,9 @@
}
@override
+ Element get nonSynthetic => _enum;
+
+ @override
set type(DartType type) {
assert(false);
}
@@ -1460,6 +1466,11 @@
ElementKind get kind => ElementKind.CONSTRUCTOR;
@override
+ Element get nonSynthetic {
+ return isSynthetic ? enclosingElement : this;
+ }
+
+ @override
ConstructorElement? get redirectedConstructor {
linkedData?.read(this);
return _redirectedConstructor;
@@ -2340,6 +2351,9 @@
}
@override
+ Element get nonSynthetic => this;
+
+ @override
AnalysisSession? get session {
return enclosingElement?.session;
}
@@ -4093,6 +4107,14 @@
}
@override
+ Element get nonSynthetic {
+ if (isSynthetic && enclosingElement is EnumElementImpl) {
+ return enclosingElement;
+ }
+ return this;
+ }
+
+ @override
T? accept<T>(ElementVisitor<T> visitor) => visitor.visitMethodElement(this);
}
@@ -4402,6 +4424,9 @@
int get nameOffset => -1;
@override
+ Element get nonSynthetic => this;
+
+ @override
Source? get source => null;
@override
@@ -4720,6 +4745,11 @@
}
@override
+ Element get nonSynthetic {
+ return setter.variable;
+ }
+
+ @override
DartType get type => ElementTypeProvider.current.getVariableType(this);
@override
@@ -4958,6 +4988,16 @@
bool get isGetter => true;
@override
+ Element get nonSynthetic {
+ if (enclosingElement is EnumElementImpl) {
+ if (name == 'index' || name == 'values') {
+ return enclosingElement;
+ }
+ }
+ return variable;
+ }
+
+ @override
DartType get returnType =>
ElementTypeProvider.current.getExecutableReturnType(this);
@@ -5007,6 +5047,9 @@
bool get isSetter => true;
@override
+ Element get nonSynthetic => variable;
+
+ @override
List<ParameterElement> get parameters =>
ElementTypeProvider.current.getExecutableParameters(this);
@@ -5095,6 +5138,20 @@
}
@override
+ Element get nonSynthetic {
+ if (isSynthetic) {
+ if (enclosingElement is EnumElementImpl) {
+ if (name == 'index' || name == 'values') {
+ return enclosingElement;
+ }
+ }
+ return (getter ?? setter)!;
+ } else {
+ return this;
+ }
+ }
+
+ @override
DartType get type => ElementTypeProvider.current.getFieldType(this);
@override
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index 119513f..bd52748 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -564,6 +564,9 @@
int get nameOffset => _declaration.nameOffset;
@override
+ Element get nonSynthetic => _declaration.nonSynthetic;
+
+ @override
AnalysisSession? get session => _declaration.session;
@override
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index e7e2a81..cfc9977 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -629,7 +629,7 @@
for (var i = 0; i < constantCount; i++) {
var constantName = _reader.readStringReference();
var field = ConstFieldElementImpl_EnumValue(element, constantName, i);
- var constantRef = containerRef.getChild(name);
+ var constantRef = containerRef.getChild(constantName);
field.reference = constantRef;
constantRef.element = field;
fields.add(field);
diff --git a/pkg/analyzer/lib/src/summary2/informative_data.dart b/pkg/analyzer/lib/src/summary2/informative_data.dart
index b6b880d..d6bb7cb 100644
--- a/pkg/analyzer/lib/src/summary2/informative_data.dart
+++ b/pkg/analyzer/lib/src/summary2/informative_data.dart
@@ -1221,10 +1221,10 @@
// TODO(scheglov) Replace with some kind of double-iterating list.
var declaration = node.parent!.parent as FieldDeclaration;
- var collector = _OffsetsCollector();
- declaration.metadata.accept(collector);
- node.initializer?.accept(collector);
- sink.writeUint30List(collector.offsets);
+ _writeOffsets(
+ metadata: declaration.metadata,
+ constantInitializer: node.initializer,
+ );
},
);
}
@@ -1306,11 +1306,13 @@
void _writeOffsets({
NodeList<Annotation>? metadata,
TypeParameterList? typeParameters,
+ Expression? constantInitializer,
List<EnumConstantDeclaration>? enumConstants,
}) {
var collector = _OffsetsCollector();
metadata?.accept(collector);
typeParameters?.typeParameters.accept(collector);
+ constantInitializer?.accept(collector);
if (enumConstants != null) {
for (var enumConstant in enumConstants) {
enumConstant.metadata.accept(collector);
@@ -1329,10 +1331,10 @@
// TODO(scheglov) Replace with some kind of double-iterating list.
var declaration = node.parent!.parent as TopLevelVariableDeclaration;
- var collector = _OffsetsCollector();
- declaration.metadata.accept(collector);
- node.initializer?.accept(collector);
- sink.writeUint30List(collector.offsets);
+ _writeOffsets(
+ metadata: declaration.metadata,
+ constantInitializer: node.initializer,
+ );
}
void _writeTypeParameters(TypeParameterList? parameterList) {
@@ -1477,7 +1479,7 @@
});
}
-class _OffsetsApplier extends RecursiveAstVisitor<void> {
+class _OffsetsApplier extends _OffsetsAstVisitor {
final _SafeListIterator<int> _iterator;
_OffsetsApplier(this._iterator);
@@ -1511,165 +1513,103 @@
}
@override
- void visitAnnotation(Annotation node) {
- _applyToToken(node.atSign);
- super.visitAnnotation(node);
- }
-
- @override
- void visitArgumentList(ArgumentList node) {
- _applyToToken(node.leftParenthesis);
- _applyToToken(node.rightParenthesis);
- super.visitArgumentList(node);
- }
-
- @override
- void visitBooleanLiteral(BooleanLiteral node) {
- _applyToToken(node.literal);
- }
-
- @override
- void visitDoubleLiteral(DoubleLiteral node) {
- _applyToToken(node.literal);
- }
-
- @override
- void visitIndexExpression(IndexExpression node) {
- _applyToToken(node.leftBracket);
- _applyToToken(node.rightBracket);
- super.visitIndexExpression(node);
- }
-
- @override
- void visitInstanceCreationExpression(InstanceCreationExpression node) {
- _applyToToken(node.keyword);
- super.visitInstanceCreationExpression(node);
- }
-
- @override
- void visitIntegerLiteral(IntegerLiteral node) {
- _applyToToken(node.literal);
- }
-
- @override
- void visitParenthesizedExpression(ParenthesizedExpression node) {
- _applyToToken(node.leftParenthesis);
- _applyToToken(node.rightParenthesis);
- super.visitParenthesizedExpression(node);
- }
-
- @override
- void visitPrefixExpression(PrefixExpression node) {
- _applyToToken(node.operator);
- super.visitPrefixExpression(node);
- }
-
- @override
- void visitSimpleIdentifier(SimpleIdentifier node) {
- _applyToToken(node.token);
- }
-
- @override
- void visitSimpleStringLiteral(SimpleStringLiteral node) {
- _applyToToken(node.literal);
- }
-
- @override
- void visitThrowExpression(ThrowExpression node) {
- _applyToToken(node.throwKeyword);
- super.visitThrowExpression(node);
- }
-
- void _applyToToken(Token? token) {
- if (token != null) {
- var offset = _iterator.take();
- if (offset != null) {
- token.offset = offset;
- }
+ void handleToken(Token token) {
+ var offset = _iterator.take();
+ if (offset != null) {
+ token.offset = offset;
}
}
}
-class _OffsetsCollector extends RecursiveAstVisitor<void> {
- final List<int> offsets = [];
+abstract class _OffsetsAstVisitor extends RecursiveAstVisitor<void> {
+ void handleToken(Token token);
@override
void visitAnnotation(Annotation node) {
- _addToken(node.atSign);
+ _tokenOrNull(node.atSign);
super.visitAnnotation(node);
}
@override
void visitArgumentList(ArgumentList node) {
- _addToken(node.leftParenthesis);
- _addToken(node.rightParenthesis);
+ _tokenOrNull(node.leftParenthesis);
+ _tokenOrNull(node.rightParenthesis);
super.visitArgumentList(node);
}
@override
void visitBooleanLiteral(BooleanLiteral node) {
- _addToken(node.literal);
+ _tokenOrNull(node.literal);
}
@override
void visitDoubleLiteral(DoubleLiteral node) {
- _addToken(node.literal);
+ _tokenOrNull(node.literal);
}
@override
void visitIndexExpression(IndexExpression node) {
- _addToken(node.leftBracket);
- _addToken(node.rightBracket);
+ _tokenOrNull(node.leftBracket);
+ _tokenOrNull(node.rightBracket);
super.visitIndexExpression(node);
}
@override
void visitInstanceCreationExpression(InstanceCreationExpression node) {
- _addToken(node.keyword);
+ _tokenOrNull(node.keyword);
super.visitInstanceCreationExpression(node);
}
@override
void visitIntegerLiteral(IntegerLiteral node) {
- _addToken(node.literal);
+ _tokenOrNull(node.literal);
}
@override
void visitParenthesizedExpression(ParenthesizedExpression node) {
- _addToken(node.leftParenthesis);
- _addToken(node.rightParenthesis);
+ _tokenOrNull(node.leftParenthesis);
+ _tokenOrNull(node.rightParenthesis);
super.visitParenthesizedExpression(node);
}
@override
void visitPrefixExpression(PrefixExpression node) {
- _addToken(node.operator);
+ _tokenOrNull(node.operator);
super.visitPrefixExpression(node);
}
@override
void visitSimpleIdentifier(SimpleIdentifier node) {
- _addToken(node.token);
+ _tokenOrNull(node.token);
}
@override
void visitSimpleStringLiteral(SimpleStringLiteral node) {
- _addToken(node.literal);
+ _tokenOrNull(node.literal);
}
@override
void visitThrowExpression(ThrowExpression node) {
- _addToken(node.throwKeyword);
+ _tokenOrNull(node.throwKeyword);
super.visitThrowExpression(node);
}
- void _addToken(Token? token) {
+ void _tokenOrNull(Token? token) {
if (token != null) {
- offsets.add(token.offset);
+ handleToken(token);
}
}
}
+class _OffsetsCollector extends _OffsetsAstVisitor {
+ final List<int> offsets = [];
+
+ @override
+ void handleToken(Token token) {
+ offsets.add(token.offset);
+ }
+}
+
class _SafeListIterator<T> {
final List<T> _elements;
int _index = 0;
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index d3743df..cf757a8 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -235,7 +235,7 @@
}
test_analysisOptions_file_inPackage() async {
- newFile('/workspace/dart/test/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile('/workspace/dart/test', content: r'''
analyzer:
strong-mode:
implicit-casts: false
@@ -257,8 +257,7 @@
implicit-casts: false
''');
- newFile('/workspace/thid_party/dart/aaa/analysis_options.yaml',
- content: r'''
+ newAnalysisOptionsYamlFile('/workspace/third_party/dart/aaa', content: r'''
analyzer:
strong-mode:
implicit-casts: true
@@ -281,7 +280,7 @@
implicit-casts: false
''');
- newFile('/workspace/thid_party/dart_lang/aaa/analysis_options.yaml',
+ newAnalysisOptionsYamlFile('/workspace/third_party/dart_lang/aaa',
content: r'''
analyzer:
strong-mode:
@@ -1114,14 +1113,14 @@
test_reuse_incompatibleOptions_implicitCasts() async {
newFile('/workspace/dart/aaa/BUILD', content: '');
- newFile('/workspace/dart/aaa/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile('/workspace/dart/aaa', content: r'''
analyzer:
strong-mode:
implicit-casts: false
''');
newFile('/workspace/dart/bbb/BUILD', content: '');
- newFile('/workspace/dart/bbb/analysis_options.yaml', content: r'''
+ newAnalysisOptionsYamlFile('/workspace/dart/bbb', content: r'''
analyzer:
strong-mode:
implicit-casts: true
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
index bfbaa94..c6d8019 100644
--- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -297,8 +297,8 @@
}
void writeTestPackageAnalysisOptionsFile(AnalysisOptionsFileConfig config) {
- newFile(
- '$testPackageRootPath/analysis_options.yaml',
+ newAnalysisOptionsYamlFile(
+ testPackageRootPath,
content: config.toContent(),
);
}
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index 59a96d7..1a369ce 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -47,11 +47,13 @@
String expected, {
bool withCodeRanges = false,
bool withExportScope = false,
+ bool withNonSynthetic = false,
}) {
var writer = _ElementWriter(
selfUriStr: '${library.source.uri}',
withCodeRanges: withCodeRanges,
withExportScope: withExportScope,
+ withNonSynthetic: withNonSynthetic,
);
writer.writeLibraryElement(library);
@@ -115,14 +117,16 @@
final String? selfUriStr;
final bool withCodeRanges;
final bool withExportScope;
+ final bool withNonSynthetic;
final StringBuffer buffer = StringBuffer();
String indent = '';
_ElementWriter({
this.selfUriStr,
- this.withCodeRanges = false,
- this.withExportScope = false,
+ required this.withCodeRanges,
+ required this.withExportScope,
+ required this.withNonSynthetic,
});
void writeLibraryElement(LibraryElement e) {
@@ -168,6 +172,19 @@
});
}
+ void _assertNonSyntheticElementSelf(Element element) {
+ expect(element.isSynthetic, isFalse);
+ expect(element.nonSynthetic, same(element));
+ }
+
+ void _assertNonSyntheticElementSelfOr(Element element, Element ifSynthetic) {
+ if (element.isSynthetic) {
+ expect(element.nonSynthetic, same(ifSynthetic));
+ } else {
+ expect(element.nonSynthetic, same(element));
+ }
+ }
+
/// Assert that the [accessor] of the [property] is correctly linked to
/// the same enclosing element as the [property].
void _assertSyntheticAccessorEnclosing(
@@ -315,6 +332,8 @@
_writeElements('accessors', e.accessors, _writePropertyAccessorElement);
_writeElements('methods', e.methods, _writeMethodElement);
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeCodeRange(Element e) {
@@ -371,13 +390,15 @@
var redirectedConstructor = e.redirectedConstructor;
if (redirectedConstructor != null) {
- var printer = _createAstPrinter();
- printer.writeElement('redirectedConstructor', redirectedConstructor);
+ _writeElementReference('redirectedConstructor', redirectedConstructor);
}
+
+ _writeNonSyntheticElement(e);
});
expect(e.isAsynchronous, isFalse);
expect(e.isGenerator, isFalse);
+ _assertNonSyntheticElementSelfOr(e, e.enclosingElement);
}
void _writeDocumentation(Element element) {
@@ -390,6 +411,11 @@
}
}
+ void _writeElementReference(String name, Element element) {
+ var printer = _createAstPrinter();
+ printer.writeElement(name, element);
+ }
+
void _writeElements<T>(String name, List<T> elements, void Function(T) f) {
if (elements.isNotEmpty) {
_writelnWithIndent(name);
@@ -410,6 +436,8 @@
_writeMetadata(e);
_writeNamespaceCombinators(e.combinators);
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeExportScope(LibraryElement e) {
@@ -440,6 +468,8 @@
_writeElements('accessors', e.accessors, _writePropertyAccessorElement);
_writeElements('methods', e.methods, _writeMethodElement);
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeFunctionElement(FunctionElement e) {
@@ -457,6 +487,8 @@
_writeParameterElements(e.parameters);
_writeType(e.returnType, name: 'returnType');
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeIf(bool flag, String str) {
@@ -481,6 +513,8 @@
_writeMetadata(e);
_writeNamespaceCombinators(e.combinators);
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeIndentedLine(void Function() f) {
@@ -509,6 +543,7 @@
void _writeMethodElement(MethodElement e) {
_writeIndentedLine(() {
+ _writeIf(e.isSynthetic, 'synthetic ');
_writeIf(e.isStatic, 'static ');
_writeIf(e.isAbstract, 'abstract ');
_writeIf(e.isExternal, 'external ');
@@ -526,7 +561,15 @@
_writeTypeParameterElements(e.typeParameters);
_writeParameterElements(e.parameters);
_writeType(e.returnType, name: 'returnType');
+ _writeNonSyntheticElement(e);
});
+
+ if (e.isSynthetic && e.enclosingElement is EnumElementImpl) {
+ expect(e.name, 'toString');
+ expect(e.nonSynthetic, same(e.enclosingElement));
+ } else {
+ _assertNonSyntheticElementSelf(e);
+ }
}
void _writeName(Element e) {
@@ -559,6 +602,12 @@
);
}
+ void _writeNonSyntheticElement(Element e) {
+ if (withNonSynthetic) {
+ _writeElementReference('nonSynthetic', e.nonSynthetic);
+ }
+ }
+
void _writeParameterElement(ParameterElement e) {
_writeIndentedLine(() {
if (e.isRequiredPositional) {
@@ -588,6 +637,7 @@
_writeTypeParameterElements(e.typeParameters);
_writeParameterElements(e.parameters);
_writeConstantInitializer(e);
+ _writeNonSyntheticElement(e);
});
}
@@ -618,6 +668,10 @@
}
}
+ if (!e.isSynthetic) {
+ _assertNonSyntheticElementSelf(e);
+ }
+
_writeIndentedLine(() {
_writeIf(e.isSynthetic, 'synthetic ');
_writeIf(e.isStatic, 'static ');
@@ -642,6 +696,7 @@
expect(e.typeParameters, isEmpty);
_writeParameterElements(e.parameters);
_writeType(e.returnType, name: 'returnType');
+ _writeNonSyntheticElement(e);
});
}
@@ -656,6 +711,8 @@
if (e.setter != null) {
_assertSyntheticAccessorEnclosing(e, e.setter!);
}
+
+ _assertNonSyntheticElementSelf(e);
}
_writeIndentedLine(() {
@@ -678,6 +735,7 @@
_writeTypeInferenceError(e);
_writeType(e.type, name: 'type');
_writeConstantInitializer(e);
+ _writeNonSyntheticElement(e);
});
}
@@ -731,6 +789,8 @@
});
}
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeTypeInferenceError(Element e) {
@@ -773,6 +833,8 @@
_writeMetadata(e);
});
+
+ _assertNonSyntheticElementSelf(e);
}
void _writeTypeParameterElements(List<TypeParameterElement> elements) {
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index 3bd6477..a48ad06 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -4617,7 +4617,7 @@
synthetic static get ccc @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''',
withCodeRanges: true);
@@ -9569,7 +9569,7 @@
synthetic static get c @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @50
@@ -11632,7 +11632,7 @@
synthetic static get c @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static final vValue @23
@@ -11676,7 +11676,7 @@
synthetic static get a @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static final vToString @17
@@ -14272,7 +14272,7 @@
synthetic static get b @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
enum E @19
fields
@@ -14298,7 +14298,7 @@
synthetic static get e @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -14546,7 +14546,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -14587,7 +14587,7 @@
synthetic static get b @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -14649,7 +14649,7 @@
synthetic static get b @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static const annotation @91
@@ -14690,7 +14690,7 @@
synthetic static get v2 @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -14717,7 +14717,7 @@
synthetic static get v1 @-1
returnType: E1
methods
- toString @-1
+ synthetic toString @-1
returnType: String
enum E2 @20
fields
@@ -14735,7 +14735,7 @@
synthetic static get v2 @-1
returnType: E2
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -14827,7 +14827,7 @@
synthetic static get c @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -22358,7 +22358,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static const a @6
@@ -22457,7 +22457,7 @@
synthetic static get c @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -22492,7 +22492,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static const a @6
@@ -24013,7 +24013,7 @@
synthetic static get e3 @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static const foo @6
@@ -24946,7 +24946,7 @@
synthetic static get c @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
''');
}
@@ -26296,6 +26296,408 @@
''');
}
+ test_nonSynthetic_class_field() async {
+ var library = await checkLibrary(r'''
+class C {
+ int foo = 0;
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ classes
+ class C @6
+ fields
+ foo @16
+ type: int
+ nonSynthetic: self::@class::C::@field::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@class::C
+ accessors
+ synthetic get foo @16
+ returnType: int
+ nonSynthetic: self::@class::C::@field::foo
+ synthetic set foo @16
+ parameters
+ requiredPositional _foo @16
+ type: int
+ nonSynthetic: self::@class::C::@field::foo
+ returnType: void
+ nonSynthetic: self::@class::C::@field::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_class_getter() async {
+ var library = await checkLibrary(r'''
+class C {
+ int get foo => 0;
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ classes
+ class C @6
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@class::C::@getter::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@class::C
+ accessors
+ get foo @20
+ returnType: int
+ nonSynthetic: self::@class::C::@getter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_class_setter() async {
+ var library = await checkLibrary(r'''
+class C {
+ set foo(int value) {}
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ classes
+ class C @6
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@class::C::@setter::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@class::C
+ accessors
+ set foo @16
+ parameters
+ requiredPositional value @24
+ type: int
+ nonSynthetic: value@24
+ returnType: void
+ nonSynthetic: self::@class::C::@setter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_enum() async {
+ var library = await checkLibrary(r'''
+enum E {
+ a, b
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ enums
+ enum E @5
+ fields
+ synthetic final index @-1
+ type: int
+ nonSynthetic: self::@enum::E
+ synthetic static const values @-1
+ type: List<E>
+ nonSynthetic: self::@enum::E
+ static const a @11
+ type: E
+ nonSynthetic: self::@enum::E::@constant::a
+ static const b @14
+ type: E
+ nonSynthetic: self::@enum::E::@constant::b
+ accessors
+ synthetic get index @-1
+ returnType: int
+ nonSynthetic: self::@enum::E
+ synthetic static get values @-1
+ returnType: List<E>
+ nonSynthetic: self::@enum::E
+ synthetic static get a @-1
+ returnType: E
+ nonSynthetic: self::@enum::E::@constant::a
+ synthetic static get b @-1
+ returnType: E
+ nonSynthetic: self::@enum::E::@constant::b
+ methods
+ synthetic toString @-1
+ returnType: String
+ nonSynthetic: self::@enum::E
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_extension_getter() async {
+ var library = await checkLibrary(r'''
+extension E on int {
+ int get foo => 0;
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ extensions
+ E @10
+ extendedType: int
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@extension::E::@getter::foo
+ accessors
+ get foo @31
+ returnType: int
+ nonSynthetic: self::@extension::E::@getter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_extension_setter() async {
+ var library = await checkLibrary(r'''
+extension E on int {
+ set foo(int value) {}
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ extensions
+ E @10
+ extendedType: int
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@extension::E::@setter::foo
+ accessors
+ set foo @27
+ parameters
+ requiredPositional value @35
+ type: int
+ nonSynthetic: value@35
+ returnType: void
+ nonSynthetic: self::@extension::E::@setter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_mixin_field() async {
+ var library = await checkLibrary(r'''
+mixin M {
+ int foo = 0;
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ mixins
+ mixin M @6
+ superclassConstraints
+ Object
+ fields
+ foo @16
+ type: int
+ nonSynthetic: self::@mixin::M::@field::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@mixin::M
+ accessors
+ synthetic get foo @16
+ returnType: int
+ nonSynthetic: self::@mixin::M::@field::foo
+ synthetic set foo @16
+ parameters
+ requiredPositional _foo @16
+ type: int
+ nonSynthetic: self::@mixin::M::@field::foo
+ returnType: void
+ nonSynthetic: self::@mixin::M::@field::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_mixin_getter() async {
+ var library = await checkLibrary(r'''
+mixin M {
+ int get foo => 0;
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ mixins
+ mixin M @6
+ superclassConstraints
+ Object
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@mixin::M::@getter::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@mixin::M
+ accessors
+ get foo @20
+ returnType: int
+ nonSynthetic: self::@mixin::M::@getter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_mixin_setter() async {
+ var library = await checkLibrary(r'''
+mixin M {
+ set foo(int value) {}
+}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ mixins
+ mixin M @6
+ superclassConstraints
+ Object
+ fields
+ synthetic foo @-1
+ type: int
+ nonSynthetic: self::@mixin::M::@setter::foo
+ constructors
+ synthetic @-1
+ nonSynthetic: self::@mixin::M
+ accessors
+ set foo @16
+ parameters
+ requiredPositional value @24
+ type: int
+ nonSynthetic: value@24
+ returnType: void
+ nonSynthetic: self::@mixin::M::@setter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_unit_getter() async {
+ var library = await checkLibrary(r'''
+int get foo => 0;
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ topLevelVariables
+ synthetic static foo @-1
+ type: int
+ nonSynthetic: self::@getter::foo
+ accessors
+ get foo @8
+ returnType: int
+ nonSynthetic: self::@getter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_unit_getterSetter() async {
+ var library = await checkLibrary(r'''
+int get foo => 0;
+set foo(int value) {}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ topLevelVariables
+ synthetic static foo @-1
+ type: int
+ nonSynthetic: self::@getter::foo
+ accessors
+ get foo @8
+ returnType: int
+ nonSynthetic: self::@getter::foo
+ set foo @22
+ parameters
+ requiredPositional value @30
+ type: int
+ nonSynthetic: value@30
+ returnType: void
+ nonSynthetic: self::@setter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_unit_setter() async {
+ var library = await checkLibrary(r'''
+set foo(int value) {}
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ topLevelVariables
+ synthetic static foo @-1
+ type: int
+ nonSynthetic: self::@setter::foo
+ accessors
+ set foo @4
+ parameters
+ requiredPositional value @12
+ type: int
+ nonSynthetic: value@12
+ returnType: void
+ nonSynthetic: self::@setter::foo
+''',
+ withNonSynthetic: true);
+ }
+
+ test_nonSynthetic_unit_variable() async {
+ var library = await checkLibrary(r'''
+int foo = 0;
+''');
+ checkElementText(
+ library,
+ r'''
+library
+ definingUnit
+ topLevelVariables
+ static foo @4
+ type: int
+ nonSynthetic: self::@variable::foo
+ accessors
+ synthetic static get foo @4
+ returnType: int
+ nonSynthetic: self::@variable::foo
+ synthetic static set foo @4
+ parameters
+ requiredPositional _foo @4
+ type: int
+ nonSynthetic: self::@variable::foo
+ returnType: void
+ nonSynthetic: self::@variable::foo
+''',
+ withNonSynthetic: true);
+ }
+
test_old_typedef_notSimplyBounded_self() async {
var library = await checkLibrary('''
typedef void F<T extends F>();
@@ -28325,7 +28727,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @32
@@ -28431,7 +28833,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @43
@@ -28471,7 +28873,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @58
@@ -28548,7 +28950,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @43
@@ -28623,7 +29025,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
typeAliases
functionTypeAliasBased F @43
@@ -28766,7 +29168,7 @@
synthetic static get v @-1
returnType: E
methods
- toString @-1
+ synthetic toString @-1
returnType: String
topLevelVariables
static e @15
diff --git a/pkg/dev_compiler/lib/src/compiler/shared_command.dart b/pkg/dev_compiler/lib/src/compiler/shared_command.dart
index cf67f91..c0a9c24 100644
--- a/pkg/dev_compiler/lib/src/compiler/shared_command.dart
+++ b/pkg/dev_compiler/lib/src/compiler/shared_command.dart
@@ -92,6 +92,13 @@
/// the browser.
final bool emitDebugMetadata;
+ /// Whether to emit the debug symbols
+ ///
+ /// Debugger uses this information about to construct mapping between
+ /// dart and js objecys that otherwise requires expensive communication with
+ /// the browser.
+ final bool emitDebugSymbols;
+
final Map<String, String> summaryModules;
final List<ModuleFormat> moduleFormats;
@@ -123,6 +130,7 @@
this.enableAsserts = true,
this.replCompile = false,
this.emitDebugMetadata = false,
+ this.emitDebugSymbols = false,
this.emitFullCompiledKernel = false,
this.summaryModules = const {},
this.moduleFormats = const [],
@@ -140,6 +148,7 @@
enableAsserts: args['enable-asserts'] as bool,
replCompile: args['repl-compile'] as bool,
emitDebugMetadata: args['experimental-emit-debug-metadata'] as bool,
+ emitDebugSymbols: args['emit-debug-symbols'] as bool,
emitFullCompiledKernel:
args['experimental-output-compiled-kernel'] as bool,
summaryModules:
@@ -195,6 +204,11 @@
'Output a metadata file for debug tools next to the .js output.',
defaultsTo: false,
hide: true)
+ ..addFlag('emit-debug-symbols',
+ help: 'Experimental option for compiler development.\n'
+ 'Output a symbols file for debug tools next to the .js output.',
+ defaultsTo: false,
+ hide: true)
..addFlag('experimental-output-compiled-kernel',
help: 'Experimental option for compiler development.\n'
'Output a full kernel file for currently compiled module next to '
diff --git a/pkg/dev_compiler/lib/src/kernel/command.dart b/pkg/dev_compiler/lib/src/kernel/command.dart
index 8ddd4dc..2bac27d 100644
--- a/pkg/dev_compiler/lib/src/kernel/command.dart
+++ b/pkg/dev_compiler/lib/src/kernel/command.dart
@@ -11,6 +11,7 @@
import 'package:args/args.dart';
import 'package:build_integration/file_system/multi_root.dart';
import 'package:cli_util/cli_util.dart' show getSdkPath;
+import 'package:dev_compiler/src/kernel/module_symbols.dart';
import 'package:front_end/src/api_unstable/ddc.dart' as fe;
import 'package:kernel/binary/ast_to_binary.dart' as kernel show BinaryPrinter;
import 'package:kernel/class_hierarchy.dart';
@@ -443,11 +444,13 @@
buildSourceMap: options.sourceMap,
inlineSourceMap: options.inlineSourceMap,
emitDebugMetadata: options.emitDebugMetadata,
+ emitDebugSymbols: options.emitDebugSymbols,
jsUrl: p.toUri(output).toString(),
mapUrl: mapUrl,
fullDillUri: fullDillUri,
customScheme: options.multiRootScheme,
multiRootOutputPath: multiRootOutputPath,
+ compiler: compiler,
component: compiledLibraries);
outFiles.add(file.writeAsString(jsCode.code));
@@ -459,6 +462,11 @@
outFiles.add(
File('$output.metadata').writeAsString(json.encode(jsCode.metadata)));
}
+
+ if (jsCode.symbols != null) {
+ outFiles.add(
+ File('$output.symbols').writeAsString(json.encode(jsCode.symbols)));
+ }
}
if (recordUsedInputs) {
@@ -635,7 +643,13 @@
/// see: https://goto.google.com/dart-web-debugger-metadata
final ModuleMetadata metadata;
- JSCode(this.code, this.sourceMap, {this.metadata});
+ /// Module debug symbols.
+ ///
+ /// The [symbols] is a contract between compiler and the debugger,
+ /// helping the debugger map between dart and JS objects.
+ final ModuleSymbols symbols;
+
+ JSCode(this.code, this.sourceMap, {this.symbols, this.metadata});
}
/// Converts [moduleTree] to [JSCode], using [format].
@@ -646,12 +660,14 @@
{bool buildSourceMap = false,
bool inlineSourceMap = false,
bool emitDebugMetadata = false,
+ bool emitDebugSymbols = false,
String jsUrl,
String mapUrl,
String fullDillUri,
String sourceMapBase,
String customScheme,
String multiRootOutputPath,
+ ProgramCompiler compiler,
Component component}) {
var opts = js_ast.JavaScriptPrintingOptions(
allowKeywordsInProperties: true, allowSingleLineIfStatements: true);
@@ -666,8 +682,8 @@
}
var tree = transformModuleFormat(format, moduleTree);
- tree.accept(
- js_ast.Printer(opts, printer, localNamer: js_ast.TemporaryNamer(tree)));
+ var namer = js_ast.TemporaryNamer(tree);
+ tree.accept(js_ast.Printer(opts, printer, localNamer: namer));
Map builtMap;
if (buildSourceMap && sourceMap != null) {
@@ -710,7 +726,15 @@
? _emitMetadata(moduleTree, component, mapUrl, jsUrl, fullDillUri)
: null;
- return JSCode(text, builtMap, metadata: debugMetadata);
+ var debugSymbols =
+ emitDebugSymbols ? _emitSymbols(compiler, component) : null;
+
+ return JSCode(text, builtMap, symbols: debugSymbols, metadata: debugMetadata);
+}
+
+ModuleSymbols _emitSymbols(ProgramCompiler compiler, Component component) {
+ // TODO(annagrin): collect module symbols.
+ return ModuleSymbols();
}
ModuleMetadata _emitMetadata(js_ast.Program program, Component component,
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_suite.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_suite.dart
index 7f79898..7300029 100644
--- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_suite.dart
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_e2e_suite.dart
@@ -152,8 +152,10 @@
inlineSourceMap: true,
buildSourceMap: true,
emitDebugMetadata: true,
+ emitDebugSymbols: true,
jsUrl: '$output',
mapUrl: '$output.map',
+ compiler: kernel2jsCompiler,
component: component,
);
metadata = code.metadata;
diff --git a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart
index 8cda5d8..7141bb4 100644
--- a/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart
+++ b/pkg/dev_compiler/test/expression_compiler/expression_compiler_worker_test.dart
@@ -769,6 +769,7 @@
config.testModule3.jsPath.toFilePath(),
'--source-map',
'--experimental-emit-debug-metadata',
+ '--emit-debug-symbols',
'--experimental-output-compiled-kernel',
'--dart-sdk-summary',
config.sdkSummaryPath.path,
@@ -797,6 +798,7 @@
config.testModule2.jsPath.toFilePath(),
'--source-map',
'--experimental-emit-debug-metadata',
+ '--emit-debug-symbols',
'--experimental-output-compiled-kernel',
'--dart-sdk-summary',
config.sdkSummaryPath.path,
@@ -827,6 +829,7 @@
config.testModule.jsPath.toFilePath(),
'--source-map',
'--experimental-emit-debug-metadata',
+ '--emit-debug-symbols',
'--experimental-output-compiled-kernel',
'--dart-sdk-summary',
config.sdkSummaryPath.path,
@@ -859,6 +862,7 @@
config.mainModule.jsPath.toFilePath(),
'--source-map',
'--experimental-emit-debug-metadata',
+ '--emit-debug-symbols',
'--experimental-output-compiled-kernel',
'--dart-sdk-summary',
config.sdkSummaryPath.path,
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
index 769d43f..adcb97b 100644
--- a/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -66,15 +66,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method Extension|get#asyncStarMethod(lowered final core::int* #this) → () →* dynamic
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 c7560fa..4e5d4b5 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
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -100,4 +100,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:31 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:45 -> IntConstant(42)
Evaluated: VariableGet @ org-dartlang-testcase:///deferred_explicit_access.dart:12:45 -> IntConstant(42)
-Extra constant evaluation: evaluated: 93, effectively constant: 3
+Extra constant evaluation: evaluated: 92, effectively constant: 3
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 86a95a1..299f5f6 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
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect b/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
index 2a42c83..295921a 100644
--- a/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -57,7 +57,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -117,16 +117,16 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::add}("foo"))
+ if(:controller.{asy::_AsyncStarStreamController::add}("foo"){(core::String*) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::asyncStarString2()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::asyncStarString2()){(asy::Stream<core::String*>) → core::bool})
return null;
else
[yield] null;
[yield] let dynamic #t1 = asy::_awaitHelper(self::asyncString(), :async_op_then, :async_op_error, :async_op) in null;
- if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::String*>(:result)))
+ if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::String*>(:result)){(core::String*) → core::bool})
return null;
else
[yield] null;
@@ -134,15 +134,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::String*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::String*>};
return :controller_stream;
}
static method asyncStarString2() → asy::Stream<core::String*>* /* originally async* */ {
@@ -159,7 +159,7 @@
try {
#L4:
{
- if(:controller.{asy::_AsyncStarStreamController::add}("bar"))
+ if(:controller.{asy::_AsyncStarStreamController::add}("bar"){(core::String*) → core::bool})
return null;
else
[yield] null;
@@ -167,15 +167,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::String*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::String*>};
return :controller_stream;
}
static method main() → dynamic /* originally async */ {
@@ -202,7 +202,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 fc34d1a..c05a8b5 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
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 8b7a059..45a2ff8 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
@@ -70,7 +70,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/await.dart.weak.transformed.expect b/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
index 04a6af0..6107389 100644
--- a/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 42aed06..cb5a62a 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
@@ -108,7 +108,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -159,7 +159,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -211,7 +211,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -263,7 +263,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -287,12 +287,12 @@
{
core::bool* a = false;
core::bool* b = true;
- :async_temporary_0 = (a || b).==(true);
+ :async_temporary_0 = (a || b) =={core::Object::==}{(core::Object) → core::bool} true;
if(:async_temporary_0)
;
else {
[yield] let dynamic #t22 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
- :async_temporary_0 = (:result as{TypeError,ForDynamic} core::bool*).==(true);
+ :async_temporary_0 = :result as{TypeError,ForDynamic} core::bool* =={core::Object::==}{(core::Object) → core::bool} true;
}
core::bool* c = :async_temporary_0;
self::expect(true, c);
@@ -335,7 +335,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -354,9 +354,9 @@
#L6:
{
{
- core::Iterator<core::Function*>* :sync-for-iterator = core::_GrowableList::_literal2<core::Function*>(#C1, #C2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::Function* #t26 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::Function*>* :sync-for-iterator = core::_GrowableList::_literal2<core::Function*>(#C1, #C2).{core::Iterable::iterator}{core::Iterator<core::Function*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::Function* #t26 = :sync-for-iterator.{core::Iterator::current}{core::Function*};
{
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t26 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
assert {
@@ -408,7 +408,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -433,9 +433,9 @@
#L7:
{
{
- core::Iterator<core::Function*>* :sync-for-iterator = core::_GrowableList::_literal2<core::Function*>(#C1, #C2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::Function* #t33 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::Function*>* :sync-for-iterator = core::_GrowableList::_literal2<core::Function*>(#C1, #C2).{core::Iterable::iterator}{core::Iterator<core::Function*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::Function* #t33 = :sync-for-iterator.{core::Iterator::current}{core::Function*};
{
final <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>* func = #t33 as{TypeError} <T extends core::Object* = dynamic>(T*) →* FutureOr<T*>*;
core::int* c = 0;
@@ -570,7 +570,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
})(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
@@ -598,7 +598,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
})(){() →* asy::Future<dynamic>*}, :async_op_then, :async_op_error, :async_op) in null;
@@ -618,7 +618,7 @@
#L15:
{
[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)))
+ if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::int*>(:result)){(core::int*) → core::bool})
return null;
else
[yield] null;
@@ -626,15 +626,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::int*>};
return :controller_stream;
}
:async_temporary_0 = core::_GrowableList::_literal1<dynamic>(42);
@@ -655,7 +655,7 @@
#L16:
{
[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)))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(_in::unsafeCast<asy::Stream<core::int*>*>(:result)){(asy::Stream<core::int*>) → core::bool})
return null;
else
[yield] null;
@@ -663,15 +663,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::int*>};
return :controller_stream;
}
:async_temporary_1 = core::_GrowableList::_literal1<dynamic>(42);
@@ -689,7 +689,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -716,7 +716,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -736,7 +736,7 @@
try {
#L18:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(42))
+ if(:controller.{asy::_AsyncStarStreamController::add}(42){(core::int*) → core::bool})
return null;
else
[yield] null;
@@ -744,15 +744,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::int*>};
return :controller_stream;
}
static method main() → dynamic /* originally async */ {
@@ -793,7 +793,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 744e8a3..0372529 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
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -64,7 +64,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -103,7 +103,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 1121533..3d71e92 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 36aee3f..7178e45 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
@@ -63,7 +63,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -92,7 +92,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -128,7 +128,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -156,7 +156,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
index fd3b4a6..0a550d4 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 da68741..f427951 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
@@ -16,16 +16,16 @@
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t1.{core::List::add}(i){(core::int*) →* void};
}
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#t1.{core::List::add}(i){(core::int*) →* void};
}
@@ -46,16 +46,16 @@
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t2.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#t2.{core::Set::add}(i){(core::int*) →* core::bool*};
}
@@ -76,16 +76,16 @@
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(5, 6, 7).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
}
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(8, 9, 10).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
if(self::oracle() as{TypeError,ForDynamic} core::bool*)
#t3.{core::Map::[]=}(i, i){(core::int*, core::int*) →* void};
}
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 d0aa370..36c13cd 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
@@ -517,9 +517,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t12.{core::Map::[]=}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -539,9 +539,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, dynamic>* #t17 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, dynamic>* #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
#t16.{core::Map::[]=}(#t17.{core::MapEntry::key}{core::String*}, #t17.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
}
}
@@ -561,9 +561,9 @@
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*) {
- 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t20.{core::Map::[]=}(#t21.{core::MapEntry::key}{core::String*}, #t21.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -586,9 +586,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t24.{core::Map::[]=}(#t25.{core::MapEntry::key}{core::String*}, #t25.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -611,9 +611,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, dynamic>* #t29 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, dynamic>* #t29 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
#t28.{core::Map::[]=}(#t29.{core::MapEntry::key}{core::String*}, #t29.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
}
}
@@ -636,9 +636,9 @@
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*) {
- 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t32.{core::Map::[]=}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -692,9 +692,9 @@
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*) {
- 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t42.{core::Map::[]=}(#t43.{core::MapEntry::key}{core::String*}, #t43.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -714,9 +714,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t46.{core::Map::[]=}(#t47.{core::MapEntry::key}{core::String*}, #t47.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -754,9 +754,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t54.{core::Map::[]=}(#t55.{core::MapEntry::key}{core::String*}, #t55.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -776,9 +776,9 @@
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*) {
- 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t59 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t58.{core::Map::[]=}(#t59.{core::MapEntry::key}{core::String*}, #t59.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -801,9 +801,9 @@
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*) {
- 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t62.{core::Map::[]=}(#t63.{core::MapEntry::key}{core::String*}, #t63.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -874,16 +874,16 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t74 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t74 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t73.{core::Map::[]=}(#t74.{core::MapEntry::key}{core::String*}, #t74.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
else {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t75 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t75 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t73.{core::Map::[]=}(#t75.{core::MapEntry::key}{core::String*}, #t75.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
@@ -933,9 +933,9 @@
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*) {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t82 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t82 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t81.{core::Map::[]=}(#t82.{core::MapEntry::key}{core::String*}, #t82.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
@@ -963,9 +963,9 @@
core::List<core::int*>* list91 = block {
final core::List<core::int*>* #t86 = core::_GrowableList::•<core::int*>(0);
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
- 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 #t87 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t87 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t88 = #t87 as{TypeError} core::int*;
#t86.{core::List::add}(#t88){(core::int*) →* void};
@@ -976,9 +976,9 @@
core::Set<core::int*>* set91 = block {
final core::Set<core::int*>* #t89 = new col::_CompactLinkedHashSet::•<core::int*>();
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
- 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 #t90 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t90 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t91 = #t90 as{TypeError} core::int*;
#t89.{core::Set::add}(#t91){(core::int*) →* core::bool*};
@@ -990,9 +990,9 @@
core::Map<core::String*, core::int*>* map91 = block {
final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t93 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t93 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
{
final core::String* #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
final core::int* #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
@@ -1062,9 +1062,9 @@
if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": let final Never* #t110 = 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}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t111 = :sync-for-iterator.{core::Iterator::current};
+ ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t111 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t109.{core::Map::[]=}(#t111.{core::MapEntry::key}{core::String*}, #t111.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -1335,9 +1335,9 @@
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){(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<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t157 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t157 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t156.{core::Map::[]=}(#t157.{core::MapEntry::key}{core::String*}, #t157.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -1357,9 +1357,9 @@
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){(core::num*) →* core::int*}) {
- core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, dynamic>* #t161 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, dynamic>* #t161 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
#t160.{core::Map::[]=}(#t161.{core::MapEntry::key}{core::String*}, #t161.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
}
}
@@ -1379,9 +1379,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t165 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t164.{core::Map::[]=}(#t165.{core::MapEntry::key}{core::String*}, #t165.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1404,9 +1404,9 @@
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){(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<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t169 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t169 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t168.{core::Map::[]=}(#t169.{core::MapEntry::key}{core::String*}, #t169.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -1429,9 +1429,9 @@
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){(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<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, dynamic>* #t173 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, dynamic>* #t173 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
#t172.{core::Map::[]=}(#t173.{core::MapEntry::key}{core::String*}, #t173.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
}
}
@@ -1454,9 +1454,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t177 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t176.{core::Map::[]=}(#t177.{core::MapEntry::key}{core::String*}, #t177.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1476,9 +1476,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t181 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t180.{core::Map::[]=}(#t181.{core::MapEntry::key}{core::String*}, #t181.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1518,9 +1518,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t189 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t188.{core::Map::[]=}(#t189.{core::MapEntry::key}{core::String*}, #t189.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1540,9 +1540,9 @@
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){(core::num*) →* core::int*}) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t193 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t193 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t192.{core::Map::[]=}(#t193.{core::MapEntry::key}{core::String*}, #t193.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -1590,9 +1590,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t203 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t202.{core::Map::[]=}(#t203.{core::MapEntry::key}{core::String*}, #t203.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1615,9 +1615,9 @@
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){(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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{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};
+ 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<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t207 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t206.{core::Map::[]=}(#t207.{core::MapEntry::key}{core::String*}, #t207.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -1707,16 +1707,16 @@
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){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t220 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t220 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t219.{core::Map::[]=}(#t220.{core::MapEntry::key}{core::String*}, #t220.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
else {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t221 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t221 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t219.{core::Map::[]=}(#t221.{core::MapEntry::key}{core::String*}, #t221.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
@@ -1743,16 +1743,16 @@
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){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t225 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t225 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t224.{core::Map::[]=}(#t225.{core::MapEntry::key}{dynamic}, #t225.{core::MapEntry::value}{dynamic}){(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<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t226 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t226 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t224.{core::Map::[]=}(#t226.{core::MapEntry::key}{dynamic}, #t226.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -1779,9 +1779,9 @@
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){(core::num*) →* core::int*})
if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
- core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::num*>* #t230 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::num*>* #t230 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
#t229.{core::Map::[]=}(#t230.{core::MapEntry::key}{core::String*}, #t230.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
}
}
@@ -1809,9 +1809,9 @@
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){(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};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t235 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t236 = #t235 as{TypeError} core::int*;
#t234.{core::List::add}(#t236){(core::int*) →* void};
@@ -1822,9 +1822,9 @@
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){(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};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t238 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t239 = #t238 as{TypeError} core::int*;
#t237.{core::Set::add}(#t239){(core::int*) →* core::bool*};
@@ -1836,9 +1836,9 @@
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){(core::num*) →* core::int*}) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t241 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t241 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
{
final core::String* #t242 = #t241.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
final core::int* #t243 = #t241.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
@@ -1866,9 +1866,9 @@
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t250 = core::_GrowableList::•<core::int*>(0);
{
- 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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t250.{core::List::add}(i){(core::int*) →* void};
}
}
@@ -1876,9 +1876,9 @@
core::Set<core::int*>* set110 = block {
final core::Set<core::int*>* #t251 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- 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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t251.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
@@ -1887,9 +1887,9 @@
core::Map<core::String*, core::int*>* map110 = block {
final core::Map<core::String*, core::int*>* #t252 = <core::String*, core::int*>{};
{
- 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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t252.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
}
@@ -1898,9 +1898,9 @@
core::List<core::int*>* list120 = block {
final core::List<core::int*>* #t253 = core::_GrowableList::•<core::int*>(0);
{
- 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};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t253.{core::List::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
}
}
@@ -1908,9 +1908,9 @@
core::Set<core::int*>* set120 = block {
final core::Set<core::int*>* #t254 = new col::_CompactLinkedHashSet::•<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}(); ) {
- dynamic i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t254.{core::Set::add}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
}
}
@@ -1919,9 +1919,9 @@
core::Map<core::String*, core::int*>* map120 = block {
final core::Map<core::String*, core::int*>* #t255 = <core::String*, 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}(); ) {
- dynamic i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t255.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
}
}
@@ -2008,9 +2008,9 @@
<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'.
<int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
- ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::int*>* #t274 = :sync-for-iterator.{core::Iterator::current};
+ ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::int*>* #t274 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
#t271.{core::Map::[]=}(#t274.{core::MapEntry::key}{core::int*}, #t274.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
}
}
@@ -2144,9 +2144,9 @@
block {
final core::List<core::int*>* #t291 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t292 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t292 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
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];
@@ -2159,9 +2159,9 @@
block {
final core::Set<core::int*>* #t293 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t294 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t294 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
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};
@@ -2175,9 +2175,9 @@
block {
final core::Map<core::String*, core::int*>* #t295 = <core::String*, core::int*>{};
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t296 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t296 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
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};
@@ -2194,9 +2194,9 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t298 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Iterable' is from 'dart:core'.
var list10 = [for (var i in \"not iterable\") i];
- ^" 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};
+ ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t297.{core::List::add}(i){(dynamic) →* void};
}
}
@@ -2207,9 +2207,9 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t300 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:235:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Iterable' is from 'dart:core'.
var set10 = {for (var i in \"not iterable\") i, null};
- ^" 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};
+ ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t299.{core::Set::add}(i){(dynamic) →* core::bool*};
}
}
@@ -2221,9 +2221,9 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t302 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- '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>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic i = :sync-for-iterator.{core::Iterator::current};
+ ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t301.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
}
}
@@ -2236,9 +2236,9 @@
var list20 = [for (int i in [\"not\", \"int\"]) i];
^" 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*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t303.{core::List::add}(i){(core::int*) →* void};
}
}
@@ -2250,9 +2250,9 @@
var set20 = {for (int i in [\"not\", \"int\"]) i, null};
^" 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*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t306.{core::Set::add}(i){(core::int*) →* core::bool*};
}
}
@@ -2265,9 +2265,9 @@
var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
^" 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*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
#t309.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
}
@@ -2284,17 +2284,17 @@
#L2:
while (true) {
dynamic #t314 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t315 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t315 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic i = :for-iterator.{asy::_StreamIterator::current};
+ dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t312.{core::List::add}(i){(dynamic) →* void};
}
else
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t316 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t316 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2310,17 +2310,17 @@
#L3:
while (true) {
dynamic #t319 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t320 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t320 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic i = :for-iterator.{asy::_StreamIterator::current};
+ dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t317.{core::Set::add}(i){(dynamic) →* core::bool*};
}
else
break #L3;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t321 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t321 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2338,17 +2338,17 @@
#L4:
while (true) {
dynamic #t324 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t325 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t325 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic i = :for-iterator.{asy::_StreamIterator::current};
+ dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
#t322.{core::Map::[]=}("bar", i){(core::String*, dynamic) →* void};
}
else
break #L4;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t326 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t326 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2367,17 +2367,17 @@
#L5:
while (true) {
dynamic #t330 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t331 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t331 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::int* i = :for-iterator.{asy::_StreamIterator::current};
+ core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t327.{core::List::add}(i){(core::int*) →* void};
}
else
break #L5;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t332 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
+ [yield] let dynamic #t332 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2394,17 +2394,17 @@
#L6:
while (true) {
dynamic #t336 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t337 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t337 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::int* i = :for-iterator.{asy::_StreamIterator::current};
+ core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t333.{core::Set::add}(i){(core::int*) →* core::bool*};
}
else
break #L6;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t338 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
+ [yield] let dynamic #t338 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2423,17 +2423,17 @@
#L7:
while (true) {
dynamic #t342 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t343 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t343 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::int* i = :for-iterator.{asy::_StreamIterator::current};
+ core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
#t339.{core::Map::[]=}("bar", i){(core::String*, core::int*) →* void};
}
else
break #L7;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t344 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
+ [yield] let dynamic #t344 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -2489,7 +2489,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
index ab1141b..9b308ef 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
@@ -41,9 +41,9 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
await for () {}
@@ -54,8 +54,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -68,7 +68,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
index 1e157c0..32ce646 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
@@ -12,9 +12,9 @@
static method main() → dynamic {
{
- 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};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
core::print(i);
}
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 add51d0..c0bd1b7 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
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -154,7 +154,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -223,7 +223,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect b/pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect
index ae6b6e7..9107472 100644
--- a/pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect
@@ -4,9 +4,9 @@
static method main(core::List<core::String*>* arguments) → dynamic {
{
- core::Iterator<core::String*>* :sync-for-iterator = arguments.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String* arguments = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String*>* :sync-for-iterator = arguments.{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String* arguments = :sync-for-iterator.{core::Iterator::current}{core::String*};
{
core::print(arguments);
}
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 2e09441..7825f8f 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
@@ -98,90 +98,90 @@
core::String* local;
dynamic untypedLocal;
{
- core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::•<core::String*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::String* #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::•<core::String*>(0).{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::String* #t1 = :sync-for-iterator.{core::Iterator::current}{core::String*};
{
local = #t1;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
untypedLocal = #t2;
}
}
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t3 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
this.{self::C::instanceField} = #t3;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
this.{self::C::untypedInstanceField} = #t4;
}
}
}
{
- core::Iterator<core::double*>* :sync-for-iterator = core::_GrowableList::•<core::double*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::double* #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::double*>* :sync-for-iterator = core::_GrowableList::•<core::double*>(0).{core::Iterable::iterator}{core::Iterator<core::double*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::double* #t5 = :sync-for-iterator.{core::Iterator::current}{core::double*};
{
self::C::staticField = #t5;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::C::untypedStaticField = #t6;
}
}
}
{
- core::Iterator<core::bool*>* :sync-for-iterator = core::_GrowableList::•<core::bool*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::bool* #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::bool*>* :sync-for-iterator = core::_GrowableList::•<core::bool*>(0).{core::Iterable::iterator}{core::Iterator<core::bool*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::bool* #t7 = :sync-for-iterator.{core::Iterator::current}{core::bool*};
{
self::topLevelField = #t7;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::untypedTopLevelField = #t8;
}
}
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t9 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t9 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
super.{self::Super::superInstanceField} = #t9;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
super.{self::Super::untypedSuperInstanceField} = #t10;
}
@@ -189,27 +189,27 @@
}
self::C* c = new self::C::•();
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t11 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
c.{self::C::instanceField} = #t11;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
c.{self::Super::untypedSuperInstanceField} = #t12;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t13 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:37:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/for_in_without_declaration.dart'.
@@ -220,9 +220,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t14 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:38:10: Error: The getter 'unresolved' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/general/for_in_without_declaration.dart'.
@@ -233,9 +233,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{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'.
- 'C' is from 'pkg/front_end/testcases/general/for_in_without_declaration.dart'.
@@ -250,9 +250,9 @@
for (main() in []) {}
^^^^";
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (main() in []) {}
@@ -267,9 +267,9 @@
for (var x, y in <int>[]) {
^^^";
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::int* #t17 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::int* #t17 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
for (var x, y in <int>[]) {
@@ -283,9 +283,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/general/for_in_without_declaration.dart:46:10: Error: Can't assign to the const variable 'constant'.
for (constant in []) {}
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 b322b55..e61e567 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
@@ -50,7 +50,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -93,7 +93,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect b/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
index 059106c..d6d5aa0 100644
--- a/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -92,7 +92,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -119,7 +119,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -146,7 +146,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -200,7 +200,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -227,7 +227,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -254,7 +254,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -281,7 +281,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -308,7 +308,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -335,7 +335,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -362,7 +362,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -412,7 +412,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/invalid_for_in_iterable.dart.weak.transformed.expect b/pkg/front_end/testcases/general/invalid_for_in_iterable.dart.weak.transformed.expect
index 927eae0..cf9dd5c 100644
--- a/pkg/front_end/testcases/general/invalid_for_in_iterable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/invalid_for_in_iterable.dart.weak.transformed.expect
@@ -36,18 +36,18 @@
core::Iterator<dynamic>* :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/invalid_for_in_iterable.dart:14:27: Error: Too many positional arguments: 0 allowed, but 1 found.
Try removing the extra positional arguments.
for (var v in takesNoArg(0)) {}
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
core::Iterator<invalid-type>* :sync-for-iterator = (let final Never* #t1 = invalid-expression "pkg/front_end/testcases/general/invalid_for_in_iterable.dart:15:17: Error: This expression has type 'void' and can't be used.
for (var v in returnVoid()) {}
- ^" in self::returnVoid()).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ ^" in self::returnVoid()).{core::Iterable::iterator}{core::Iterator<invalid-type>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{invalid-type};
{}
}
}
@@ -55,30 +55,30 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t2 = invalid-expression "pkg/front_end/testcases/general/invalid_for_in_iterable.dart:16:17: Error: The type 'int' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Iterable' is from 'dart:core'.
for (var v in returnInt()) {}
- ^" in self::returnInt() as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ ^" in self::returnInt() as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (self::returnDynamic() as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (self::returnDynamic() as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (self::returnObject() as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (self::returnObject() as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
- core::Iterator<Never*>* :sync-for-iterator = (throw "").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic v = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<Never*>* :sync-for-iterator = (throw "").{core::Iterable::iterator}{core::Iterator<Never*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic v = :sync-for-iterator.{core::Iterator::current}{Never*};
{}
}
}
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 29b2a47..e32389f 100644
--- a/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
@@ -9,9 +9,9 @@
: self::C::s = block {
final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = ell.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int e = :sync-for-iterator.{core::Iterator::current}{core::int};
if(e.{core::int::isOdd}{core::bool})
#t1.{core::Set::add}(2.{core::num::*}(e){(core::num) → core::int}){(core::int) → core::bool};
}
diff --git a/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
index 74a5ad5..6f29e79 100644
--- a/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38253b.dart.weak.transformed.expect
@@ -53,7 +53,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
index 34a47d3..193bfdf 100644
--- a/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38253c.dart.weak.transformed.expect
@@ -44,7 +44,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,7 +78,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -108,7 +108,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect
index 5dfdb2c..c552909 100644
--- a/pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect
@@ -5,9 +5,9 @@
static method foo() → dynamic {
Null _null;
{
- core::Iterator<invalid-type>* :sync-for-iterator = _null.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<invalid-type>* :sync-for-iterator = _null.{core::Iterable::iterator}{core::Iterator<invalid-type>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic i = :sync-for-iterator.{core::Iterator::current}{invalid-type};
{}
}
}
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 c811d62..b5dfa01 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -75,7 +75,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -88,4 +88,4 @@
Extra constant evaluation status:
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
+Extra constant evaluation: evaluated: 93, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
index 3144af6..b0ac024 100644
--- a/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
});
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 be2cc3e..5ef478d 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
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 dede444..eef17d5 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,9 +21,9 @@
dynamic o;
if(false) {
{
- 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};
+ 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}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::Class* c = #t2 as{TypeError,ForDynamic} self::Class*;
}
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 137401e..a1389b2 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
@@ -26,9 +26,9 @@
#t5.{core::Map::[]=}(0, "foo"){(core::int*, core::String*) →* void};
final core::Map<core::int*, core::String*>* #t6 = map;
if(!(#t6 == null)) {
- core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t6.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::String*>* #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t6.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::String*>* #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
#t5.{core::Map::[]=}(#t7.{core::MapEntry::key}{core::int*}, #t7.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* 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 90952fd..23aa402 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
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -113,7 +113,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 048552b..b25f44b 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
@@ -23,17 +23,17 @@
final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
#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<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::int*>* #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::int*>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
#t3.{core::Map::[]=}(#t4.{core::MapEntry::key}{core::int*}, #t4.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
}
}
final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{3: 3};
if(!(#t5 == null)) {
- core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t5.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t5.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
#t3.{core::Map::[]=}(#t6.{core::MapEntry::key}{core::int*}, #t6.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
}
}
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 11d244a..82b8b77 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
@@ -114,9 +114,9 @@
core::Map<dynamic, dynamic>* map10 = block {
final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
{
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t3.{core::Map::[]=}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -124,9 +124,9 @@
core::Map<dynamic, dynamic>* map10ambiguous = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
{
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t5.{core::Map::[]=}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -141,9 +141,9 @@
core::Set<core::int*>* set20ambiguous = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
@@ -154,9 +154,9 @@
core::Map<core::String*, core::int*>* map20 = block {
final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t12.{core::Map::[]=}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -165,9 +165,9 @@
core::Map<core::String*, core::int*>* map20ambiguous = block {
final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t14.{core::Map::[]=}(#t15.{core::MapEntry::key}{core::String*}, #t15.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -182,9 +182,9 @@
core::Map<dynamic, dynamic>* map21 = block {
final core::Map<dynamic, dynamic>* #t18 = <dynamic, dynamic>{};
{
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t18.{core::Map::[]=}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -204,9 +204,9 @@
core::Set<core::int*>* set22ambiguous = block {
final core::Set<core::int*>* #t22 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
final core::int* #t24 = #t23 as{TypeError} core::int*;
#t22.{core::Set::add}(#t24){(core::int*) →* core::bool*};
@@ -217,9 +217,9 @@
core::Map<core::String*, core::int*>* map22 = block {
final core::Map<core::String*, core::int*>* #t25 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t26 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t26 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t25.{core::Map::[]=}(#t26.{core::MapEntry::key}{core::String*}, #t26.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -234,9 +234,9 @@
core::Set<core::List<core::int*>*>* set23ambiguous = block {
final core::Set<core::List<core::int*>*>* #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
{
- core::Iterator<core::List<core::int*>*>* :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t30 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::List<core::int*>*>* :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)).{core::Iterable::iterator}{core::Iterator<core::List<core::int*>*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int*>*};
{
final core::List<core::int*>* #t31 = #t30 as{TypeError} core::List<core::int*>*;
#t29.{core::Set::add}(#t31){(core::List<core::int*>*) →* core::bool*};
@@ -247,9 +247,9 @@
core::Map<core::String*, core::List<core::int*>*>* map23 = block {
final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
#t32.{core::Map::[]=}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
}
}
@@ -276,9 +276,9 @@
^" in ( block {
final core::Set<core::int*>* #t39 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t40 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t40 = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
final core::int* #t41 = #t40 as{TypeError} core::int*;
#t39.{core::Set::add}(#t41){(core::int*) →* core::bool*};
@@ -292,9 +292,9 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t43 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t44 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t44 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t43.{core::Map::[]=}(#t44.{core::MapEntry::key}{core::String*}, #t44.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -306,9 +306,9 @@
^" in ( block {
final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t46.{core::Map::[]=}(#t47.{core::MapEntry::key}{core::String*}, #t47.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -367,9 +367,9 @@
...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};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final dynamic #t54 = #t53 as{TypeError} dynamic;
#t52.{core::Set::add}(#t54){(dynamic) →* core::bool*};
@@ -396,9 +396,9 @@
final core::Set<dynamic>* #t59 = new col::_CompactLinkedHashSet::•<dynamic>();
final core::Iterable<dynamic>* #t60 = 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t60.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t61 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final dynamic #t62 = #t61 as{TypeError} dynamic;
#t59.{core::Set::add}(#t62){(dynamic) →* core::bool*};
@@ -406,9 +406,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t63 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t63 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final dynamic #t64 = #t63 as{TypeError} dynamic;
#t59.{core::Set::add}(#t64){(dynamic) →* core::bool*};
@@ -420,9 +420,9 @@
final core::Map<core::String*, core::int*>* #t65 = <core::String*, core::int*>{};
final core::Map<core::String*, core::int*>* #t66 = null;
if(!(#t66 == null)) {
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t67 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t67 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t65.{core::Map::[]=}(#t67.{core::MapEntry::key}{core::String*}, #t67.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -430,9 +430,9 @@
core::Map<core::String*, core::int*>* map90 = block {
final core::Map<core::String*, core::int*>* #t68 = <core::String*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String*, core::int*>* #t69 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String*, core::int*>* #t69 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
#t68.{core::Map::[]=}(#t69.{core::MapEntry::key}{core::String*}, #t69.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
}
}
@@ -440,9 +440,9 @@
core::List<core::int*>* list100 = block {
final core::List<core::int*>* #t70 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<core::num*>* :sync-for-iterator = listNum.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t71 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = listNum.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t71 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t72 = #t71 as{TypeError} core::int*;
#t70.{core::List::add}(#t72){(core::int*) →* void};
@@ -453,9 +453,9 @@
core::Map<core::num*, core::int*>* map100 = block {
final core::Map<core::num*, core::int*>* #t73 = <core::num*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t74 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t74 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
{
final core::num* #t75 = #t74.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
final core::int* #t76 = #t74.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
@@ -467,9 +467,9 @@
core::List<core::int*>* list110 = block {
final core::List<core::int*>* #t77 = core::_GrowableList::•<core::int*>(0);
{
- 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 #t78 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t78 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t79 = #t78 as{TypeError} core::int*;
#t77.{core::List::add}(#t79){(core::int*) →* void};
@@ -480,9 +480,9 @@
core::Map<core::num*, core::int*>* map110 = block {
final core::Map<core::num*, core::int*>* #t80 = <core::num*, core::int*>{};
{
- core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t81 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t81 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
{
final core::num* #t82 = #t81.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
final core::int* #t83 = #t81.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
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 e0b0a7c..df43e6d 100644
--- a/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
@@ -36,15 +36,15 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
- if(:controller.{asy::_AsyncStarStreamController::add}(x))
+ if(:controller.{asy::_AsyncStarStreamController::add}(x){(dynamic) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(x as{TypeError,ForDynamic} asy::Stream<dynamic>*))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(x as{TypeError,ForDynamic} asy::Stream<dynamic>*){(asy::Stream<dynamic>) → core::bool})
return null;
else
[yield] null;
@@ -54,8 +54,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -63,15 +63,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method main() → dynamic {
@@ -84,26 +84,26 @@
}
while (false)
{
- core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in!").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String* s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in!").{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String* s = :sync-for-iterator.{core::Iterator::current}{core::String*};
{
core::print(s);
}
}
}
{
- core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in without block!").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String* s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String*>* :sync-for-iterator = core::_GrowableList::_literal1<core::String*>("Hello from for-in without block!").{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String* s = :sync-for-iterator.{core::Iterator::current}{core::String*};
core::print(s);
}
}
dynamic s;
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl!").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl!").{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
s = #t4;
core::print(s);
@@ -111,9 +111,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl and block!").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl and block!").{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
s = #t5;
core::print(s);
diff --git a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
index 454713b..ae0443b 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -84,7 +84,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -106,7 +106,7 @@
- 'Future' is from 'dart:async'.
- 'Class' is from 'pkg/front_end/testcases/general/stream_future.dart'.
yield returnFutureDynamic();
- ^" in self::returnFutureDynamic() as{TypeError} FutureOr<self::Class*>*))
+ ^" in self::returnFutureDynamic() as{TypeError} FutureOr<self::Class*>*){(FutureOr<self::Class*>*) → core::bool})
return null;
else
[yield] null;
@@ -114,15 +114,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class*>*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class*>*>};
return :controller_stream;
}
static method stream() → asy::Stream<FutureOr<self::Class*>*>* /* originally async* */ {
@@ -139,15 +139,15 @@
try {
#L4:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnDynamic() as{TypeError,ForDynamic} FutureOr<self::Class*>*))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnDynamic() as{TypeError,ForDynamic} FutureOr<self::Class*>*){(FutureOr<self::Class*>*) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnClass()))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnClass()){(FutureOr<self::Class*>*) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::add}(self::returnFutureClass()))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::returnFutureClass()){(FutureOr<self::Class*>*) → core::bool})
return null;
else
[yield] null;
@@ -155,15 +155,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<FutureOr<self::Class*>*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<FutureOr<self::Class*>*>};
return :controller_stream;
}
static method main() → dynamic /* originally async */ {
@@ -189,9 +189,9 @@
#L6:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- FutureOr<self::Class*>* cls = :for-iterator.{asy::_StreamIterator::current};
+ FutureOr<self::Class*>* cls = :for-iterator.{asy::_StreamIterator::current}{FutureOr<self::Class*>*};
{
core::print(cls);
}
@@ -200,8 +200,8 @@
break #L6;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<FutureOr<self::Class*>*>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -214,7 +214,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 97bf72f..dceb836 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
@@ -215,9 +215,9 @@
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};
{
- 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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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};
@@ -383,9 +383,9 @@
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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = newContents.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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};
@@ -499,9 +499,9 @@
}
else {
{
- 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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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 97bf72f..dceb836 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
@@ -215,9 +215,9 @@
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};
{
- 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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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};
@@ -383,9 +383,9 @@
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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = newContents.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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};
@@ -499,9 +499,9 @@
}
else {
{
- 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};
+ dart.core::Iterator<dart.core::int*> :sync-for-iterator = iterable.{dart.core::Iterable::iterator}{dart.core::Iterator<dart.core::int*>};
+ for (; :sync-for-iterator.{dart.core::Iterator::moveNext}(){() → dart.core::bool}; ) {
+ dart.core::int* element = :sync-for-iterator.{dart.core::Iterator::current}{dart.core::int*};
{
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_3.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
index e2cb288..e955e1e 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.1.expect
@@ -27,7 +27,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,7 +78,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
index 6ef77a2..4f65073 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_3.yaml.world.2.expect
@@ -27,7 +27,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -79,7 +79,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
index 824f20e..5d54f1b 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.1.expect
@@ -44,7 +44,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -74,7 +74,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
index 44652d1..d857553 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.2.expect
@@ -44,7 +44,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -74,7 +74,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
index 99415d4..8da36e7 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_5.yaml.world.3.expect
@@ -45,7 +45,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -75,7 +75,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
index d56811d..d27df25 100644
--- a/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
@@ -72,7 +72,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -99,7 +99,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -126,7 +126,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -180,7 +180,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -207,7 +207,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -234,7 +234,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -261,7 +261,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -288,7 +288,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -315,7 +315,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -348,7 +348,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
index 3a8bfa5c7..faa27c6 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
index 8e77c75..02f5546 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
@@ -26,7 +26,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
index b678b0d..516b135 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
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 1f47c71..ab84cab 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
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
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 95a5eab..946c0ba 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
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
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 1ce4583..35febb4 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
@@ -37,7 +37,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
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 097e9a3..6e67dc6 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
@@ -20,12 +20,12 @@
try {
#L1:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(1))
+ if(:controller.{asy::_AsyncStarStreamController::add}(1){(core::num*) → core::bool})
return null;
else
[yield] null;
asy::Stream<core::double*>* s;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(s))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(s){(asy::Stream<core::num*>) → core::bool})
return null;
else
[yield] null;
@@ -33,15 +33,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::num*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::num*>};
return :controller_stream;
};
asy::Stream<core::num*>* g = f(){() →* asy::Stream<core::num*>*};
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 1c8b19c..2f681c5 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
@@ -42,7 +42,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 236bc34..fbf4bc7 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
@@ -33,7 +33,7 @@
try {
#L2:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(null))
+ if(:controller.{asy::_AsyncStarStreamController::add}(null){(Null) → core::bool})
return null;
else
[yield] null;
@@ -41,15 +41,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<Null>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<Null>};
return :controller_stream;
};
asy::Stream<dynamic>* y = f(){() →* asy::Stream<Null>*};
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 3ae57113..03d1390 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
@@ -21,9 +21,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- @#C1 core::int* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ @#C1 core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
{}
}
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
index 3c726ad..0b4c6aa 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
index 7754fb8..58aee22 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
@@ -78,39 +78,39 @@
dynamic d;
core::Object* o;
{
- core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
{
- core::Iterator<core::Object*>* :sync-for-iterator = self::F<core::Iterable<core::Object*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::Object* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::Object*>* :sync-for-iterator = self::F<core::Iterable<core::Object*>*>().{core::Iterable::iterator}{core::Iterator<core::Object*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::Object* x = :sync-for-iterator.{core::Iterator::current}{core::Object*};
{}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = self::F<core::Iterable<dynamic>*>().{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
d = #t1;
}
}
}
{
- core::Iterator<core::Object*>* :sync-for-iterator = self::F<core::Iterable<core::Object*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::Object* #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::Object*>* :sync-for-iterator = self::F<core::Iterable<core::Object*>*>().{core::Iterable::iterator}{core::Iterator<core::Object*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::Object* #t2 = :sync-for-iterator.{core::Iterator::current}{core::Object*};
{
o = #t2;
}
@@ -123,17 +123,17 @@
#L2:
while (true) {
dynamic #t3 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
else
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -144,17 +144,17 @@
#L3:
while (true) {
dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
else
break #L3;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -165,17 +165,17 @@
#L4:
while (true) {
dynamic #t9 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::Object* x = :for-iterator.{asy::_StreamIterator::current};
+ core::Object* x = :for-iterator.{asy::_StreamIterator::current}{core::Object*};
{}
}
else
break #L4;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::Object*>?} == null)) {
+ [yield] let dynamic #t11 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -186,9 +186,9 @@
#L5:
while (true) {
dynamic #t12 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t13 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t14 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t14 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
d = #t14;
}
@@ -197,8 +197,8 @@
break #L5;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -209,9 +209,9 @@
#L6:
while (true) {
dynamic #t16 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final core::Object* #t18 = :for-iterator.{asy::_StreamIterator::current};
+ final core::Object* #t18 = :for-iterator.{asy::_StreamIterator::current}{core::Object*};
{
o = #t18;
}
@@ -220,8 +220,8 @@
break #L6;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::Object*>?} == null)) {
+ [yield] let dynamic #t19 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -234,7 +234,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -255,23 +255,23 @@
#L7:
{
{
- 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* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* x = :sync-for-iterator.{core::Iterator::current}{core::int*};
{}
}
}
{
- core::Iterator<core::num*>* :sync-for-iterator = core::_GrowableList::_literal3<core::num*>(1, 2, 3).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::num* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = core::_GrowableList::_literal3<core::num*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::num* x = :sync-for-iterator.{core::Iterator::current}{core::num*};
{}
}
}
{
- 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* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* x = :sync-for-iterator.{core::Iterator::current}{core::int*};
{}
}
}
@@ -282,17 +282,17 @@
#L8:
while (true) {
dynamic #t20 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t21 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::int* x = :for-iterator.{asy::_StreamIterator::current};
+ core::int* x = :for-iterator.{asy::_StreamIterator::current}{core::int*};
{}
}
else
break #L8;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
+ [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -303,17 +303,17 @@
#L9:
while (true) {
dynamic #t23 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::int* x = :for-iterator.{asy::_StreamIterator::current};
+ core::int* x = :for-iterator.{asy::_StreamIterator::current}{core::int*};
{}
}
else
break #L9;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null)) {
+ [yield] let dynamic #t25 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -326,7 +326,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
index 9af4727..0a1fd1f 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
@@ -97,7 +97,7 @@
try {
#L1:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(core::_GrowableList::•<core::int*>(0)))
+ if(:controller.{asy::_AsyncStarStreamController::add}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) → core::bool})
return null;
else
[yield] null;
@@ -105,7 +105,7 @@
- 'MyStream' is from 'pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart'.
- 'List' is from 'dart:core'.
yield /*error:YIELD_OF_INVALID_TYPE*/ new /*@ typeArgs=dynamic */ MyStream();
- ^" in self::MyStream::•<dynamic>() as{TypeError} core::List<core::int*>*))
+ ^" in self::MyStream::•<dynamic>() as{TypeError} core::List<core::int*>*){(core::List<core::int*>*) → core::bool})
return null;
else
[yield] null;
@@ -113,11 +113,11 @@
- 'List' is from 'dart:core'.
- 'Stream' is from 'dart:async'.
yield* /*error:YIELD_OF_INVALID_TYPE*/ /*@typeArgs=dynamic*/ [];
- ^" in core::_GrowableList::•<dynamic>(0) as{TypeError} asy::Stream<core::List<core::int*>*>*))
+ ^" in core::_GrowableList::•<dynamic>(0) as{TypeError} asy::Stream<core::List<core::int*>*>*){(asy::Stream<core::List<core::int*>*>) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::MyStream::•<core::List<core::int*>*>()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::MyStream::•<core::List<core::int*>*>()){(asy::Stream<core::List<core::int*>*>) → core::bool})
return null;
else
[yield] null;
@@ -125,15 +125,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::List<core::int*>*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::List<core::int*>*>};
return :controller_stream;
}
static method bar() → core::Iterable<core::Map<core::int*, core::int*>*>* /* originally sync* */ {
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
index a832376..e4fd3e1 100644
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
@@ -22,9 +22,9 @@
{
core::Object* o;
{
- core::Iterator<dynamic>* :sync-for-iterator = (o as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (o as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
@@ -35,25 +35,25 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{}
}
else
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
core::int* y;
{
- core::Iterator<dynamic>* :sync-for-iterator = (o as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (o as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
y = #t4 as{TypeError,ForDynamic} core::int*;
}
@@ -66,9 +66,9 @@
#L3:
while (true) {
dynamic #t5 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t7 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t7 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
y = #t7 as{TypeError,ForDynamic} core::int*;
}
@@ -77,8 +77,8 @@
break #L3;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -91,7 +91,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect
index bda8d12..6f06b13 100644
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect
@@ -4,9 +4,9 @@
static method test(core::List<core::num*>* nums) → void {
{
- core::Iterator<core::num*>* :sync-for-iterator = nums.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::num* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = nums.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::num* x = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
if(x is core::int*) {
core::int* y = x{core::int*};
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 6f7152b..fb0fe5f 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 fe6cbd2..4713e78 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 2cce0d4..525da31 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 d90c9e6..2f0c903 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 79e4838..c03423b 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
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 e796209..ab76385 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
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -89,7 +89,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -174,7 +174,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
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 e243878..6efd0ab 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 57a5fe1..29a38cc 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 dd49882..9ac9e7e 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 0dc6739..768aaeb 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 528b319..6fc6957 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
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 d783f2d..4bf5a96 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
@@ -96,7 +96,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
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 061b526..d6e68fc 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
@@ -68,7 +68,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -97,7 +97,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}){((core::int*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
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 8f744f7..57fa2ef 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
@@ -55,7 +55,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -110,7 +110,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 81ffcf6..64fb6a3 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
@@ -55,7 +55,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -110,7 +110,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 bbe0213..41fdde4 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 191e1c8..d88b25c 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
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -85,7 +85,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 536aaad..b46703a 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
@@ -67,7 +67,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 55d6d31..efad60a 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
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -85,7 +85,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
index 7438fe3..ced25c9 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
@@ -47,7 +47,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
index 611598b..ebe5e12 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
@@ -33,7 +33,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
index e541778..edb2427 100644
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
@@ -62,7 +62,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
index 2f34a0b..304c78c 100644
--- a/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
@@ -21,11 +21,11 @@
try {
#L1:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(0))
+ if(:controller.{asy::_AsyncStarStreamController::add}(0){(core::int*) → core::bool})
return null;
else
[yield] null;
- if(:controller.{asy::_AsyncStarStreamController::add}(1))
+ if(:controller.{asy::_AsyncStarStreamController::add}(1){(core::int*) → core::bool})
return null;
else
[yield] null;
@@ -33,15 +33,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::int*>};
return :controller_stream;
});
}
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 618d97a..3715d17 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
@@ -29,7 +29,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(42))
+ if(:controller.{asy::_AsyncStarStreamController::add}(42){(core::int*) → core::bool})
return null;
else
[yield] null;
@@ -102,15 +102,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::int*>};
return :controller_stream;
}
function f6() → core::num*
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 06bfe90..5eb2f87 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
@@ -53,9 +53,9 @@
;
method foo(generic-covariant-impl self::Bar::T* t) → void {
{
- core::Iterator<core::String*>* :sync-for-iterator = t.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String*>* :sync-for-iterator = t.{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String* i = :sync-for-iterator.{core::Iterator::current}{core::String*};
{
core::int* x = let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart:15:44: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
int x = /*error:INVALID_ASSIGNMENT*/ i;
@@ -81,9 +81,9 @@
;
method foo(generic-covariant-impl self::Baz::S* t) → void {
{
- core::Iterator<self::Baz::T*>* :sync-for-iterator = t.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::Baz::T* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Baz::T*>* :sync-for-iterator = t.{core::Iterable::iterator}{core::Iterator<self::Baz::T*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::Baz::T* i = :sync-for-iterator.{core::Iterator::current}{self::Baz::T*};
{
core::int* x = let final Never* #t2 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart:23:44: Error: A value of type 'T' can't be assigned to a variable of type 'int'.
int x = /*error:INVALID_ASSIGNMENT*/ i;
@@ -107,9 +107,9 @@
static method test() → dynamic {
core::List<self::Foo*>* list = core::_GrowableList::•<self::Foo*>(0);
{
- core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::Foo* x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator}{core::Iterator<self::Foo*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::Foo* x = :sync-for-iterator.{core::Iterator::current}{self::Foo*};
{
core::String* y = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart:32:45: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
- 'Foo' is from 'pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart'.
@@ -119,18 +119,18 @@
}
}
{
- core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator}{core::Iterator<self::Foo*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{self::Foo*};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
}
}
}
{
- core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::Foo* #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator}{core::Iterator<self::Foo*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::Foo* #t4 = :sync-for-iterator.{core::Iterator::current}{self::Foo*};
{
core::String* x = let final Never* #t5 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart:39:15: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
- 'Foo' is from 'pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart'.
@@ -143,9 +143,9 @@
}
dynamic z;
{
- core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::Foo* #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Foo*>* :sync-for-iterator = list.{core::Iterable::iterator}{core::Iterator<self::Foo*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::Foo* #t6 = :sync-for-iterator.{core::Iterator::current}{self::Foo*};
{
z = #t6;
core::String* y = z as{TypeError,ForDynamic} core::String*;
@@ -154,9 +154,9 @@
}
core::Iterable<dynamic>* iter = list;
{
- core::Iterator<dynamic>* :sync-for-iterator = iter.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = iter.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::Foo* x = #t7 as{TypeError,ForDynamic} self::Foo*;
self::Foo* y = x;
@@ -165,9 +165,9 @@
}
dynamic iter2 = list;
{
- core::Iterator<dynamic>* :sync-for-iterator = (iter2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (iter2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::Foo* x = #t8 as{TypeError,ForDynamic} self::Foo*;
self::Foo* y = x;
@@ -181,18 +181,18 @@
- 'Foo' is from 'pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart'.
- 'Iterable' is from 'dart:core'.
for (var /*@ type=dynamic */ x in /*error:FOR_IN_OF_INVALID_TYPE*/ map) {
- ^" in map as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- dynamic x = :sync-for-iterator.{core::Iterator::current};
+ ^" in map as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
}
}
}
{
- 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};
+ core::Iterator<core::String*>* :sync-for-iterator = map.{core::Map::keys}{core::Iterable<core::String*>*}.{core::Iterable::iterator}{core::Iterator<core::String*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String* x = :sync-for-iterator.{core::Iterator::current}{core::String*};
{
core::String* y = x;
}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
index 9b13665..a8fa094 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
@@ -78,9 +78,9 @@
#L2:
while (true) {
dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t2 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::String* i = :for-iterator.{asy::_StreamIterator::current};
+ core::String* i = :for-iterator.{asy::_StreamIterator::current}{core::String*};
{
core::int* x = let final Never* #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:17:44: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
int x = /*error:INVALID_ASSIGNMENT*/ i;
@@ -91,8 +91,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String*>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -105,7 +105,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -147,9 +147,9 @@
#L4:
while (true) {
dynamic #t5 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t6 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- self::Baz::T* i = :for-iterator.{asy::_StreamIterator::current};
+ self::Baz::T* i = :for-iterator.{asy::_StreamIterator::current}{self::Baz::T*};
{
core::int* x = let final Never* #t7 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:25:44: Error: A value of type 'T' can't be assigned to a variable of type 'int'.
int x = /*error:INVALID_ASSIGNMENT*/ i;
@@ -161,8 +161,8 @@
break #L4;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Baz::T*>?} == null)) {
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -175,7 +175,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -265,9 +265,9 @@
#L6:
while (true) {
dynamic #t9 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- self::Foo* x = :for-iterator.{asy::_StreamIterator::current};
+ self::Foo* x = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
core::String* y = let final Never* #t11 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:38:45: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
- 'Foo' is from 'pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart'.
@@ -279,8 +279,8 @@
break #L6;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
+ [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -291,9 +291,9 @@
#L7:
while (true) {
dynamic #t13 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
}
@@ -302,8 +302,8 @@
break #L7;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t15 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -314,9 +314,9 @@
#L8:
while (true) {
dynamic #t16 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::Foo* #t18 = :for-iterator.{asy::_StreamIterator::current};
+ final self::Foo* #t18 = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
core::String* x = let final Never* #t19 = invalid-expression "pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart:45:21: Error: A value of type 'Foo' can't be assigned to a variable of type 'String'.
- 'Foo' is from 'pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart'.
@@ -330,8 +330,8 @@
break #L8;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
+ [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -343,9 +343,9 @@
#L9:
while (true) {
dynamic #t21 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::Foo* #t23 = :for-iterator.{asy::_StreamIterator::current};
+ final self::Foo* #t23 = :for-iterator.{asy::_StreamIterator::current}{self::Foo*};
{
z = #t23;
core::String* y = z as{TypeError,ForDynamic} core::String*;
@@ -355,8 +355,8 @@
break #L9;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::Foo*>?} == null)) {
+ [yield] let dynamic #t24 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -368,9 +368,9 @@
#L10:
while (true) {
dynamic #t25 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t26 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t26 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t27 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t27 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
self::Foo* x = #t27 as{TypeError,ForDynamic} self::Foo*;
self::Foo* y = x;
@@ -380,8 +380,8 @@
break #L10;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t28 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t28 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -393,9 +393,9 @@
#L11:
while (true) {
dynamic #t29 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t30 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t30 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t31 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t31 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
self::Foo* x = #t31 as{TypeError,ForDynamic} self::Foo*;
self::Foo* y = x;
@@ -405,8 +405,8 @@
break #L11;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t32 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t32 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -423,9 +423,9 @@
#L12:
while (true) {
dynamic #t34 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t35 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t35 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::String* y = x as{TypeError,ForDynamic} core::String*;
}
@@ -434,8 +434,8 @@
break #L12;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t36 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t36 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -448,7 +448,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
index d8f508b..00b4229 100644
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
@@ -44,7 +44,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -96,7 +96,7 @@
try {
#L2:
{
- if(:controller.{asy::_AsyncStarStreamController::add}((core::int* x) → core::int* => x))
+ if(:controller.{asy::_AsyncStarStreamController::add}((core::int* x) → core::int* => x){((core::int*) →* core::int*) → core::bool})
return null;
else
[yield] null;
@@ -104,15 +104,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<(core::int*) →* core::int*>};
return :controller_stream;
}
function f() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
@@ -129,7 +129,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<(core::int*) →* core::int*>(core::_GrowableList::_literal1<(core::int*) →* core::int*>((core::int* x) → core::int* => x))))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<(core::int*) →* core::int*>(core::_GrowableList::_literal1<(core::int*) →* core::int*>((core::int* x) → core::int* => x))){(asy::Stream<(core::int*) →* core::int*>) → core::bool})
return null;
else
[yield] null;
@@ -137,15 +137,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<(core::int*) →* core::int*>};
return :controller_stream;
}
}
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
index df260ca..f81139c 100644
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
@@ -43,7 +43,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -95,7 +95,7 @@
try {
#L2:
{
- if(:controller.{asy::_AsyncStarStreamController::add}((core::int* x) → core::int* => x))
+ if(:controller.{asy::_AsyncStarStreamController::add}((core::int* x) → core::int* => x){((core::int*) →* core::int*) → core::bool})
return null;
else
[yield] null;
@@ -103,15 +103,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<(core::int*) →* core::int*>};
return :controller_stream;
}
static method f() → asy::Stream<(core::int*) →* core::int*>* /* originally async* */ {
@@ -128,7 +128,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<(core::int*) →* core::int*>(core::_GrowableList::_literal1<(core::int*) →* core::int*>((core::int* x) → core::int* => x))))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(asy::Stream::fromIterable<(core::int*) →* core::int*>(core::_GrowableList::_literal1<(core::int*) →* core::int*>((core::int* x) → core::int* => x))){(asy::Stream<(core::int*) →* core::int*>) → core::bool})
return null;
else
[yield] null;
@@ -136,15 +136,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<(core::int*) →* core::int*>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<(core::int*) →* core::int*>};
return :controller_stream;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect
index 769b671..b44d33f 100644
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect
@@ -26,45 +26,45 @@
method test() → void {
self::A* aLocal;
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t1 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
aLocal = #t1;
}
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t2 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
this.{self::C::aField} = #t2;
}
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t3 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
this.{self::C::aSetter} = #t3;
}
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t4 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
self::aTopLevel = #t4;
}
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t5 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
self::aTopLevelSetter = #t5;
}
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
index 2a4911b..ad564fc 100644
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
@@ -48,9 +48,9 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t1 = invalid-expression "pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart:10:17: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Iterable' is from 'dart:core'.
for (int x in s) {}
- ^" in s as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ ^" in s as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int* x = #t2 as{TypeError,ForDynamic} core::int*;
}
@@ -66,9 +66,9 @@
#L2:
while (true) {
dynamic #t4 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t6 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t6 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::int* x = #t6 as{TypeError,ForDynamic} core::int*;
}
@@ -77,8 +77,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -87,9 +87,9 @@
core::Iterator<dynamic>* :sync-for-iterator = (let final Never* #t8 = invalid-expression "pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart:13:13: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- 'Iterable' is from 'dart:core'.
for (y in s) {}
- ^" in s as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
+ ^" in s as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
y = #t9 as{TypeError,ForDynamic} core::int*;
}
@@ -105,9 +105,9 @@
#L3:
while (true) {
dynamic #t11 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t12 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final dynamic #t13 = :for-iterator.{asy::_StreamIterator::current};
+ final dynamic #t13 = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
y = #t13 as{TypeError,ForDynamic} core::int*;
}
@@ -116,8 +116,8 @@
break #L3;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -130,7 +130,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
index c6eeca6..0e6f089 100644
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
@@ -65,9 +65,9 @@
self::B* b;
core::int* i;
{
- core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t1 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
a = #t1;
}
@@ -80,9 +80,9 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::A* #t4 = :for-iterator.{asy::_StreamIterator::current};
+ final self::A* #t4 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
a = #t4;
}
@@ -91,15 +91,15 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
+ [yield] let dynamic #t5 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t6 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
b = #t6 as{TypeError} self::B*;
}
@@ -112,9 +112,9 @@
#L3:
while (true) {
dynamic #t7 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::A* #t9 = :for-iterator.{asy::_StreamIterator::current};
+ final self::A* #t9 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
b = #t9 as{TypeError} self::B*;
}
@@ -123,15 +123,15 @@
break #L3;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t11 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
i = let final Never* #t12 = invalid-expression "pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:26:10: Error: A value of type 'A' can't be assigned to a variable of type 'int'.
- 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'.
@@ -148,9 +148,9 @@
#L4:
while (true) {
dynamic #t13 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t14 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::A* #t15 = :for-iterator.{asy::_StreamIterator::current};
+ final self::A* #t15 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
i = let final Never* #t16 = invalid-expression "pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart:27:16: Error: A value of type 'A' can't be assigned to a variable of type 'int'.
- 'A' is from 'pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart'.
@@ -163,15 +163,15 @@
break #L4;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
+ [yield] let dynamic #t17 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
{
- core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::A* #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = self::f<core::Iterable<self::A*>*>().{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::A* #t18 = :sync-for-iterator.{core::Iterator::current}{self::A*};
{
a = #t18;
}
@@ -184,9 +184,9 @@
#L5:
while (true) {
dynamic #t19 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t20 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- final self::A* #t21 = :for-iterator.{asy::_StreamIterator::current};
+ final self::A* #t21 = :for-iterator.{asy::_StreamIterator::current}{self::A*};
{
a = #t21;
}
@@ -195,8 +195,8 @@
break #L5;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<self::A*>?} == null)) {
+ [yield] let dynamic #t22 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -209,7 +209,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 4aedf2e..00e3810 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
@@ -20,9 +20,9 @@
core::print(i);
}
{
- core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
{
core::print(i);
}
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 4aedf2e..00e3810 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
@@ -20,9 +20,9 @@
core::print(i);
}
{
- core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
{
core::print(i);
}
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 d99c70a..3e60aa9 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
@@ -122,9 +122,9 @@
core::print("baz");
}
{
- core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator}{core::Iterator<core::String>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
@@ -159,9 +159,9 @@
#L2:
while (true) {
dynamic #t8 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::String s = :for-iterator.{asy::_StreamIterator::current};
+ core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
}
@@ -170,8 +170,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -186,7 +186,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -243,7 +243,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
} : #t15{core::Function};
@@ -258,7 +258,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -270,4 +270,4 @@
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///later.dart:46:18 -> IntConstant(42)
-Extra constant evaluation: evaluated: 207, effectively constant: 1
+Extra constant evaluation: evaluated: 204, effectively constant: 1
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 daa7970..53b5f1b 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
@@ -142,9 +142,9 @@
core::print("baz");
}
{
- core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator}{core::Iterator<core::String>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
@@ -179,9 +179,9 @@
#L2:
while (true) {
dynamic #t8 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::String s = :for-iterator.{asy::_StreamIterator::current};
+ core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
}
@@ -190,8 +190,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
+ [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -206,7 +206,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -281,7 +281,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -302,7 +302,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 8d03a24..68d5235 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
@@ -234,9 +234,9 @@
<A, A>{...m2}; // Error.
^": null};
{
- core::Iterator<self::B?> :sync-for-iterator = l.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::B? #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B?> :sync-for-iterator = l.{core::Iterable::iterator}{core::Iterator<self::B?>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::B? #t5 = :sync-for-iterator.{core::Iterator::current}{self::B?};
{
self::A y = let final Never #t6 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:10: Error: A value of type 'B?' can't be assigned to a variable of type 'A' because 'B?' is nullable and 'A' isn't.
- 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'.
@@ -253,9 +253,9 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'.
- 'Iterable' is from 'dart:core'.
for (A y in l2) {} // Error.
- ^" in let core::List<self::B>? #t9 = l2 in #t9.==(null) ?{core::Iterable<dynamic>} #t9 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t9{core::Iterable<dynamic>}).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::A y = :sync-for-iterator.{core::Iterator::current};
+ ^" in let core::List<self::B>? #t9 = l2 in #t9.==(null) ?{core::Iterable<dynamic>} #t9 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t9{core::Iterable<dynamic>}).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A y = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
@@ -310,7 +310,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -351,9 +351,9 @@
<List<A>, List<A>>{...m}; // Error.
^"};
{
- core::Iterator<core::List<self::B?>> :sync-for-iterator = l.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::List<self::B?> #t17 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::List<self::B?>> :sync-for-iterator = l.{core::Iterable::iterator}{core::Iterator<core::List<self::B?>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::List<self::B?> #t17 = :sync-for-iterator.{core::Iterator::current}{core::List<self::B?>};
{
core::List<self::A> y = let final Never #t18 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:57:16: Error: A value of type 'List<B?>' can't be assigned to a variable of type 'List<A>' because 'B?' is nullable and 'A' isn't.
- 'List' is from 'dart:core'.
@@ -442,7 +442,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -466,7 +466,7 @@
Evaluated: MethodInvocation @ org-dartlang-testcase:///assignability_error_messages.dart:77:14 -> BoolConstant(true)
Evaluated: VariableGet @ org-dartlang-testcase:///assignability_error_messages.dart:77:14 -> NullConstant(null)
Evaluated: VariableGet @ org-dartlang-testcase:///assignability_error_messages.dart:77:14 -> NullConstant(null)
-Extra constant evaluation: evaluated: 210, effectively constant: 12
+Extra constant evaluation: evaluated: 208, effectively constant: 12
Constructor coverage from constants:
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 3f9fa94..b693442 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
@@ -234,9 +234,9 @@
<A, A>{...m2}; // Error.
^": null};
{
- core::Iterator<self::B?> :sync-for-iterator = l.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final self::B? #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B?> :sync-for-iterator = l.{core::Iterable::iterator}{core::Iterator<self::B?>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final self::B? #t3 = :sync-for-iterator.{core::Iterator::current}{self::B?};
{
self::A y = let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:33:10: Error: A value of type 'B?' can't be assigned to a variable of type 'A' because 'B?' is nullable and 'A' isn't.
- 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'.
@@ -253,9 +253,9 @@
- 'B' is from 'pkg/front_end/testcases/nnbd/assignability_error_messages.dart'.
- 'Iterable' is from 'dart:core'.
for (A y in l2) {} // Error.
- ^" in l2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::A y = :sync-for-iterator.{core::Iterator::current};
+ ^" in l2).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A y = :sync-for-iterator.{core::Iterator::current}{dynamic};
{}
}
}
@@ -310,7 +310,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -351,9 +351,9 @@
<List<A>, List<A>>{...m}; // Error.
^"};
{
- core::Iterator<core::List<self::B?>> :sync-for-iterator = l.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::List<self::B?> #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::List<self::B?>> :sync-for-iterator = l.{core::Iterable::iterator}{core::Iterator<core::List<self::B?>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::List<self::B?> #t11 = :sync-for-iterator.{core::Iterator::current}{core::List<self::B?>};
{
core::List<self::A> y = let final Never #t12 = invalid-expression "pkg/front_end/testcases/nnbd/assignability_error_messages.dart:57:16: Error: A value of type 'List<B?>' can't be assigned to a variable of type 'List<A>' because 'B?' is nullable and 'A' isn't.
- 'List' is from 'dart:core'.
@@ -442,7 +442,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 51a1889..601dda0 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
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -114,7 +114,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 51a1889..601dda0 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
@@ -46,7 +46,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -114,7 +114,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 06dc1da..810d4fa 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.strong.transformed.expect
@@ -56,9 +56,9 @@
core::Iterator<dynamic> :sync-for-iterator = (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:9:17: Error: The type 'Iterable<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'Iterable<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'Iterable' is from 'dart:core'.
for (int x in i2) x;
- ^" in let core::Iterable<core::int>? #t2 = i2 in #t2.==(null) ?{core::Iterable<dynamic>} #t2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t2{core::Iterable<dynamic>}).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in let core::Iterable<core::int>? #t2 = i2 in #t2.==(null) ?{core::Iterable<dynamic>} #t2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t2{core::Iterable<dynamic>}).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
x;
}
}
@@ -68,9 +68,9 @@
core::Iterator<dynamic> :sync-for-iterator = (let final Never #t4 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:10:18: Error: The type 'Iterable<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'Iterable<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
- ^" 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};
+ ^" 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}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t3.{core::List::add}(x){(core::int) → void};
}
}
@@ -80,9 +80,9 @@
- 'List' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in l2) x;
- ^" in let core::List<core::int>? #t7 = l2 in #t7.==(null) ?{core::Iterable<dynamic>} #t7 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t7{core::Iterable<dynamic>}).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in let core::List<core::int>? #t7 = l2 in #t7.==(null) ?{core::Iterable<dynamic>} #t7 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic> : #t7{core::Iterable<dynamic>}).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
x;
}
}
@@ -93,9 +93,9 @@
- 'List' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
- ^" 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};
+ ^" 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}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t8.{core::List::add}(x){(core::int) → void};
}
}
@@ -105,9 +105,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in o1) x;
- ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t12 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -121,9 +121,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in o1) x];
- ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t15 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t13.{core::List::add}(x){(core::int) → void};
@@ -136,9 +136,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in o2) x;
- ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t17 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t17 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -152,9 +152,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in o2) x];
- ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t20 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t20 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t18.{core::List::add}(x){(core::int) → void};
@@ -165,43 +165,43 @@
}
static method ok(core::Iterable<core::int> i1, core::List<core::int> l1, dynamic d) → dynamic {
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
x;
}
}
block {
final core::List<core::int> #t21 = core::_GrowableList::•<core::int>(0);
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
#t21.{core::List::add}(x){(core::int) → void};
}
}
} =>#t21;
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
x;
}
}
block {
final core::List<core::int> #t22 = core::_GrowableList::•<core::int>(0);
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
#t22.{core::List::add}(x){(core::int) → void};
}
}
} =>#t22;
{
- core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t23 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -211,9 +211,9 @@
block {
final core::List<core::int> #t24 = core::_GrowableList::•<core::int>(0);
{
- core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t25 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t24.{core::List::add}(x){(core::int) → void};
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 1d91444..9195703 100644
--- a/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/forin.dart.weak.transformed.expect
@@ -56,9 +56,9 @@
core::Iterator<dynamic> :sync-for-iterator = (let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:9:17: Error: The type 'Iterable<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'Iterable<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'Iterable' is from 'dart:core'.
for (int x in i2) x;
- ^" in i2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in i2).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
x;
}
}
@@ -68,9 +68,9 @@
core::Iterator<dynamic> :sync-for-iterator = (let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/forin.dart:10:18: Error: The type 'Iterable<int>?' used in the 'for' loop must implement 'Iterable<dynamic>' because 'Iterable<int>?' is nullable and 'Iterable<dynamic>' isn't.
- 'Iterable' is from 'dart:core'.
[for (int x in i2) x];
- ^" in i2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in i2).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t2.{core::List::add}(x){(core::int) → void};
}
}
@@ -80,9 +80,9 @@
- 'List' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in l2) x;
- ^" in l2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in l2).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
x;
}
}
@@ -93,9 +93,9 @@
- 'List' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in l2) x];
- ^" in l2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int x = :sync-for-iterator.{core::Iterator::current};
+ ^" in l2).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t5.{core::List::add}(x){(core::int) → void};
}
}
@@ -105,9 +105,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in o1) x;
- ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t8 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -121,9 +121,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in o1) x];
- ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o1 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t11 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t11 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t9.{core::List::add}(x){(core::int) → void};
@@ -136,9 +136,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
for (int x in o2) x;
- ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t13 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t13 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -152,9 +152,9 @@
- 'Object' is from 'dart:core'.
- 'Iterable' is from 'dart:core'.
[for (int x in o2) x];
- ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
+ ^" in o2 as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t16 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t14.{core::List::add}(x){(core::int) → void};
@@ -165,43 +165,43 @@
}
static method ok(core::Iterable<core::int> i1, core::List<core::int> l1, dynamic d) → dynamic {
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
x;
}
}
block {
final core::List<core::int> #t17 = core::_GrowableList::•<core::int>(0);
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = i1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
#t17.{core::List::add}(x){(core::int) → void};
}
}
} =>#t17;
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
x;
}
}
block {
final core::List<core::int> #t18 = core::_GrowableList::•<core::int>(0);
{
- 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};
+ core::Iterator<core::int> :sync-for-iterator = l1.{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int x = :sync-for-iterator.{core::Iterator::current}{core::int};
#t18.{core::List::add}(x){(core::int) → void};
}
}
} =>#t18;
{
- core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t19 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
x;
@@ -211,9 +211,9 @@
block {
final core::List<core::int> #t20 = core::_GrowableList::•<core::int>(0);
{
- core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (d as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t21 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::int x = #t21 as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
#t20.{core::List::add}(x){(core::int) → void};
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 b44b839..614b401 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.strong.transformed.expect
@@ -20,9 +20,9 @@
core::print(i);
}
{
- core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
{
core::print(i);
}
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 b44b839..614b401 100644
--- a/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.transformed.expect
@@ -20,9 +20,9 @@
core::print(i);
}
{
- core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
{
core::print(i);
}
diff --git a/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
index e3f7bc6..f7c18e2 100644
--- a/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41108.dart.strong.transformed.expect
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
index c121ca7..0ba3732 100644
--- a/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41108.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 a58c8e8..9eb092b 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.strong.transformed.expect
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 a58c8e8..9eb092b 100644
--- a/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.transformed.expect
@@ -28,7 +28,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
index dc8a2d3..4f6a3ba 100644
--- a/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41156.dart.strong.transformed.expect
@@ -78,7 +78,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -104,7 +104,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -131,7 +131,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -158,7 +158,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -184,7 +184,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -211,7 +211,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -298,7 +298,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -333,7 +333,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -367,7 +367,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -402,7 +402,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -415,7 +415,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
index b374725..6e6ee4d 100644
--- a/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41156.dart.weak.transformed.expect
@@ -79,7 +79,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -105,7 +105,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -132,7 +132,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -159,7 +159,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -185,7 +185,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -212,7 +212,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -299,7 +299,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -334,7 +334,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -368,7 +368,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -403,7 +403,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -416,7 +416,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 320f6e7..72d6a6a 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.strong.transformed.expect
@@ -56,7 +56,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -83,7 +83,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -112,7 +112,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -145,7 +145,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -179,7 +179,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -220,7 +220,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -253,7 +253,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -287,7 +287,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -319,7 +319,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -353,7 +353,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -385,7 +385,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<core::bool>};
@@ -398,7 +398,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 320f6e7..72d6a6a 100644
--- a/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.transformed.expect
@@ -56,7 +56,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -83,7 +83,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -112,7 +112,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -145,7 +145,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -179,7 +179,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -220,7 +220,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -253,7 +253,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -287,7 +287,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -319,7 +319,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -353,7 +353,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Future<core::bool>;
@@ -385,7 +385,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
})(){() → asy::Future<core::bool>};
@@ -398,7 +398,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 99e8151..70fbbeb 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.strong.transformed.expect
@@ -292,7 +292,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 99e8151..70fbbeb 100644
--- a/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.transformed.expect
@@ -292,7 +292,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 b3f22ba..943f144 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.strong.transformed.expect
@@ -57,7 +57,7 @@
try {
#L1:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(null))
+ if(:controller.{asy::_AsyncStarStreamController::add}(null){(dynamic) → core::bool})
return null;
else
[yield] null;
@@ -65,15 +65,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method getStreamBool() → asy::Stream<core::bool> /* originally async* */ {
@@ -90,7 +90,7 @@
try {
#L2:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(true))
+ if(:controller.{asy::_AsyncStarStreamController::add}(true){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -98,15 +98,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test1() → asy::Stream<core::bool> /* originally async* */ {
@@ -123,7 +123,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -131,15 +131,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test2() → asy::Stream<core::bool>
@@ -163,7 +163,7 @@
if(:controller.{asy::_AsyncStarStreamController::addStream}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:21:10: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
yield* getStreamNull(); // error
- ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>))
+ ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -171,15 +171,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test5() → asy::Stream<core::bool>
@@ -203,7 +203,7 @@
try {
#L5:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -211,15 +211,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test() → dynamic /* originally async */ {
@@ -248,7 +248,7 @@
try {
#L7:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -256,15 +256,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
function test2() → asy::Stream<core::bool>
@@ -288,7 +288,7 @@
if(:controller.{asy::_AsyncStarStreamController::addStream}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:38:12: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
yield* getStreamNull(); // error
- ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>))
+ ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -296,15 +296,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
function test5() → asy::Stream<core::bool>
@@ -328,7 +328,7 @@
try {
#L9:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -336,15 +336,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
asy::Stream<core::bool> var1 = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:49:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
@@ -364,7 +364,7 @@
try {
#L10:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull()))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull()){(dynamic) → core::bool})
return null;
else
[yield] null;
@@ -372,15 +372,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
})(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())(){() → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
@@ -402,7 +402,7 @@
try {
#L11:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamNull()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamNull()){(asy::Stream<dynamic>) → core::bool})
return null;
else
[yield] null;
@@ -410,15 +410,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
})(){() → 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>'.
@@ -440,7 +440,7 @@
try {
#L12:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -448,15 +448,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
})(){() → asy::Stream<core::bool>};
}
@@ -468,7 +468,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 b3f22ba..943f144 100644
--- a/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.transformed.expect
@@ -57,7 +57,7 @@
try {
#L1:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(null))
+ if(:controller.{asy::_AsyncStarStreamController::add}(null){(dynamic) → core::bool})
return null;
else
[yield] null;
@@ -65,15 +65,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method getStreamBool() → asy::Stream<core::bool> /* originally async* */ {
@@ -90,7 +90,7 @@
try {
#L2:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(true))
+ if(:controller.{asy::_AsyncStarStreamController::add}(true){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -98,15 +98,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test1() → asy::Stream<core::bool> /* originally async* */ {
@@ -123,7 +123,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -131,15 +131,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test2() → asy::Stream<core::bool>
@@ -163,7 +163,7 @@
if(:controller.{asy::_AsyncStarStreamController::addStream}(let final Never #t1 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:21:10: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
yield* getStreamNull(); // error
- ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>))
+ ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -171,15 +171,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test5() → asy::Stream<core::bool>
@@ -203,7 +203,7 @@
try {
#L5:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -211,15 +211,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
static method test() → dynamic /* originally async */ {
@@ -248,7 +248,7 @@
try {
#L7:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool){(core::bool) → core::bool})
return null;
else
[yield] null;
@@ -256,15 +256,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
function test2() → asy::Stream<core::bool>
@@ -288,7 +288,7 @@
if(:controller.{asy::_AsyncStarStreamController::addStream}(let final Never #t3 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:38:12: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
- 'Stream' is from 'dart:async'.
yield* getStreamNull(); // error
- ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>))
+ ^" in self::getStreamNull() as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -296,15 +296,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
function test5() → asy::Stream<core::bool>
@@ -328,7 +328,7 @@
try {
#L9:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -336,15 +336,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
}
asy::Stream<core::bool> var1 = let final Never #t5 = invalid-expression "pkg/front_end/testcases/nnbd/issue41437c.dart:49:5: Error: A value of type 'Stream<dynamic>' can't be assigned to a variable of type 'Stream<bool>'.
@@ -364,7 +364,7 @@
try {
#L10:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull()))
+ if(:controller.{asy::_AsyncStarStreamController::add}(self::getNull()){(dynamic) → core::bool})
return null;
else
[yield] null;
@@ -372,15 +372,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
})(){() → asy::Stream<dynamic>} as{TypeError,ForNonNullableByDefault} asy::Stream<core::bool>;
asy::Stream<core::bool> var2 = (() → dynamic => self::getNull())(){() → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<core::bool>;
@@ -402,7 +402,7 @@
try {
#L11:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamNull()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamNull()){(asy::Stream<dynamic>) → core::bool})
return null;
else
[yield] null;
@@ -410,15 +410,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
})(){() → 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>'.
@@ -440,7 +440,7 @@
try {
#L12:
{
- if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()))
+ if(:controller.{asy::_AsyncStarStreamController::addStream}(self::getStreamBool()){(asy::Stream<core::bool>) → core::bool})
return null;
else
[yield] null;
@@ -448,15 +448,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::bool>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<core::bool>};
return :controller_stream;
})(){() → asy::Stream<core::bool>};
}
@@ -468,7 +468,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
index e85bc0e..50a282e 100644
--- a/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41602.dart.strong.transformed.expect
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -90,7 +90,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -118,7 +118,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
index e85bc0e..50a282e 100644
--- a/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41602.dart.weak.transformed.expect
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -60,7 +60,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -90,7 +90,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -118,7 +118,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 aef590c..8b732be 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.strong.transformed.expect
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -98,7 +98,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
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 aef590c..8b732be 100644
--- a/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.transformed.expect
@@ -59,7 +59,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -98,7 +98,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
diff --git a/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
index 4e127a6..6ba990a 100644
--- a/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42540.dart.strong.transformed.expect
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
index e61b30d..4d5ecd6 100644
--- a/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42540.dart.weak.transformed.expect
@@ -32,7 +32,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 69395db..22760fa 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.strong.transformed.expect
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 69395db..22760fa 100644
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.transformed.expect
@@ -45,7 +45,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 fc29605..7b9a1bb 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
@@ -148,9 +148,9 @@
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t17 = <Never, Never>{};
{
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t17.{core::Map::[]=}(#t18.{core::MapEntry::key}{Never}, #t18.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -160,9 +160,9 @@
final core::Map<Never, Never> #t19 = <Never, Never>{};
final core::Map<Never, Never>? #t20 = n1;
if(!(#t20 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t20{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t21 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t20{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t19.{core::Map::[]=}(#t21.{core::MapEntry::key}{Never}, #t21.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -175,9 +175,9 @@
final core::Map<Never, Never> #t22 = <Never, Never>{};
final core::Map<Never, Never>? #t23 = n2;
if(!(#t23 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t23{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t24 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t23{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t24 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t22.{core::Map::[]=}(#t24.{core::MapEntry::key}{Never}, #t24.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -190,9 +190,9 @@
final core::Map<Never, Never> #t25 = <Never, Never>{};
final core::Map<Never, Never>? #t26 = n3;
if(!(#t26 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t26{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t27 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t26{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t25.{core::Map::[]=}(#t27.{core::MapEntry::key}{Never}, #t27.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -269,9 +269,9 @@
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>{};
{
- core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t45 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t44.{core::Map::[]=}(#t45.{core::MapEntry::key}{self::test2::N1}, #t45.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -281,9 +281,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t48 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t46.{core::Map::[]=}(#t48.{core::MapEntry::key}{self::test2::N1}, #t48.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -296,9 +296,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t51 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t49.{core::Map::[]=}(#t51.{core::MapEntry::key}{self::test2::N1}, #t51.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -311,9 +311,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t54 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t52.{core::Map::[]=}(#t54.{core::MapEntry::key}{self::test2::N1}, #t54.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
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 d7272c6..6652f27 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
@@ -149,9 +149,9 @@
core::Map<Never, Never> m1 = block {
final core::Map<Never, Never> #t27 = <Never, Never>{};
{
- 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<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current};
+ 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<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t27.{core::Map::[]=}(#t29.{core::MapEntry::key}{Never}, #t29.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -161,9 +161,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t33{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t33{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t32.{core::Map::[]=}(#t35.{core::MapEntry::key}{Never}, #t35.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -176,9 +176,9 @@
final core::Map<Never, Never> #t40 = <Never, Never>{};
final core::Map<Never, Never>? #t41 = n2;
if(!(#t41 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t41{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t42 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t41{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t42 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t40.{core::Map::[]=}(#t42.{core::MapEntry::key}{Never}, #t42.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -191,9 +191,9 @@
final core::Map<Never, Never> #t47 = <Never, Never>{};
final core::Map<Never, Never>? #t48 = n3;
if(!(#t48 == null)) {
- core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t48{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<Never, Never> #t49 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t48{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<Never, Never> #t49 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
#t47.{core::Map::[]=}(#t49.{core::MapEntry::key}{Never}, #t49.{core::MapEntry::value}{Never}){(Never, Never) → void};
}
}
@@ -270,9 +270,9 @@
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>{};
{
- core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t80 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t78.{core::Map::[]=}(#t80.{core::MapEntry::key}{self::test2::N1}, #t80.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -282,9 +282,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t86 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t83.{core::Map::[]=}(#t86.{core::MapEntry::key}{self::test2::N1}, #t86.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -297,9 +297,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t93 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t91.{core::Map::[]=}(#t93.{core::MapEntry::key}{self::test2::N1}, #t93.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
@@ -312,9 +312,9 @@
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 == 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{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};
+ 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<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<self::test2::N1, self::test2::N1> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
#t98.{core::Map::[]=}(#t100.{core::MapEntry::key}{self::test2::N1}, #t100.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
}
}
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 fb6047d..bc28998 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
@@ -62,16 +62,16 @@
if (i > 0) ...nullableMap, // error
^", 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<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t1.{core::Map::[]=}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t1.{core::Map::[]=}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
@@ -111,16 +111,16 @@
if (i > 0) ...y, // error
^", null){(dynamic, dynamic) → void};
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t6.{core::Map::[]=}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t6.{core::Map::[]=}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
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 fb6047d..bc28998 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
@@ -62,16 +62,16 @@
if (i > 0) ...nullableMap, // error
^", 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<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t1.{core::Map::[]=}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t1.{core::Map::[]=}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
@@ -111,16 +111,16 @@
if (i > 0) ...y, // error
^", null){(dynamic, dynamic) → void};
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t6.{core::Map::[]=}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
- core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t6.{core::Map::[]=}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
}
}
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 ccf9bc0..380d9ab 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
@@ -174,9 +174,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
#t1.{core::Set::add}(#t3){(core::int) → core::bool};
@@ -188,9 +188,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
#t4.{core::Set::add}(#t6){(core::int) → core::bool};
@@ -202,9 +202,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
#t7.{core::Set::add}(#t9){(core::int) → core::bool};
@@ -227,9 +227,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
#t11.{core::Set::add}(#t13){(core::int) → core::bool};
@@ -241,9 +241,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
#t14.{core::Set::add}(#t16){(core::int) → core::bool};
@@ -255,9 +255,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
#t17.{core::Set::add}(#t19){(core::int) → core::bool};
@@ -273,15 +273,15 @@
} =>#t20, block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t22 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t22 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
#t21.{core::Set::add}(#t23){(core::int) → core::bool};
@@ -293,15 +293,15 @@
} =>#t21, block {
final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
#t24.{core::Set::add}(#t26){(core::int) → core::bool};
@@ -313,15 +313,15 @@
} =>#t24, block {
final core::Set<core::int> #t27 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t28 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t28 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
#t27.{core::Set::add}(#t29){(core::int) → core::bool};
@@ -333,9 +333,9 @@
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
#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){(core::int, core::int) → void};
@@ -346,9 +346,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
#t31.{core::Set::add}(#t33){(core::int) → core::bool};
@@ -360,9 +360,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
#t34.{core::Set::add}(#t36){(core::int) → core::bool};
@@ -374,9 +374,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t38 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
#t37.{core::Set::add}(#t39){(core::int) → core::bool};
@@ -393,9 +393,9 @@
final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t43 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
#t41.{core::Set::add}(#t44){(core::int) → core::bool};
@@ -406,9 +406,9 @@
final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t47 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
#t45.{core::Set::add}(#t48){(core::int) → core::bool};
@@ -419,9 +419,9 @@
final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t51 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
#t49.{core::Set::add}(#t52){(core::int) → core::bool};
@@ -432,9 +432,9 @@
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t53.{core::Map::[]=}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -443,9 +443,9 @@
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
#t56.{core::Set::add}(#t59){(core::int) → core::bool};
@@ -458,9 +458,9 @@
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
#t60.{core::Set::add}(#t63){(core::int) → core::bool};
@@ -473,9 +473,9 @@
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
#t64.{core::Set::add}(#t67){(core::int) → core::bool};
@@ -488,9 +488,9 @@
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t68.{core::Map::[]=}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -498,15 +498,15 @@
} =>#t68, block {
final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t72 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
#t71.{core::Set::add}(#t74){(core::int) → core::bool};
@@ -519,15 +519,15 @@
} =>#t71, block {
final core::Set<core::int> #t75 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t76 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
#t75.{core::Set::add}(#t78){(core::int) → core::bool};
@@ -540,15 +540,15 @@
} =>#t75, block {
final core::Set<core::int> #t79 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t80 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
#t79.{core::Set::add}(#t82){(core::int) → core::bool};
@@ -561,15 +561,15 @@
} =>#t79, block {
final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Map<core::int, core::int>? #t84 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t83.{core::Map::[]=}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -581,9 +581,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t88 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
#t86.{core::Set::add}(#t89){(core::int) → core::bool};
@@ -596,9 +596,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t92 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
#t90.{core::Set::add}(#t93){(core::int) → core::bool};
@@ -611,9 +611,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
#t94.{core::Set::add}(#t97){(core::int) → core::bool};
@@ -626,9 +626,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t98.{core::Map::[]=}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -641,9 +641,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t102 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t102 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
#t101.{core::Set::add}(#t103){(core::int) → core::bool};
@@ -655,9 +655,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t105 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t105 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
#t104.{core::Set::add}(#t106){(core::int) → core::bool};
@@ -669,9 +669,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t108 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t108 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
#t107.{core::Set::add}(#t109){(core::int) → core::bool};
@@ -692,9 +692,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t112 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
#t111.{core::Set::add}(#t113){(core::int) → core::bool};
@@ -706,9 +706,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t115 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
#t114.{core::Set::add}(#t116){(core::int) → core::bool};
@@ -720,9 +720,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t118 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t118 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
#t117.{core::Set::add}(#t119){(core::int) → core::bool};
@@ -738,15 +738,15 @@
} =>#t120, block {
final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t122 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t122 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
#t121.{core::Set::add}(#t123){(core::int) → core::bool};
@@ -758,15 +758,15 @@
} =>#t121, block {
final core::Set<core::int> #t124 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t125 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t125 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
#t124.{core::Set::add}(#t126){(core::int) → core::bool};
@@ -778,15 +778,15 @@
} =>#t124, block {
final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t128 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t128 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
#t127.{core::Set::add}(#t129){(core::int) → core::bool};
@@ -798,9 +798,9 @@
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
#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){(core::int, core::int) → void};
@@ -811,9 +811,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t132 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t132 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
#t131.{core::Set::add}(#t133){(core::int) → core::bool};
@@ -825,9 +825,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t135 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t135 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
#t134.{core::Set::add}(#t136){(core::int) → core::bool};
@@ -839,9 +839,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t138 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t138 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
#t137.{core::Set::add}(#t139){(core::int) → core::bool};
@@ -858,9 +858,9 @@
final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
#t141.{core::Set::add}(#t144){(core::int) → core::bool};
@@ -871,9 +871,9 @@
final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
#t145.{core::Set::add}(#t148){(core::int) → core::bool};
@@ -884,9 +884,9 @@
final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
#t149.{core::Set::add}(#t152){(core::int) → core::bool};
@@ -897,9 +897,9 @@
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t153.{core::Map::[]=}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -908,9 +908,9 @@
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t158 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
#t156.{core::Set::add}(#t159){(core::int) → core::bool};
@@ -923,9 +923,9 @@
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t162 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
#t160.{core::Set::add}(#t163){(core::int) → core::bool};
@@ -938,9 +938,9 @@
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t166 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
#t164.{core::Set::add}(#t167){(core::int) → core::bool};
@@ -953,9 +953,9 @@
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t168.{core::Map::[]=}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -963,15 +963,15 @@
} =>#t168, block {
final core::Set<core::int> #t171 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t172 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t173 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
#t171.{core::Set::add}(#t174){(core::int) → core::bool};
@@ -984,15 +984,15 @@
} =>#t171, block {
final core::Set<core::int> #t175 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t176 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t177 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
#t175.{core::Set::add}(#t178){(core::int) → core::bool};
@@ -1005,15 +1005,15 @@
} =>#t175, block {
final core::Set<core::int> #t179 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t180 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
#t179.{core::Set::add}(#t182){(core::int) → core::bool};
@@ -1026,15 +1026,15 @@
} =>#t179, block {
final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Map<core::int, core::int>? #t184 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t183.{core::Map::[]=}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -1046,9 +1046,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t188 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
#t186.{core::Set::add}(#t189){(core::int) → core::bool};
@@ -1061,9 +1061,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t192 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
#t190.{core::Set::add}(#t193){(core::int) → core::bool};
@@ -1076,9 +1076,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t196 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
#t194.{core::Set::add}(#t197){(core::int) → core::bool};
@@ -1091,9 +1091,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t198.{core::Map::[]=}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
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 ccf9bc0..380d9ab 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
@@ -174,9 +174,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
#t1.{core::Set::add}(#t3){(core::int) → core::bool};
@@ -188,9 +188,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
#t4.{core::Set::add}(#t6){(core::int) → core::bool};
@@ -202,9 +202,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
#t7.{core::Set::add}(#t9){(core::int) → core::bool};
@@ -227,9 +227,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
#t11.{core::Set::add}(#t13){(core::int) → core::bool};
@@ -241,9 +241,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
#t14.{core::Set::add}(#t16){(core::int) → core::bool};
@@ -255,9 +255,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
#t17.{core::Set::add}(#t19){(core::int) → core::bool};
@@ -273,15 +273,15 @@
} =>#t20, block {
final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...a}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t22 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t22 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
#t21.{core::Set::add}(#t23){(core::int) → core::bool};
@@ -293,15 +293,15 @@
} =>#t21, block {
final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...b}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
#t24.{core::Set::add}(#t26){(core::int) → core::bool};
@@ -313,15 +313,15 @@
} =>#t24, block {
final core::Set<core::int> #t27 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...c}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t28 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t28 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
#t27.{core::Set::add}(#t29){(core::int) → core::bool};
@@ -333,9 +333,9 @@
} =>#t27, block {
final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
#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){(core::int, core::int) → void};
@@ -346,9 +346,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t32 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
#t31.{core::Set::add}(#t33){(core::int) → core::bool};
@@ -360,9 +360,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
#t34.{core::Set::add}(#t36){(core::int) → core::bool};
@@ -374,9 +374,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t38 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
#t37.{core::Set::add}(#t39){(core::int) → core::bool};
@@ -393,9 +393,9 @@
final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t42 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t43 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
#t41.{core::Set::add}(#t44){(core::int) → core::bool};
@@ -406,9 +406,9 @@
final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t46 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t47 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
#t45.{core::Set::add}(#t48){(core::int) → core::bool};
@@ -419,9 +419,9 @@
final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t50 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t51 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
#t49.{core::Set::add}(#t52){(core::int) → core::bool};
@@ -432,9 +432,9 @@
final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t54 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t53.{core::Map::[]=}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -443,9 +443,9 @@
if(condition) {
final core::Iterable<dynamic>? #t57 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
#t56.{core::Set::add}(#t59){(core::int) → core::bool};
@@ -458,9 +458,9 @@
if(condition) {
final core::Iterable<dynamic>? #t61 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
#t60.{core::Set::add}(#t63){(core::int) → core::bool};
@@ -473,9 +473,9 @@
if(condition) {
final core::Iterable<dynamic>? #t65 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
#t64.{core::Set::add}(#t67){(core::int) → core::bool};
@@ -488,9 +488,9 @@
if(condition) {
final core::Map<core::int, core::int>? #t69 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t68.{core::Map::[]=}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -498,15 +498,15 @@
} =>#t68, block {
final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t72 = a;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
#t71.{core::Set::add}(#t74){(core::int) → core::bool};
@@ -519,15 +519,15 @@
} =>#t71, block {
final core::Set<core::int> #t75 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t76 = b;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
#t75.{core::Set::add}(#t78){(core::int) → core::bool};
@@ -540,15 +540,15 @@
} =>#t75, block {
final core::Set<core::int> #t79 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t80 = c;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
#t79.{core::Set::add}(#t82){(core::int) → core::bool};
@@ -561,15 +561,15 @@
} =>#t79, block {
final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Map<core::int, core::int>? #t84 = d;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t83.{core::Map::[]=}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -581,9 +581,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t88 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
#t86.{core::Set::add}(#t89){(core::int) → core::bool};
@@ -596,9 +596,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t92 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
#t90.{core::Set::add}(#t93){(core::int) → core::bool};
@@ -611,9 +611,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
#t94.{core::Set::add}(#t97){(core::int) → core::bool};
@@ -626,9 +626,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t98.{core::Map::[]=}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -641,9 +641,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t102 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t102 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
#t101.{core::Set::add}(#t103){(core::int) → core::bool};
@@ -655,9 +655,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t105 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t105 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
#t104.{core::Set::add}(#t106){(core::int) → core::bool};
@@ -669,9 +669,9 @@
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t108 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t108 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
#t107.{core::Set::add}(#t109){(core::int) → core::bool};
@@ -692,9 +692,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t112 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
#t111.{core::Set::add}(#t113){(core::int) → core::bool};
@@ -706,9 +706,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t115 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
#t114.{core::Set::add}(#t116){(core::int) → core::bool};
@@ -720,9 +720,9 @@
if(condition) {
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{if (condition) ...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t118 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t118 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
#t117.{core::Set::add}(#t119){(core::int) → core::bool};
@@ -738,15 +738,15 @@
} =>#t120, block {
final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...x}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t122 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t122 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
#t121.{core::Set::add}(#t123){(core::int) → core::bool};
@@ -758,15 +758,15 @@
} =>#t121, block {
final core::Set<core::int> #t124 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...y}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t125 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t125 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
#t124.{core::Set::add}(#t126){(core::int) → core::bool};
@@ -778,15 +778,15 @@
} =>#t124, block {
final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
{for (dynamic e in iterable) ...z}, // Error.
- ^".{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t128 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t128 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
#t127.{core::Set::add}(#t129){(core::int) → core::bool};
@@ -798,9 +798,9 @@
} =>#t127, block {
final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
#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){(core::int, core::int) → void};
@@ -811,9 +811,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t132 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t132 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
#t131.{core::Set::add}(#t133){(core::int) → core::bool};
@@ -825,9 +825,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t135 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t135 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
#t134.{core::Set::add}(#t136){(core::int) → core::bool};
@@ -839,9 +839,9 @@
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};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t138 = :sync-for-iterator.{core::Iterator::current};
+ ^".{core::Iterable::iterator}{core::Iterator<Never>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t138 = :sync-for-iterator.{core::Iterator::current}{Never};
{
final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
#t137.{core::Set::add}(#t139){(core::int) → core::bool};
@@ -858,9 +858,9 @@
final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t142 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
#t141.{core::Set::add}(#t144){(core::int) → core::bool};
@@ -871,9 +871,9 @@
final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t146 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
#t145.{core::Set::add}(#t148){(core::int) → core::bool};
@@ -884,9 +884,9 @@
final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t150 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
#t149.{core::Set::add}(#t152){(core::int) → core::bool};
@@ -897,9 +897,9 @@
final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t154 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t153.{core::Map::[]=}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -908,9 +908,9 @@
if(condition) {
final core::Iterable<dynamic>? #t157 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t158 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
#t156.{core::Set::add}(#t159){(core::int) → core::bool};
@@ -923,9 +923,9 @@
if(condition) {
final core::Iterable<dynamic>? #t161 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t162 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
#t160.{core::Set::add}(#t163){(core::int) → core::bool};
@@ -938,9 +938,9 @@
if(condition) {
final core::Iterable<dynamic>? #t165 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t166 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
#t164.{core::Set::add}(#t167){(core::int) → core::bool};
@@ -953,9 +953,9 @@
if(condition) {
final core::Map<core::int, core::int>? #t169 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t168.{core::Map::[]=}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -963,15 +963,15 @@
} =>#t168, block {
final core::Set<core::int> #t171 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t172 = x;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t173 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
#t171.{core::Set::add}(#t174){(core::int) → core::bool};
@@ -984,15 +984,15 @@
} =>#t171, block {
final core::Set<core::int> #t175 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t176 = y;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t177 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
#t175.{core::Set::add}(#t178){(core::int) → core::bool};
@@ -1005,15 +1005,15 @@
} =>#t175, block {
final core::Set<core::int> #t179 = new col::_CompactLinkedHashSet::•<core::int>();
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Iterable<dynamic>? #t180 = z;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
#t179.{core::Set::add}(#t182){(core::int) → core::bool};
@@ -1026,15 +1026,15 @@
} =>#t179, block {
final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
{
- 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};
+ core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::Map<core::int, core::int>? #t184 = w;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t183.{core::Map::[]=}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -1046,9 +1046,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t188 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
#t186.{core::Set::add}(#t189){(core::int) → core::bool};
@@ -1061,9 +1061,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t192 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
#t190.{core::Set::add}(#t193){(core::int) → core::bool};
@@ -1076,9 +1076,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t196 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
#t194.{core::Set::add}(#t197){(core::int) → core::bool};
@@ -1091,9 +1091,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t198.{core::Map::[]=}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
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 e08b045..122e031 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.strong.transformed.expect
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 e08b045..122e031 100644
--- a/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.transformed.expect
@@ -40,7 +40,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 303c03a..18efa67 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.strong.transformed.expect
@@ -109,9 +109,9 @@
core::print("baz");
}
{
- core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator}{core::Iterator<core::String>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
@@ -146,9 +146,9 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::String s = :for-iterator.{asy::_StreamIterator::current};
+ core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
}
@@ -157,8 +157,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -225,7 +225,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -239,7 +239,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 303c03a..18efa67 100644
--- a/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/later.dart.weak.transformed.expect
@@ -109,9 +109,9 @@
core::print("baz");
}
{
- core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::String s = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("baz").{core::Iterable::iterator}{core::Iterator<core::String>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
@@ -146,9 +146,9 @@
#L2:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- core::String s = :for-iterator.{asy::_StreamIterator::current};
+ core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
{
core::print(s);
}
@@ -157,8 +157,8 @@
break #L2;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -173,7 +173,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -225,7 +225,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
};
@@ -239,7 +239,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 f385f6f..2a9f5d7 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
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -136,7 +136,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 f385f6f..2a9f5d7 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
@@ -35,7 +35,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -65,7 +65,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -94,7 +94,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -136,7 +136,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}, (core::Object e, core::StackTrace s) → void {
@@ -153,7 +153,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
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 809f8b6..702dfef 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
@@ -113,7 +113,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -137,7 +137,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -166,7 +166,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -190,7 +190,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -214,7 +214,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -241,7 +241,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -265,7 +265,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -296,15 +296,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method caseReturn1(self::Enum e) → self::Enum {
@@ -381,7 +381,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -405,7 +405,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -434,7 +434,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -458,7 +458,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -482,7 +482,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -509,7 +509,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -533,7 +533,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -564,15 +564,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
function caseReturn1(self::Enum e) → self::Enum {
@@ -642,7 +642,7 @@
Evaluated: MethodInvocation @ org-dartlang-testcase:///return_null.dart:75:14 -> BoolConstant(true)
Evaluated: VariableGet @ org-dartlang-testcase:///return_null.dart:75:14 -> NullConstant(null)
Evaluated: VariableGet @ org-dartlang-testcase:///return_null.dart:75:14 -> NullConstant(null)
-Extra constant evaluation: evaluated: 394, effectively constant: 12
+Extra constant evaluation: evaluated: 380, effectively constant: 12
Constructor coverage from constants:
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 0faf793..51a7d44 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
@@ -114,7 +114,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -138,7 +138,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -167,7 +167,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -191,7 +191,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -215,7 +215,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -242,7 +242,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -266,7 +266,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -297,15 +297,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
static method caseReturn1(self::Enum e) → self::Enum {
@@ -385,7 +385,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -409,7 +409,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -438,7 +438,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -462,7 +462,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -486,7 +486,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -513,7 +513,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -537,7 +537,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() → dynamic};
:is_sync = true;
return :async_future;
}
@@ -568,15 +568,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
function caseReturn1(self::Enum e) → self::Enum {
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 af8e07c..c45184d 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
@@ -68,9 +68,9 @@
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
#t17.{core::Set::add}(#t20){(core::int) → core::bool};
@@ -103,9 +103,9 @@
#t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t25.{core::Map::[]=}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -117,9 +117,9 @@
#t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = 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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t28.{core::Map::[]=}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -129,9 +129,9 @@
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t31.{core::Map::[]=}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -142,9 +142,9 @@
#t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t34.{core::Map::[]=}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -156,9 +156,9 @@
#t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = 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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t37.{core::Map::[]=}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
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 af8e07c..c45184d 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
@@ -68,9 +68,9 @@
final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
final core::Iterable<dynamic>? #t18 = set;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
#t17.{core::Set::add}(#t20){(core::int) → core::bool};
@@ -103,9 +103,9 @@
#t25.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t26 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t25.{core::Map::[]=}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -117,9 +117,9 @@
#t28.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t29 = 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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t28.{core::Map::[]=}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -129,9 +129,9 @@
final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
final core::Map<core::int, core::int>? #t32 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t31.{core::Map::[]=}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -142,9 +142,9 @@
#t34.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t35 = map;
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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t34.{core::Map::[]=}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
@@ -156,9 +156,9 @@
#t37.{core::Map::[]=}(2, 2){(core::int, core::int) → void};
final core::Map<core::int, core::int>? #t38 = 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<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
#t37.{core::Map::[]=}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
}
}
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 a208e0d..68f5e76 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
@@ -147,9 +147,9 @@
final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
#t7.{core::Set::add}(#t10){(core::String) → core::bool};
@@ -167,9 +167,9 @@
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
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<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
#t13.{core::Map::[]=}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
}
}
@@ -178,9 +178,9 @@
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
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<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
#t16.{core::Map::[]=}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
}
}
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 a208e0d..68f5e76 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
@@ -147,9 +147,9 @@
final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
final core::Iterable<dynamic>? #t8 = l;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
#t7.{core::Set::add}(#t10){(core::String) → core::bool};
@@ -167,9 +167,9 @@
final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t14 = m;
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<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
#t13.{core::Map::[]=}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
}
}
@@ -178,9 +178,9 @@
final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
final core::Map<core::String, core::int>? #t17 = m;
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<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
#t16.{core::Map::[]=}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
}
}
diff --git a/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.strong.transformed.expect
index 3a904fc..c007963 100644
--- a/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.strong.transformed.expect
@@ -571,9 +571,9 @@
static method foo6a() → dynamic {
(self::A<Never>) → self::A<dynamic> x;
{
- core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator}{core::Iterator<(self::A<Never>) → self::A<dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current}{(self::A<Never>) → self::A<dynamic>};
{}
}
}
@@ -587,9 +587,9 @@
static method foo6b() → dynamic {
(self::A<Never>) → self::A<dynamic> x;
{
- core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator}{core::Iterator<(self::A<Never>) → self::A<dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current}{(self::A<Never>) → self::A<dynamic>};
{}
}
}
@@ -610,9 +610,9 @@
static method bar6() → dynamic {
self::B<core::num> x;
{
- core::Iterator<self::B<core::num>> :sync-for-iterator = core::_GrowableList::•<self::B<core::num>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::B<core::num> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B<core::num>> :sync-for-iterator = core::_GrowableList::•<self::B<core::num>>(0).{core::Iterable::iterator}{core::Iterator<self::B<core::num>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::B<core::num> x = :sync-for-iterator.{core::Iterator::current}{self::B<core::num>};
{}
}
}
diff --git a/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.transformed.expect
index 3a904fc..c007963 100644
--- a/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.transformed.expect
@@ -571,9 +571,9 @@
static method foo6a() → dynamic {
(self::A<Never>) → self::A<dynamic> x;
{
- core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator}{core::Iterator<(self::A<Never>) → self::A<dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current}{(self::A<Never>) → self::A<dynamic>};
{}
}
}
@@ -587,9 +587,9 @@
static method foo6b() → dynamic {
(self::A<Never>) → self::A<dynamic> x;
{
- core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<(self::A<Never>) → self::A<dynamic>> :sync-for-iterator = core::_GrowableList::•<(self::A<Never>) → self::A<dynamic>>(0).{core::Iterable::iterator}{core::Iterator<(self::A<Never>) → self::A<dynamic>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ (self::A<Never>) → self::A<dynamic> x = :sync-for-iterator.{core::Iterator::current}{(self::A<Never>) → self::A<dynamic>};
{}
}
}
@@ -610,9 +610,9 @@
static method bar6() → dynamic {
self::B<core::num> x;
{
- core::Iterator<self::B<core::num>> :sync-for-iterator = core::_GrowableList::•<self::B<core::num>>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::B<core::num> x = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B<core::num>> :sync-for-iterator = core::_GrowableList::•<self::B<core::num>>(0).{core::Iterable::iterator}{core::Iterator<self::B<core::num>>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::B<core::num> x = :sync-for-iterator.{core::Iterator::current}{self::B<core::num>};
{}
}
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
index faea41f..96460c4 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.transformed.expect
@@ -24,7 +24,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -49,7 +49,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -81,7 +81,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
diff --git a/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
index db78f69..dcba0f6 100644
--- a/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.transformed.expect
@@ -30,7 +30,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
};
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 61aa1eb..8560742 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
@@ -39,9 +39,9 @@
static method main() → dynamic {
core::List<self::Base*>* list = core::_GrowableList::_literal2<self::Base*>(new self::Me::•(), new self::You::•());
{
- core::Iterator<self::Base*>* :sync-for-iterator = list.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- self::Base* baba = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::Base*>* :sync-for-iterator = list.{core::Iterable::iterator}{core::Iterator<self::Base*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::Base* baba = :sync-for-iterator.{core::Iterator::current}{self::Base*};
{
baba.{self::Base::push} = 0;
baba.{self::Base::float} = 1;
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 533f9ab..ad7b018 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
@@ -9,9 +9,9 @@
static method fact4() → dynamic {
core::int* f = 1;
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal4<core::int*>(1, 2, 3, 4).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* n = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal4<core::int*>(1, 2, 3, 4).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* n = :sync-for-iterator.{core::Iterator::current}{core::int*};
{
f = f.{core::num::*}(n){(core::num*) →* core::int*};
}
@@ -23,9 +23,9 @@
core::int* f = 1;
dynamic n;
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal5<dynamic>(1, 2, 3, 4, 5).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal5<dynamic>(1, 2, 3, 4, 5).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
n = #t1;
f = f.{core::num::*}(n as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
@@ -37,9 +37,9 @@
static method fact6() → dynamic {
core::int* f = 1;
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal6<dynamic>(1, 2, 3, 4, 5, 6).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::_literal6<dynamic>(1, 2, 3, 4, 5, 6).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::global = #t2;
f = f.{core::num::*}(self::global as{TypeError,ForDynamic} core::num*){(core::num*) →* core::num*} as{TypeError} core::int*;
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
index 5561da6..590cdfe 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
@@ -29,9 +29,9 @@
for (var x, y in []) {}
^^^";
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/issue_000042.dart:6:8: Error: A for-in loop can't have more than one loop variable.
for (var x, y in []) {}
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
index c8cfe5a..ce85d90 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
@@ -94,9 +94,9 @@
;
method it1(dynamic x) → dynamic {
{
- core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
@@ -112,9 +112,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (x 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};
+ core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Error: Can't assign to a type literal.
for (Fisk in x) {
@@ -124,9 +124,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
for (collection in x) {
@@ -138,9 +138,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Error: Can't assign to a type literal.
for (VoidFunction in x) {
@@ -154,9 +154,9 @@
for (1 in x) {
^";
{
- core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (x as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in x) {
@@ -186,9 +186,9 @@
static method main(dynamic arguments) → dynamic {
new self::Fisk::•();
{
- core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Error: Setter not found: 'key'.
for (key in arguments) {
@@ -200,9 +200,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Error: Can't assign to a type literal.
for (Fisk in arguments) {
@@ -212,9 +212,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
for (collection in arguments) {
@@ -226,9 +226,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Error: Can't assign to a type literal.
for (VoidFunction in arguments) {
@@ -242,9 +242,9 @@
for (1 in arguments) {
^";
{
- core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (arguments as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in arguments) {
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
index 5b90ebe..d3211c4 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
@@ -82,7 +82,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -109,7 +109,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -140,7 +140,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 6ae56e4..8e89457 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
@@ -58,7 +58,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -78,7 +78,7 @@
try {
#L3:
{
- if(:controller.{asy::_AsyncStarStreamController::add}(42))
+ if(:controller.{asy::_AsyncStarStreamController::add}(42){(dynamic) → core::bool})
return null;
else
[yield] null;
@@ -86,15 +86,15 @@
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
- :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace);
+ :controller.{asy::_AsyncStarStreamController::addError}(exception, stack_trace){(core::Object, core::StackTrace) → void};
}
finally {
- :controller.{asy::_AsyncStarStreamController::close}();
+ :controller.{asy::_AsyncStarStreamController::close}(){() → dynamic};
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<dynamic>(:async_op);
- :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
+ :controller_stream = :controller.{asy::_AsyncStarStreamController::stream}{asy::Stream<dynamic>};
return :controller_stream;
}
{
@@ -104,9 +104,9 @@
#L4:
while (true) {
dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
- [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
+ [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
if(_in::unsafeCast<core::bool>(:result)) {
- dynamic x = :for-iterator.{asy::_StreamIterator::current};
+ dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
core::print(x);
}
@@ -115,8 +115,8 @@
break #L4;
}
finally
- if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
- [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+ if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null)) {
+ [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
:result;
}
}
@@ -138,9 +138,9 @@
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
}
{
- 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};
+ core::Iterator<dynamic>* :sync-for-iterator = ((f_sync_star(){() →* core::int*} as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic x = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
core::print(x);
}
@@ -155,7 +155,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 d754933..8aff3a5 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
@@ -11,9 +11,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t2.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t4 = #t3 as{TypeError} core::int*;
#t1.{core::Set::add}(#t4){(core::int*) →* core::bool*};
@@ -27,9 +27,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t6.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t8 = #t7 as{TypeError} core::int*;
#t5.{core::List::add}(#t8){(core::int*) →* void};
@@ -43,9 +43,9 @@
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 == null)) {
- core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t10.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t10.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
{
final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
index 3a5d78d..db63c41 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
@@ -13,63 +13,63 @@
method test() → void {
dynamic localVar;
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t1 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t1 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::topLevel = #t1;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::topLevelSetter = #t2;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t3 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::C::staticField = #t3;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
self::C::staticSetter = #t4;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t5 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
this.{self::C::instanceField} = #t5;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
this.{self::C::instanceSetter} = #t6;
}
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
localVar = #t7;
}
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
index 5ff864f..49295eb 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
@@ -116,7 +116,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -143,7 +143,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -172,7 +172,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -201,7 +201,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -236,7 +236,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -269,7 +269,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op.call();
+ :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 27a662d..371f045 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
@@ -34,9 +34,9 @@
core::List<core::int*>* list = block {
final core::List<core::int*>* #t3 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<dynamic>* :sync-for-iterator = (initial as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (initial as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
#t3.{core::List::add}(#t5){(core::int*) →* void};
@@ -53,9 +53,9 @@
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t6 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<dynamic>* :sync-for-iterator = (initial as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (initial as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t8 = #t7 as{TypeError} core::int*;
#t6.{core::Set::add}(#t8){(core::int*) →* core::bool*};
@@ -75,9 +75,9 @@
core::List<core::int*>* list = block {
final core::List<core::int*>* #t9 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t9.{core::List::add}(#t11){(core::int*) →* void};
@@ -94,9 +94,9 @@
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t12 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t13 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t14 = #t13 as{TypeError} core::int*;
#t12.{core::Set::add}(#t14){(core::int*) →* core::bool*};
@@ -116,9 +116,9 @@
core::List<core::int*>* list = block {
final core::List<core::int*>* #t15 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t17 = #t16 as{TypeError} core::int*;
#t15.{core::List::add}(#t17){(core::int*) →* void};
@@ -135,9 +135,9 @@
core::Set<core::int*>* set = block {
final core::Set<core::int*>* #t18 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = initial.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t20 = #t19 as{TypeError} core::int*;
#t18.{core::Set::add}(#t20){(core::int*) →* core::bool*};
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 ed32e60..c778d8e 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
@@ -11,9 +11,9 @@
final core::List<core::int*>* #t1 = core::_GrowableList::_literal1<core::int*>(0);
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = list2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t3 = #t2 as{TypeError} core::int*;
#t1.{core::List::add}(#t3){(core::int*) →* void};
@@ -21,9 +21,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (list3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (list3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
#t1.{core::List::add}(#t5){(core::int*) →* void};
@@ -50,9 +50,9 @@
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = set2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
@@ -60,9 +60,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (set3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (set3 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
@@ -79,16 +79,16 @@
final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
#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<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::String*>* #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::String*>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
#t14.{core::Map::[]=}(#t15.{core::MapEntry::key}{core::int*}, #t15.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
}
}
{
- core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t16 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t16 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
{
final core::int* #t17 = #t16.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
final core::String* #t18 = #t16.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
@@ -97,9 +97,9 @@
}
}
{
- core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
{
final core::int* #t20 = #t19.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
final core::String* #t21 = #t19.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
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 6c633ac..cc8f344 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
@@ -14,9 +14,9 @@
core::List<core::int*>* list1 = block {
final core::List<core::int*>* #t1 = core::_GrowableList::•<core::int*>(0);
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicList1 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};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t3 = #t2 as{TypeError} core::int*;
#t1.{core::List::add}(#t3){(core::int*) →* void};
@@ -24,9 +24,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t5 = #t4 as{TypeError} core::int*;
#t1.{core::List::add}(#t5){(core::int*) →* void};
@@ -35,9 +35,9 @@
}
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = iterableNumList1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t7 = #t6 as{TypeError} core::int*;
#t1.{core::List::add}(#t7){(core::int*) →* void};
@@ -45,9 +45,9 @@
}
}
{
- core::Iterator<core::num*>* :sync-for-iterator = iterableNumList2.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = iterableNumList2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t9 = #t8 as{TypeError} core::int*;
#t1.{core::List::add}(#t9){(core::int*) →* void};
@@ -56,9 +56,9 @@
}
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = numList1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t1.{core::List::add}(#t11){(core::int*) →* void};
@@ -66,9 +66,9 @@
}
}
{
- core::Iterator<core::num*>* :sync-for-iterator = numList2.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = numList2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t1.{core::List::add}(#t13){(core::int*) →* void};
@@ -80,9 +80,9 @@
core::List<core::num*>* list2 = block {
final core::List<core::num*>* #t14 = core::_GrowableList::•<core::num*>(0);
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t16 = #t15 as{TypeError} core::num*;
#t14.{core::List::add}(#t16){(core::num*) →* void};
@@ -90,9 +90,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t17 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t18 = #t17 as{TypeError} core::num*;
#t14.{core::List::add}(#t18){(core::num*) →* void};
@@ -111,9 +111,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t20.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t21 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t22 = #t21 as{TypeError} core::int*;
#t19.{core::List::add}(#t22){(core::int*) →* void};
@@ -122,9 +122,9 @@
}
final core::Iterable<dynamic>* #t23 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t23.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t24 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t25 = #t24 as{TypeError} core::int*;
#t19.{core::List::add}(#t25){(core::int*) →* void};
@@ -136,9 +136,9 @@
#t19.{core::List::addAll}(#t26){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t27 = iterableNumList1;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t27.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t28 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t29 = #t28 as{TypeError} core::int*;
#t19.{core::List::add}(#t29){(core::int*) →* void};
@@ -147,9 +147,9 @@
}
final core::Iterable<dynamic>* #t30 = iterableNumList2;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t30.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t31 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t32 = #t31 as{TypeError} core::int*;
#t19.{core::List::add}(#t32){(core::int*) →* void};
@@ -161,9 +161,9 @@
#t19.{core::List::addAll}(#t33){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t34 = numList1;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t34.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t36 = #t35 as{TypeError} core::int*;
#t19.{core::List::add}(#t36){(core::int*) →* void};
@@ -172,9 +172,9 @@
}
final core::Iterable<dynamic>* #t37 = numList2;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t37.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t39 = #t38 as{TypeError} core::int*;
#t19.{core::List::add}(#t39){(core::int*) →* void};
@@ -187,9 +187,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t41.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t42 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t43 = #t42 as{TypeError} core::num*;
#t40.{core::List::add}(#t43){(core::num*) →* void};
@@ -198,9 +198,9 @@
}
final core::Iterable<dynamic>* #t44 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t44.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t46 = #t45 as{TypeError} core::num*;
#t40.{core::List::add}(#t46){(core::num*) →* void};
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 a21b866..441c8f3 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
@@ -11,9 +11,9 @@
core::List<core::int> list1 = block {
final core::List<core::int> #t1 = core::_GrowableList::•<core::int>(0);
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
#t1.{core::List::add}(#t3){(core::int) → void};
@@ -21,9 +21,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t4 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t5 = #t4 as{TypeError,ForNonNullableByDefault} core::int;
#t1.{core::List::add}(#t5){(core::int) → void};
@@ -31,9 +31,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
#t1.{core::List::add}(#t7){(core::int) → void};
@@ -47,9 +47,9 @@
core::List<core::num> list2 = block {
final core::List<core::num> #t8 = core::_GrowableList::•<core::num>(0);
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::num;
#t8.{core::List::add}(#t10){(core::num) → void};
@@ -57,9 +57,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t11 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::num;
#t8.{core::List::add}(#t12){(core::num) → void};
@@ -67,9 +67,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t13 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t14 = #t13 as{TypeError,ForNonNullableByDefault} core::num;
#t8.{core::List::add}(#t14){(core::num) → void};
@@ -91,9 +91,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t16{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t17 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
#t15.{core::List::add}(#t18){(core::int) → void};
@@ -102,9 +102,9 @@
}
final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t19{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t20 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
#t15.{core::List::add}(#t21){(core::int) → void};
@@ -113,9 +113,9 @@
}
final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t22{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
#t15.{core::List::add}(#t24){(core::int) → void};
@@ -134,9 +134,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t28{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
#t27.{core::List::add}(#t30){(core::num) → void};
@@ -145,9 +145,9 @@
}
final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t31{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
#t27.{core::List::add}(#t33){(core::num) → void};
@@ -156,9 +156,9 @@
}
final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t34{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
#t27.{core::List::add}(#t36){(core::num) → void};
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 dbfe4f8..2becbbe 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
@@ -49,9 +49,9 @@
if(self::b)
#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<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t1.{core::Map::[]=}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -59,9 +59,9 @@
static field core::Map<dynamic, dynamic>* map2 = block {
final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
if(self::b) {
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t3.{core::Map::[]=}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -71,16 +71,16 @@
static field core::Map<dynamic, dynamic>* map3 = block {
final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
if(self::b) {
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t5.{core::Map::[]=}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
else {
- core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, dynamic>* #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, dynamic>* #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
#t5.{core::Map::[]=}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
}
}
@@ -90,9 +90,9 @@
if(self::b)
#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};
+ core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t8.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
}
}
@@ -100,9 +100,9 @@
static field core::Map<dynamic, core::int*>* map5 = block {
final core::Map<dynamic, core::int*>* #t9 = <dynamic, core::int*>{};
if(self::b) {
- 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};
+ core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
#t9.{core::Map::[]=}(a, 1){(dynamic, core::int*) →* void};
}
}
@@ -114,13 +114,13 @@
if(self::b)
#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}(); ) {
- dynamic a = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
- core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, core::int*>* #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, core::int*>* #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
#t10.{core::Map::[]=}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
}
}
@@ -130,13 +130,13 @@
static field core::Map<dynamic, core::int*>* map7 = block {
final core::Map<dynamic, core::int*>* #t12 = <dynamic, core::int*>{};
if(self::b) {
- 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};
+ core::Iterator<dynamic>* :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
- core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<dynamic, core::int*>>* :sync-for-iterator = <dynamic, core::int*>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
#t12.{core::Map::[]=}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
}
}
@@ -167,9 +167,9 @@
#t16.{core::Map::[]=}(0, 1){(dynamic, core::int*) →* void};
else
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<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
+ 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<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
#t16.{core::Map::[]=}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
}
}
@@ -178,9 +178,9 @@
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}{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<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<dynamic, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
+ 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<core::MapEntry<dynamic, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<dynamic, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int*>};
#t18.{core::Map::[]=}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int*}){(dynamic, core::int*) →* void};
}
}
@@ -193,9 +193,9 @@
#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<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final core::MapEntry<core::int*, core::int*>* #t21 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final core::MapEntry<core::int*, core::int*>* #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
#t20.{core::Map::[]=}(#t21.{core::MapEntry::key}{core::int*}, #t21.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
}
}
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 9049e14..1623845 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
@@ -56,9 +56,9 @@
core::Set<core::int*>* set1 = block {
final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t11 = #t10 as{TypeError} core::int*;
#t9.{core::Set::add}(#t11){(core::int*) →* core::bool*};
@@ -66,9 +66,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t13 = #t12 as{TypeError} core::int*;
#t9.{core::Set::add}(#t13){(core::int*) →* core::bool*};
@@ -77,9 +77,9 @@
}
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t14 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t15 = #t14 as{TypeError} core::int*;
#t9.{core::Set::add}(#t15){(core::int*) →* core::bool*};
@@ -87,9 +87,9 @@
}
}
{
- core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet2.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t17 = #t16 as{TypeError} core::int*;
#t9.{core::Set::add}(#t17){(core::int*) →* core::bool*};
@@ -98,9 +98,9 @@
}
#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};
+ core::Iterator<core::num*>* :sync-for-iterator = numSet1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t19 = #t18 as{TypeError} core::int*;
#t9.{core::Set::add}(#t19){(core::int*) →* core::bool*};
@@ -108,9 +108,9 @@
}
}
{
- core::Iterator<core::num*>* :sync-for-iterator = numSet2.{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t20 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::num*>* :sync-for-iterator = numSet2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t20 = :sync-for-iterator.{core::Iterator::current}{core::num*};
{
final core::int* #t21 = #t20 as{TypeError} core::int*;
#t9.{core::Set::add}(#t21){(core::int*) →* core::bool*};
@@ -122,9 +122,9 @@
core::Set<core::num*>* set2 = block {
final core::Set<core::num*>* #t22 = new col::_CompactLinkedHashSet::•<core::num*>();
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t24 = #t23 as{TypeError} core::num*;
#t22.{core::Set::add}(#t24){(core::num*) →* core::bool*};
@@ -132,9 +132,9 @@
}
}
{
- core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t25 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t26 = #t25 as{TypeError} core::num*;
#t22.{core::Set::add}(#t26){(core::num*) →* core::bool*};
@@ -153,9 +153,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t28.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t30 = #t29 as{TypeError} core::int*;
#t27.{core::Set::add}(#t30){(core::int*) →* core::bool*};
@@ -164,9 +164,9 @@
}
final core::Iterable<dynamic>* #t31 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t31.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t33 = #t32 as{TypeError} core::int*;
#t27.{core::Set::add}(#t33){(core::int*) →* core::bool*};
@@ -178,9 +178,9 @@
#t27.{core::Set::addAll}(#t34){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t35 = iterableNumSet1;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t35.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t36 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t37 = #t36 as{TypeError} core::int*;
#t27.{core::Set::add}(#t37){(core::int*) →* core::bool*};
@@ -189,9 +189,9 @@
}
final core::Iterable<dynamic>* #t38 = iterableNumSet2;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t38.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t39 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t40 = #t39 as{TypeError} core::int*;
#t27.{core::Set::add}(#t40){(core::int*) →* core::bool*};
@@ -203,9 +203,9 @@
#t27.{core::Set::addAll}(#t41){(core::Iterable<core::int*>*) →* void};
final core::Iterable<dynamic>* #t42 = numSet1;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t42.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t43 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t44 = #t43 as{TypeError} core::int*;
#t27.{core::Set::add}(#t44){(core::int*) →* core::bool*};
@@ -214,9 +214,9 @@
}
final core::Iterable<dynamic>* #t45 = numSet2;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t45.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t46 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int* #t47 = #t46 as{TypeError} core::int*;
#t27.{core::Set::add}(#t47){(core::int*) →* core::bool*};
@@ -229,9 +229,9 @@
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 == 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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t49.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t50 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t51 = #t50 as{TypeError} core::num*;
#t48.{core::Set::add}(#t51){(core::num*) →* core::bool*};
@@ -240,9 +240,9 @@
}
final core::Iterable<dynamic>* #t52 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
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};
+ core::Iterator<dynamic>* :sync-for-iterator = #t52.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num* #t54 = #t53 as{TypeError} core::num*;
#t48.{core::Set::add}(#t54){(core::num*) →* core::bool*};
@@ -278,9 +278,9 @@
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};
+ core::Iterator<dynamic>* :sync-for-iterator = set1.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic element = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
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 0a6d1df..bc0fac7 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
@@ -38,9 +38,9 @@
core::Set<core::int> set1 = block {
final core::Set<core::int> #t6 = new col::_CompactLinkedHashSet::•<core::int>();
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t7 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t7 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t8 = #t7 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}(#t8){(core::int) → core::bool};
@@ -48,9 +48,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t9 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}(#t10){(core::int) → core::bool};
@@ -58,9 +58,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t11 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t11 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t12 = #t11 as{TypeError,ForNonNullableByDefault} core::int;
#t6.{core::Set::add}(#t12){(core::int) → core::bool};
@@ -74,9 +74,9 @@
core::Set<core::num> set2 = block {
final core::Set<core::num> #t13 = new col::_CompactLinkedHashSet::•<core::num>();
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t14 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t15 = #t14 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}(#t15){(core::num) → core::bool};
@@ -84,9 +84,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}(#t17){(core::num) → core::bool};
@@ -94,9 +94,9 @@
}
}
{
- core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::num;
#t13.{core::Set::add}(#t19){(core::num) → core::bool};
@@ -143,9 +143,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t26{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t27 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}(#t28){(core::int) → core::bool};
@@ -154,9 +154,9 @@
}
final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t29{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}(#t31){(core::int) → core::bool};
@@ -165,9 +165,9 @@
}
final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t32{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t33 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
#t25.{core::Set::add}(#t34){(core::int) → core::bool};
@@ -186,9 +186,9 @@
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 == 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};
+ core::Iterator<dynamic> :sync-for-iterator = #t38{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t39 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}(#t40){(core::num) → core::bool};
@@ -197,9 +197,9 @@
}
final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t41{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t42 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}(#t43){(core::num) → core::bool};
@@ -208,9 +208,9 @@
}
final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
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};
+ core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
#t37.{core::Set::add}(#t46){(core::num) → core::bool};
@@ -235,9 +235,9 @@
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};
+ core::Iterator<dynamic> :sync-for-iterator = set1.{core::Iterable::iterator}{core::Iterator<dynamic>};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic element = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
if(!set2.{core::Set::contains}(element){(core::Object?) → core::bool}) {
throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
diff --git a/pkg/frontend_server/lib/frontend_server.dart b/pkg/frontend_server/lib/frontend_server.dart
index 5881625..29589fc 100644
--- a/pkg/frontend_server/lib/frontend_server.dart
+++ b/pkg/frontend_server/lib/frontend_server.dart
@@ -168,6 +168,8 @@
..addFlag('experimental-emit-debug-metadata',
help: 'Emit module and library metadata for the debugger',
defaultsTo: false)
+ ..addFlag('emit-debug-symbols',
+ help: 'Emit debug symbols for the debugger', defaultsTo: false)
..addOption('dartdevc-module-format',
help: 'The module format to use on for the dartdevc compiler',
defaultsTo: 'amd')
@@ -324,7 +326,8 @@
this.unsafePackageSerialization,
this.incrementalSerialization: true,
this.useDebuggerModuleNames: false,
- this.emitDebugMetadata: false}) {
+ this.emitDebugMetadata: false,
+ this.emitDebugSymbols: false}) {
_outputStream ??= stdout;
printerFactory ??= new BinaryPrinterFactory();
}
@@ -335,6 +338,7 @@
bool incrementalSerialization;
bool useDebuggerModuleNames;
bool emitDebugMetadata;
+ bool emitDebugSymbols;
bool _printIncrementalDependencies;
CompilerOptions _compilerOptions;
@@ -625,6 +629,7 @@
final File manifestFile = File('$filename.json');
final File sourceMapsFile = File('$filename.map');
final File metadataFile = File('$filename.metadata');
+ final File symbolsFile = File('$filename.symbols');
if (!sourceFile.parent.existsSync()) {
sourceFile.parent.createSync(recursive: true);
}
@@ -632,6 +637,7 @@
component, strongComponents, fileSystemScheme, packageConfig,
useDebuggerModuleNames: useDebuggerModuleNames,
emitDebugMetadata: emitDebugMetadata,
+ emitDebugSymbols: emitDebugSymbols,
moduleFormat: moduleFormat,
soundNullSafety: soundNullSafety);
final sourceFileSink = sourceFile.openWrite();
@@ -639,6 +645,7 @@
final sourceMapsFileSink = sourceMapsFile.openWrite();
final metadataFileSink =
emitDebugMetadata ? metadataFile.openWrite() : null;
+ final symbolsFileSink = emitDebugSymbols ? symbolsFile.openWrite() : null;
final kernel2JsCompilers = await _bundler.compile(
results.classHierarchy,
results.coreTypes,
@@ -646,13 +653,15 @@
sourceFileSink,
manifestFileSink,
sourceMapsFileSink,
- metadataFileSink);
+ metadataFileSink,
+ symbolsFileSink);
cachedProgramCompilers.addAll(kernel2JsCompilers);
await Future.wait([
sourceFileSink.close(),
manifestFileSink.close(),
sourceMapsFileSink.close(),
- if (metadataFileSink != null) metadataFileSink.close()
+ if (metadataFileSink != null) metadataFileSink.close(),
+ if (symbolsFileSink != null) symbolsFileSink.close(),
]);
}
@@ -1346,7 +1355,8 @@
unsafePackageSerialization: options["unsafe-package-serialization"],
incrementalSerialization: options["incremental-serialization"],
useDebuggerModuleNames: options['debugger-module-names'],
- emitDebugMetadata: options['experimental-emit-debug-metadata']);
+ emitDebugMetadata: options['experimental-emit-debug-metadata'],
+ emitDebugSymbols: options['emit-debug-symbols']);
if (options.rest.isNotEmpty) {
return await compiler.compile(options.rest[0], options,
diff --git a/pkg/frontend_server/lib/src/javascript_bundle.dart b/pkg/frontend_server/lib/src/javascript_bundle.dart
index 9829c57..a989fb1 100644
--- a/pkg/frontend_server/lib/src/javascript_bundle.dart
+++ b/pkg/frontend_server/lib/src/javascript_bundle.dart
@@ -27,6 +27,7 @@
this._fileSystemScheme, this._packageConfig,
{this.useDebuggerModuleNames = false,
this.emitDebugMetadata = false,
+ this.emitDebugSymbols = false,
this.soundNullSafety = false,
String moduleFormat})
: _moduleFormat = parseModuleFormat(moduleFormat ?? 'amd') {
@@ -63,6 +64,7 @@
final PackageConfig _packageConfig;
final bool useDebuggerModuleNames;
final bool emitDebugMetadata;
+ final bool emitDebugSymbols;
final ModuleFormat _moduleFormat;
final bool soundNullSafety;
@@ -74,16 +76,19 @@
/// Compile each component into a single JavaScript module.
Future<Map<String, ProgramCompiler>> compile(
- ClassHierarchy classHierarchy,
- CoreTypes coreTypes,
- Set<Library> loadedLibraries,
- IOSink codeSink,
- IOSink manifestSink,
- IOSink sourceMapsSink,
- IOSink metadataSink) async {
+ ClassHierarchy classHierarchy,
+ CoreTypes coreTypes,
+ Set<Library> loadedLibraries,
+ IOSink codeSink,
+ IOSink manifestSink,
+ IOSink sourceMapsSink,
+ IOSink metadataSink,
+ IOSink symbolsSink,
+ ) async {
var codeOffset = 0;
var sourceMapOffset = 0;
var metadataOffset = 0;
+ var symbolsOffset = 0;
final manifest = <String, Map<String, List<int>>>{};
final Set<Uri> visited = <Uri>{};
final Map<String, ProgramCompiler> kernel2JsCompilers = {};
@@ -135,6 +140,7 @@
sourceMap: true,
summarizeApi: false,
emitDebugMetadata: emitDebugMetadata,
+ emitDebugSymbols: emitDebugSymbols,
moduleName: moduleName,
soundNullSafety: soundNullSafety,
),
@@ -145,10 +151,6 @@
final jsModule = compiler.emitModule(summaryComponent);
- // TODO:(annagrin): create symbol tables and pass to expression compiler
- // so it can map dart symbols to js symbols
- // [issue 40273](https://github.com/dart-lang/sdk/issues/40273)
-
// Save program compiler to reuse for expression evaluation.
kernel2JsCompilers[moduleName] = compiler;
@@ -168,22 +170,29 @@
inlineSourceMap: true,
buildSourceMap: true,
emitDebugMetadata: emitDebugMetadata,
+ emitDebugSymbols: emitDebugSymbols,
jsUrl: '$moduleUrl.lib.js',
mapUrl: '$moduleUrl.lib.js.map',
sourceMapBase: sourceMapBase,
customScheme: _fileSystemScheme,
+ compiler: compiler,
component: summaryComponent,
);
final codeBytes = utf8.encode(code.code);
final sourceMapBytes = utf8.encode(json.encode(code.sourceMap));
final metadataBytes =
emitDebugMetadata ? utf8.encode(json.encode(code.metadata)) : null;
+ final symbolsBytes =
+ emitDebugSymbols ? utf8.encode(json.encode(code.symbols)) : null;
codeSink.add(codeBytes);
sourceMapsSink.add(sourceMapBytes);
if (emitDebugMetadata) {
metadataSink.add(metadataBytes);
}
+ if (emitDebugSymbols) {
+ symbolsSink.add(symbolsBytes);
+ }
final String moduleKey = _moduleImportForSummary[moduleUri];
manifest[moduleKey] = {
'code': <int>[codeOffset, codeOffset += codeBytes.length],
@@ -196,6 +205,11 @@
metadataOffset,
metadataOffset += metadataBytes.length
],
+ if (emitDebugSymbols)
+ 'symbols': <int>[
+ symbolsOffset,
+ symbolsOffset += symbolsBytes.length,
+ ],
};
}
manifestSink.add(utf8.encode(json.encode(manifest)));
diff --git a/pkg/frontend_server/test/frontend_server_test.dart b/pkg/frontend_server/test/frontend_server_test.dart
index ee69ecb..8205380 100644
--- a/pkg/frontend_server/test/frontend_server_test.dart
+++ b/pkg/frontend_server/test/frontend_server_test.dart
@@ -1979,12 +1979,14 @@
var manifestFile = File('${dillFile.path}.json');
var sourceMapsFile = File('${dillFile.path}.map');
var metadataFile = File('${dillFile.path}.metadata');
+ var symbolsFile = File('${dillFile.path}.symbols');
expect(dillFile.existsSync(), false);
expect(sourceFile.existsSync(), false);
expect(manifestFile.existsSync(), false);
expect(sourceMapsFile.existsSync(), false);
expect(metadataFile.existsSync(), false);
+ expect(symbolsFile.existsSync(), false);
final List<String> args = <String>[
'--sdk-root=${sdkRoot.toFilePath()}',
@@ -1994,6 +1996,7 @@
'--target=dartdevc',
'--packages=${package_config.path}',
'--experimental-emit-debug-metadata',
+ '--emit-debug-symbols',
];
final StreamController<List<int>> streamController =
@@ -2022,6 +2025,7 @@
expect(manifestFile.existsSync(), equals(true));
expect(sourceMapsFile.existsSync(), equals(true));
expect(metadataFile.existsSync(), equals(true));
+ expect(symbolsFile.existsSync(), equals(true));
expect(result.filename, dillFile.path);
streamController.add('accept\n'.codeUnits);
outputParser.expectSources = false;
diff --git a/pkg/frontend_server/test/src/javascript_bundle_test.dart b/pkg/frontend_server/test/src/javascript_bundle_test.dart
index 898cbcc..d927f82 100644
--- a/pkg/frontend_server/test/src/javascript_bundle_test.dart
+++ b/pkg/frontend_server/test/src/javascript_bundle_test.dart
@@ -111,16 +111,19 @@
final codeSink = _MemorySink();
final sourcemapSink = _MemorySink();
final metadataSink = _MemorySink();
+ final symbolsSink = _MemorySink();
final coreTypes = CoreTypes(testComponent);
final compilers = await javaScriptBundler.compile(
- ClassHierarchy(testComponent, coreTypes),
- coreTypes,
- {},
- codeSink,
- manifestSink,
- sourcemapSink,
- metadataSink);
+ ClassHierarchy(testComponent, coreTypes),
+ coreTypes,
+ {},
+ codeSink,
+ manifestSink,
+ sourcemapSink,
+ metadataSink,
+ symbolsSink,
+ );
final Map manifest = json.decode(utf8.decode(manifestSink.buffer));
final String code = utf8.decode(codeSink.buffer);
@@ -162,10 +165,19 @@
final codeSink = _MemorySink();
final sourcemapSink = _MemorySink();
final metadataSink = _MemorySink();
+ final symbolsSink = _MemorySink();
final coreTypes = CoreTypes(testComponent);
- await javaScriptBundler.compile(ClassHierarchy(testComponent, coreTypes),
- coreTypes, {}, codeSink, manifestSink, sourcemapSink, metadataSink);
+ await javaScriptBundler.compile(
+ ClassHierarchy(testComponent, coreTypes),
+ coreTypes,
+ {},
+ codeSink,
+ manifestSink,
+ sourcemapSink,
+ metadataSink,
+ symbolsSink,
+ );
final Map manifest = json.decode(utf8.decode(manifestSink.buffer));
final String code = utf8.decode(codeSink.buffer);
@@ -204,10 +216,19 @@
final codeSink = _MemorySink();
final sourcemapSink = _MemorySink();
final metadataSink = _MemorySink();
+ final symbolsSink = _MemorySink();
final coreTypes = CoreTypes(testComponent);
- await javaScriptBundler.compile(ClassHierarchy(testComponent, coreTypes),
- coreTypes, {}, codeSink, manifestSink, sourcemapSink, metadataSink);
+ await javaScriptBundler.compile(
+ ClassHierarchy(testComponent, coreTypes),
+ coreTypes,
+ {},
+ codeSink,
+ manifestSink,
+ sourcemapSink,
+ metadataSink,
+ symbolsSink,
+ );
final Map manifest = json.decode(utf8.decode(manifestSink.buffer));
final String code = utf8.decode(codeSink.buffer);
@@ -256,10 +277,19 @@
final codeSink = _MemorySink();
final sourcemapSink = _MemorySink();
final metadataSink = _MemorySink();
+ final symbolsSink = _MemorySink();
final coreTypes = CoreTypes(testComponent);
- javaScriptBundler.compile(ClassHierarchy(testComponent, coreTypes),
- coreTypes, {}, codeSink, manifestSink, sourcemapSink, metadataSink);
+ javaScriptBundler.compile(
+ ClassHierarchy(testComponent, coreTypes),
+ coreTypes,
+ {},
+ codeSink,
+ manifestSink,
+ sourcemapSink,
+ metadataSink,
+ symbolsSink,
+ );
final code = utf8.decode(codeSink.buffer);
final manifest = json.decode(utf8.decode(manifestSink.buffer));
diff --git a/pkg/kernel/lib/core_types.dart b/pkg/kernel/lib/core_types.dart
index baa6659..feaa794 100644
--- a/pkg/kernel/lib/core_types.dart
+++ b/pkg/kernel/lib/core_types.dart
@@ -124,20 +124,20 @@
late final Library asyncLibrary = index.getLibrary('dart:async');
- late final Member asyncStarStreamControllerAdd =
- index.getMember('dart:async', '_AsyncStarStreamController', 'add');
+ late final Procedure asyncStarStreamControllerAdd =
+ index.getProcedure('dart:async', '_AsyncStarStreamController', 'add');
- late final Member asyncStarStreamControllerAddError =
- index.getMember('dart:async', '_AsyncStarStreamController', 'addError');
+ late final Procedure asyncStarStreamControllerAddError = index.getProcedure(
+ 'dart:async', '_AsyncStarStreamController', 'addError');
- late final Member asyncStarStreamControllerAddStream =
- index.getMember('dart:async', '_AsyncStarStreamController', 'addStream');
+ late final Procedure asyncStarStreamControllerAddStream = index.getProcedure(
+ 'dart:async', '_AsyncStarStreamController', 'addStream');
late final Class asyncStarStreamControllerClass =
index.getClass('dart:async', '_AsyncStarStreamController');
- late final Member asyncStarStreamControllerClose =
- index.getMember('dart:async', '_AsyncStarStreamController', 'close');
+ late final Procedure asyncStarStreamControllerClose =
+ index.getProcedure('dart:async', '_AsyncStarStreamController', 'close');
late final Constructor asyncStarStreamControllerDefaultConstructor =
index.getConstructor('dart:async', '_AsyncStarStreamController', '');
@@ -259,8 +259,8 @@
late final Member streamIteratorSubscription =
index.getMember('dart:async', '_StreamIterator', '_subscription');
- late final Member streamIteratorCancel =
- index.getMember('dart:async', '_StreamIterator', 'cancel');
+ late final Procedure streamIteratorCancel =
+ index.getProcedure('dart:async', '_StreamIterator', 'cancel');
late final Class streamIteratorClass =
index.getClass('dart:async', '_StreamIterator');
@@ -268,8 +268,8 @@
late final Constructor streamIteratorDefaultConstructor =
index.getConstructor('dart:async', '_StreamIterator', '');
- late final Member streamIteratorMoveNext =
- index.getMember('dart:async', '_StreamIterator', 'moveNext');
+ late final Procedure streamIteratorMoveNext =
+ index.getProcedure('dart:async', '_StreamIterator', 'moveNext');
late final Member streamIteratorCurrent =
index.getMember('dart:async', '_StreamIterator', 'get:current');
diff --git a/pkg/kernel/lib/transformations/async.dart b/pkg/kernel/lib/transformations/async.dart
index d80784a..86bff985 100644
--- a/pkg/kernel/lib/transformations/async.dart
+++ b/pkg/kernel/lib/transformations/async.dart
@@ -406,10 +406,12 @@
nameIndex,
_staticTypeContext.typeEnvironment.coreTypes
.boolRawType(_staticTypeContext.nonNullable));
+ final objectEquals = continuationRewriter.helper.coreTypes.objectEquals;
rightBody.addStatement(new ExpressionStatement(new VariableSet(
result,
- new MethodInvocation(expr.right, new Name('=='),
- new Arguments(<Expression>[new BoolLiteral(true)])))));
+ new EqualsCall(expr.right, new BoolLiteral(true),
+ interfaceTarget: objectEquals,
+ functionType: objectEquals.getterType as FunctionType))));
var then, otherwise;
if (expr.operatorEnum == LogicalExpressionOperator.AND) {
then = rightBody;
@@ -420,12 +422,13 @@
}
statements.add(new IfStatement(new VariableGet(result), then, otherwise));
- var test = new MethodInvocation(expr.left, new Name('=='),
- new Arguments(<Expression>[new BoolLiteral(true)]));
+ final test = new EqualsCall(expr.left, new BoolLiteral(true),
+ interfaceTarget: objectEquals,
+ functionType: objectEquals.getterType as FunctionType);
statements.add(new ExpressionStatement(new VariableSet(result, test)));
seenAwait = false;
- test.receiver = transform(test.receiver)..parent = test;
+ test.left = transform(test.left)..parent = test;
++nameIndex;
seenAwait = seenAwait || rightAwait;
diff --git a/pkg/kernel/lib/transformations/continuation.dart b/pkg/kernel/lib/transformations/continuation.dart
index a148ba4..fd8476f 100644
--- a/pkg/kernel/lib/transformations/continuation.dart
+++ b/pkg/kernel/lib/transformations/continuation.dart
@@ -8,6 +8,7 @@
import '../ast.dart';
import '../core_types.dart';
+import '../type_algebra.dart' show Substitution;
import '../type_environment.dart';
import 'async.dart';
@@ -196,19 +197,28 @@
final syncForIterator = VariableDeclaration(
ContinuationVariables.syncForIterator,
- initializer: PropertyGet(
- iterable, Name('iterator'), coreTypes.iterableGetIterator)
+ initializer: InstanceGet(InstanceAccessKind.Instance, iterable,
+ coreTypes.iterableGetIterator.name,
+ interfaceTarget: coreTypes.iterableGetIterator,
+ resultType: iteratorType)
..fileOffset = iterable.fileOffset,
type: iteratorType)
..fileOffset = iterable.fileOffset;
- final condition = MethodInvocation(VariableGet(syncForIterator),
- Name('moveNext'), Arguments([]), coreTypes.iteratorMoveNext)
+ final condition = InstanceInvocation(
+ InstanceAccessKind.Instance,
+ VariableGet(syncForIterator),
+ coreTypes.iteratorMoveNext.name,
+ Arguments([]),
+ interfaceTarget: coreTypes.iteratorMoveNext,
+ functionType: coreTypes.iteratorMoveNext.getterType as FunctionType)
..fileOffset = iterable.fileOffset;
final variable = stmt.variable
- ..initializer = (PropertyGet(VariableGet(syncForIterator),
- Name('current'), coreTypes.iteratorGetCurrent)
+ ..initializer = (InstanceGet(InstanceAccessKind.Instance,
+ VariableGet(syncForIterator), coreTypes.iteratorGetCurrent.name,
+ interfaceTarget: coreTypes.iteratorGetCurrent,
+ resultType: elementType)
..fileOffset = stmt.bodyOffset);
final Block body = Block([variable, stmt.body]);
@@ -487,17 +497,19 @@
var statements = <Statement>[];
if (node.isYieldStar) {
- statements.add(new ExpressionStatement(new PropertySet(
+ statements.add(new ExpressionStatement(new InstanceSet(
+ InstanceAccessKind.Instance,
VariableGet(iteratorParameter),
- new Name('_yieldEachIterable', helper.coreLibrary),
+ helper.syncIteratorYieldEachIterable.name,
transformedExpression,
- helper.syncIteratorYieldEachIterable)));
+ interfaceTarget: helper.syncIteratorYieldEachIterable)));
} else {
- statements.add(new ExpressionStatement(new PropertySet(
+ statements.add(new ExpressionStatement(new InstanceSet(
+ InstanceAccessKind.Instance,
VariableGet(iteratorParameter),
- new Name('_current', helper.coreLibrary),
+ helper.syncIteratorCurrent.name,
transformedExpression,
- helper.syncIteratorCurrent)));
+ interfaceTarget: helper.syncIteratorCurrent)));
}
statements.add(createContinuationPoint(new BoolLiteral(true))
@@ -995,21 +1007,25 @@
initializer: stmt.iterable,
type: stmt.iterable.getStaticType(staticTypeContext));
+ final streamIteratorType = new InterfaceType(helper.streamIteratorClass,
+ staticTypeContext.nullable, [valueVariable.type]);
var forIteratorVariable = VariableDeclaration(
ContinuationVariables.forIterator,
initializer: new ConstructorInvocation(
helper.streamIteratorConstructor,
new Arguments(<Expression>[new VariableGet(streamVariable)],
types: [valueVariable.type])),
- type: new InterfaceType(helper.streamIteratorClass,
- staticTypeContext.nullable, [valueVariable.type]));
+ type: streamIteratorType);
// await :for-iterator.moveNext()
- var condition = new AwaitExpression(new MethodInvocation(
+ var condition = new AwaitExpression(new InstanceInvocation(
+ InstanceAccessKind.Instance,
VariableGet(forIteratorVariable),
- new Name('moveNext'),
- new Arguments(<Expression>[]),
- helper.streamIteratorMoveNext))
+ helper.streamIteratorMoveNext.name,
+ new Arguments([]),
+ interfaceTarget: helper.streamIteratorMoveNext,
+ functionType:
+ helper.streamIteratorMoveNext.getterType as FunctionType))
..fileOffset = stmt.fileOffset;
Expression whileCondition;
@@ -1029,10 +1045,10 @@
}
// T <variable> = :for-iterator.current;
- valueVariable.initializer = new PropertyGet(
- VariableGet(forIteratorVariable),
- new Name('current'),
- helper.streamIteratorCurrent)
+ valueVariable.initializer = new InstanceGet(InstanceAccessKind.Instance,
+ VariableGet(forIteratorVariable), helper.streamIteratorCurrent.name,
+ interfaceTarget: helper.streamIteratorCurrent,
+ resultType: valueVariable.type)
..fileOffset = stmt.bodyOffset;
valueVariable.initializer!.parent = valueVariable;
@@ -1040,20 +1056,24 @@
var tryBody = new WhileStatement(whileCondition, whileBody);
// if (:for-iterator._subscription != null) await :for-iterator.cancel();
+ final DartType subscriptionType =
+ Substitution.fromInterfaceType(streamIteratorType).substituteType(
+ helper.coreTypes.streamIteratorSubscription.getterType);
var tryFinalizer = new IfStatement(
- new Not(new MethodInvocation(
- new PropertyGet(
- VariableGet(forIteratorVariable),
- new Name('_subscription', helper.asyncLibrary),
- helper.coreTypes.streamIteratorSubscription),
- new Name('=='),
- new Arguments([new NullLiteral()]),
- helper.coreTypes.objectEquals)),
- new ExpressionStatement(new AwaitExpression(new MethodInvocation(
+ new Not(new EqualsNull(new InstanceGet(
+ InstanceAccessKind.Instance,
VariableGet(forIteratorVariable),
- new Name('cancel'),
+ helper.coreTypes.streamIteratorSubscription.name,
+ interfaceTarget: helper.coreTypes.streamIteratorSubscription,
+ resultType: subscriptionType))),
+ new ExpressionStatement(new AwaitExpression(new InstanceInvocation(
+ InstanceAccessKind.Instance,
+ VariableGet(forIteratorVariable),
+ helper.streamIteratorCancel.name,
new Arguments(<Expression>[]),
- helper.streamIteratorCancel))),
+ interfaceTarget: helper.streamIteratorCancel,
+ functionType:
+ helper.streamIteratorCancel.getterType as FunctionType))),
null);
var tryFinally = new TryFinally(tryBody, tryFinalizer);
@@ -1193,8 +1213,13 @@
var completerGet = new VariableGet(controllerVariable!);
statements.add(new ExpressionStatement(new VariableSet(
controllerStreamVariable,
- new PropertyGet(completerGet, new Name('stream', helper.asyncLibrary),
- helper.asyncStarStreamControllerStream))));
+ new InstanceGet(InstanceAccessKind.Instance, completerGet,
+ helper.asyncStarStreamControllerStream.name,
+ interfaceTarget: helper.asyncStarStreamControllerStream,
+ resultType: Substitution.fromInterfaceType(
+ controllerVariable!.type as InterfaceType)
+ .substituteType(
+ helper.asyncStarStreamControllerStream.getterType)))));
// return :controller_stream;
var returnStatement =
@@ -1211,11 +1236,14 @@
Statement body = super.buildWrappedBody();
--currentTryDepth;
- var finallyBody = new ExpressionStatement(new MethodInvocation(
+ var finallyBody = new ExpressionStatement(new InstanceInvocation(
+ InstanceAccessKind.Instance,
new VariableGet(controllerVariable!),
- new Name('close'),
- new Arguments(<Expression>[]),
- helper.asyncStarStreamControllerClose));
+ helper.asyncStarStreamControllerClose.name,
+ new Arguments([]),
+ interfaceTarget: helper.asyncStarStreamControllerClose,
+ functionType:
+ helper.asyncStarStreamControllerClose.getterType as FunctionType));
var tryFinally = new TryFinally(body, new Block(<Statement>[finallyBody]));
return tryFinally;
@@ -1223,14 +1251,17 @@
Statement buildCatchBody(VariableDeclaration exceptionVariable,
VariableDeclaration stackTraceVariable) {
- return new ExpressionStatement(new MethodInvocation(
+ return new ExpressionStatement(new InstanceInvocation(
+ InstanceAccessKind.Instance,
new VariableGet(controllerVariable!),
- new Name('addError'),
+ helper.asyncStarStreamControllerAddError.name,
new Arguments(<Expression>[
new VariableGet(exceptionVariable),
new VariableGet(stackTraceVariable)
]),
- helper.asyncStarStreamControllerAddError));
+ interfaceTarget: helper.asyncStarStreamControllerAddError,
+ functionType: helper.asyncStarStreamControllerAddError.getterType
+ as FunctionType));
}
Statement buildReturn(Statement body) {
@@ -1245,13 +1276,19 @@
TreeNode visitYieldStatement(YieldStatement stmt, TreeNode? removalSentinel) {
Expression expr = expressionRewriter!.rewrite(stmt.expression, statements);
- var addExpression = new MethodInvocation(
+ final Procedure addMethod = stmt.isYieldStar
+ ? helper.asyncStarStreamControllerAddStream
+ : helper.asyncStarStreamControllerAdd;
+ final FunctionType addMethodFunctionType = Substitution.fromInterfaceType(
+ controllerVariable!.type as InterfaceType)
+ .substituteType(addMethod.getterType) as FunctionType;
+ var addExpression = new InstanceInvocation(
+ InstanceAccessKind.Instance,
new VariableGet(controllerVariable!),
- new Name(stmt.isYieldStar ? 'addStream' : 'add', helper.asyncLibrary),
+ addMethod.name,
new Arguments(<Expression>[expr]),
- stmt.isYieldStar
- ? helper.asyncStarStreamControllerAddStream
- : helper.asyncStarStreamControllerAdd)
+ interfaceTarget: addMethod,
+ functionType: addMethodFunctionType)
..fileOffset = stmt.fileOffset;
statements.add(new IfStatement(
@@ -1322,11 +1359,11 @@
setupAsyncContinuations(statements);
// :async_op();
- final startStatement = ExpressionStatement(MethodInvocation(
- VariableGet(nestedClosureVariable),
- Name('call'),
- Arguments([]),
- )..fileOffset = enclosingFunction.fileOffset);
+ final startStatement = ExpressionStatement(LocalFunctionInvocation(
+ nestedClosureVariable, Arguments([]),
+ functionType: FunctionType(
+ [], const DynamicType(), staticTypeContext.nonNullable))
+ ..fileOffset = enclosingFunction.fileOffset);
statements.add(startStatement);
// :is_sync = true;
@@ -1390,11 +1427,11 @@
class HelperNodes {
final Procedure asyncErrorWrapper;
final Library asyncLibrary;
- final Member asyncStarStreamControllerAdd;
- final Member asyncStarStreamControllerAddError;
- final Member asyncStarStreamControllerAddStream;
+ final Procedure asyncStarStreamControllerAdd;
+ final Procedure asyncStarStreamControllerAddError;
+ final Procedure asyncStarStreamControllerAddStream;
final Class asyncStarStreamControllerClass;
- final Member asyncStarStreamControllerClose;
+ final Procedure asyncStarStreamControllerClose;
final Constructor asyncStarStreamControllerConstructor;
final Member asyncStarStreamControllerStream;
final Procedure asyncStarMoveNextHelper;
@@ -1410,11 +1447,11 @@
final Constructor futureImplConstructor;
final Class iterableClass;
final Class streamClass;
- final Member streamIteratorCancel;
+ final Procedure streamIteratorCancel;
final Class streamIteratorClass;
final Constructor streamIteratorConstructor;
final Member streamIteratorCurrent;
- final Member streamIteratorMoveNext;
+ final Procedure streamIteratorMoveNext;
final Constructor syncIterableConstructor;
final Class syncIteratorClass;
final Member syncIteratorCurrent;
diff --git a/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect b/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
index 7d95c30..92b3481 100644
--- a/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
+++ b/pkg/vm/testcases/transformations/deferred_loading/main.dart.expect
@@ -67,7 +67,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -98,7 +98,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -135,7 +135,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -166,7 +166,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -207,7 +207,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -243,7 +243,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -280,7 +280,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -313,7 +313,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -346,7 +346,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -382,7 +382,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -418,7 +418,7 @@
}
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 51ff150..8922930 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
@@ -31,7 +31,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -66,7 +66,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
@@ -97,7 +97,7 @@
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- [@vm.call-site-attributes.metadata=receiverType:dynamic Function([dynamic, dynamic, dart.core::StackTrace*])*] :async_op.call();
+ [@vm.call-site-attributes.metadata=receiverType:dynamic Function()*] :async_op(){() →* dynamic};
:is_sync = true;
return :async_future;
}
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 7c87b13..3bd971f 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
@@ -21,9 +21,9 @@
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);
{
- core::Iterator<self::A> :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A>] list.{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::A a = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::A?] :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A> :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A>] list.{core::Iterable::iterator}{core::Iterator<self::A>};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A a = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::A?] :sync-for-iterator.{core::Iterator::current}{self::A};
{
self::testNonNullable(a);
self::testNullable(a);
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 4b302d6..7e7de62 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
@@ -53,9 +53,9 @@
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);
{
- core::Iterator<self::A*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A*>] list.{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::A* a = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::A?] :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::A*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::A*>] list.{core::Iterable::iterator}{core::Iterator<self::A*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A* a = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::A?] :sync-for-iterator.{core::Iterator::current}{self::A*};
{
self::testNonNullableIf1(a);
self::testNullableIf1(a);
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 257f5c9..b0bcba0 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,9 +19,9 @@
[@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}{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::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}{core::Iterator<dynamic>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ dynamic e = [@vm.direct-call.metadata=dart._internal::ListIterator.current] [@vm.inferred-type.metadata=#lib::B?] :sync-for-iterator.{core::Iterator::current}{dynamic};
core::print([@vm.direct-call.metadata=#lib::B.x??] [@vm.inferred-type.metadata=dart.core::_Smi (value: 0) (receiver not int)] e{dynamic}.x);
}
}
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 8ddbcfa..16d4a2a 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
@@ -38,9 +38,9 @@
}
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::•());
{
- core::Iterator<self::B*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] l.{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::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] l.{core::Iterable::iterator}{core::Iterator<self::B*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::B*};
{
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 d10d4b7..dff8e38 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
@@ -38,9 +38,9 @@
}
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::•());
{
- core::Iterator<self::B*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] l.{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::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<self::B*>* :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<#lib::B*>] l.{core::Iterable::iterator}{core::Iterator<self::B*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::B* b = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::B*};
{
b.{self::B::bar}(13){(core::int*) →* void};
}
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 6528201..39043c5 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
@@ -103,49 +103,49 @@
static method main() → dynamic {
core::List<self::A1*>* x1 = [@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::A1*>] core::_GrowableList::_literal3<self::A1*>(new self::A1::•(), new self::B1::•(), new self::C1::•());
{
- 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};
+ 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}{core::Iterator<self::A1*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A1* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::A1*};
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::•());
{
- 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};
+ 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}{core::Iterator<self::A2*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A2* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::A2*};
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::•());
{
- 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};
+ 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}{core::Iterator<self::A3*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A3* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::A3*};
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::•());
{
- 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};
+ 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}{core::Iterator<self::A4*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::A4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::A4*};
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::•());
{
- 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};
+ 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}{core::Iterator<self::B4*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::B4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::B4*};
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::•());
{
- 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};
+ 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}{core::Iterator<self::C4*>*};
+ for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ self::C4* o = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{self::C4*};
[@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/unreachable_code_elimination/uce_testcases.dart.expect b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
index e61810f..e9346d5 100644
--- a/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
+++ b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
@@ -67,9 +67,9 @@
for (; ; ) {
}
{
- core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(1, 2).{core::Iterable::iterator};
- for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
- core::int* i = :sync-for-iterator.{core::Iterator::current};
+ core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(1, 2).{core::Iterable::iterator}{core::Iterator<core::int*>*};
+ for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+ core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
}
}
{}
diff --git a/runtime/vm/compiler/frontend/kernel_translation_helper.cc b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
index 5dddbea..e6c3f73 100644
--- a/runtime/vm/compiler/frontend/kernel_translation_helper.cc
+++ b/runtime/vm/compiler/frontend/kernel_translation_helper.cc
@@ -3426,14 +3426,12 @@
TypeParameters::Handle(Z, TypeParameters::New(type_parameter_count));
const Type& null_bound = Type::Handle(Z);
- intptr_t offset = 0;
if (!parameterized_class.IsNull()) {
ASSERT(parameterized_class.type_parameters() == TypeParameters::null());
parameterized_class.set_type_parameters(type_parameters);
} else {
ASSERT(parameterized_signature.type_parameters() == TypeParameters::null());
parameterized_signature.set_type_parameters(type_parameters);
- offset = parameterized_signature.NumParentTypeArguments();
if (!function.IsNull()) {
function.SetNumTypeParameters(type_parameter_count);
}
diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h
index d2a757a..28eecaf 100644
--- a/runtime/vm/compiler/recognized_methods_list.h
+++ b/runtime/vm/compiler/recognized_methods_list.h
@@ -200,7 +200,7 @@
V(::, reachabilityFence, ReachabilityFence, 0x619235c1) \
V(_Utf8Decoder, _scan, Utf8DecoderScan, 0x1dcaf73d) \
V(_Future, timeout, FutureTimeout, 0x73041520) \
- V(Future, wait, FutureWait, 0xf0ce45c3) \
+ V(Future, wait, FutureWait, 0xa05d5e7b) \
V(_RootZone, runUnary, RootZoneRunUnary, 0xa22248b6) \
V(_FutureListener, handleValue, FutureListenerHandleValue, 0x438115a8) \
V(::, has63BitSmis, Has63BitSmis, 0xf61b5ab2) \
diff --git a/runtime/vm/heap/pointer_block.h b/runtime/vm/heap/pointer_block.h
index 5e7dde8..168a1cb 100644
--- a/runtime/vm/heap/pointer_block.h
+++ b/runtime/vm/heap/pointer_block.h
@@ -151,65 +151,78 @@
typedef typename Stack::Block Block;
explicit BlockWorkList(Stack* stack) : stack_(stack) {
- work_ = stack_->PopEmptyBlock();
+ local_output_ = stack_->PopEmptyBlock();
+ local_input_ = stack_->PopEmptyBlock();
}
~BlockWorkList() {
- ASSERT(work_ == nullptr);
+ ASSERT(local_output_ == nullptr);
+ ASSERT(local_input_ == nullptr);
ASSERT(stack_ == nullptr);
}
// Returns nullptr if no more work was found.
ObjectPtr Pop() {
- ASSERT(work_ != nullptr);
- if (work_->IsEmpty()) {
- // TODO(koda): Track over/underflow events and use in heuristics to
- // distribute work and prevent degenerate flip-flopping.
- Block* new_work = stack_->PopNonEmptyBlock();
- if (new_work == nullptr) {
- return nullptr;
+ ASSERT(local_input_ != nullptr);
+ if (UNLIKELY(local_input_->IsEmpty())) {
+ if (!local_output_->IsEmpty()) {
+ auto temp = local_output_;
+ local_output_ = local_input_;
+ local_input_ = temp;
+ } else {
+ Block* new_work = stack_->PopNonEmptyBlock();
+ if (new_work == nullptr) {
+ return nullptr;
+ }
+ stack_->PushBlock(local_input_);
+ local_input_ = new_work;
+ // Generated code appends to marking stacks; tell MemorySanitizer.
+ MSAN_UNPOISON(local_input_, sizeof(*local_input_));
}
- stack_->PushBlock(work_);
- work_ = new_work;
- // Generated code appends to marking stacks; tell MemorySanitizer.
- MSAN_UNPOISON(work_, sizeof(*work_));
}
- return work_->Pop();
+ return local_input_->Pop();
}
void Push(ObjectPtr raw_obj) {
- if (work_->IsFull()) {
- // TODO(koda): Track over/underflow events and use in heuristics to
- // distribute work and prevent degenerate flip-flopping.
- stack_->PushBlock(work_);
- work_ = stack_->PopEmptyBlock();
+ if (UNLIKELY(local_output_->IsFull())) {
+ stack_->PushBlock(local_output_);
+ local_output_ = stack_->PopEmptyBlock();
}
- work_->Push(raw_obj);
+ local_output_->Push(raw_obj);
}
void Finalize() {
- ASSERT(work_->IsEmpty());
- stack_->PushBlock(work_);
- work_ = nullptr;
+ ASSERT(local_output_->IsEmpty());
+ stack_->PushBlock(local_output_);
+ local_output_ = nullptr;
+ ASSERT(local_input_->IsEmpty());
+ stack_->PushBlock(local_input_);
+ local_input_ = nullptr;
// Fail fast on attempts to mark after finalizing.
stack_ = nullptr;
}
void AbandonWork() {
- stack_->PushBlock(work_);
- work_ = nullptr;
+ stack_->PushBlock(local_output_);
+ local_output_ = nullptr;
+ stack_->PushBlock(local_input_);
+ local_input_ = nullptr;
stack_ = nullptr;
}
bool IsEmpty() {
- if (!work_->IsEmpty()) {
+ if (!local_input_->IsEmpty()) {
+ return false;
+ }
+ if (!local_output_->IsEmpty()) {
return false;
}
return stack_->IsEmpty();
}
private:
- Block* work_;
+ Block* local_output_;
+ Block* local_input_;
Stack* stack_;
};
diff --git a/tools/VERSION b/tools/VERSION
index 711c5dd..b0fb44a 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 194
+PRERELEASE 195
PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index 9f22437..1b2d05a 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -2608,7 +2608,7 @@
"arguments": [
"-ndart2js-o0-linux-d8",
"--dart2js-batch",
- "dart2js_2"
+ "web_2"
]
},
{
@@ -2616,7 +2616,7 @@
"arguments": [
"-ndart2js-modern-linux-d8",
"--dart2js-batch",
- "dart2js_2"
+ "web_2"
]
},
{