Version 2.17.0-184.0.dev
Merge commit 'bf40bf4ebb7326468be738329518a8b05303894d' into 'dev'
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index 21b79b3..e2b363c 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -7,20 +7,9 @@
import 'package:analysis_server/protocol/protocol.dart';
import 'package:analysis_server/protocol/protocol_constants.dart';
import 'package:analysis_server/protocol/protocol_generated.dart';
-import 'package:analysis_server/src/analysis_server.dart';
-import 'package:analysis_server/src/domain_analysis.dart';
-import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
-import 'package:analysis_server/src/utilities/mocks.dart';
-import 'package:analysis_server/src/utilities/progress.dart';
-import 'package:analyzer/instrumentation/instrumentation.dart';
-import 'package:analyzer/src/generated/sdk.dart';
-import 'package:analyzer/src/test_utilities/mock_sdk.dart';
import 'package:analyzer/src/test_utilities/package_config_file_builder.dart';
-import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
import 'package:analyzer_plugin/protocol/protocol_common.dart';
import 'package:analyzer_plugin/protocol/protocol_generated.dart' as plugin;
-import 'package:analyzer_plugin/src/protocol/protocol_internal.dart'
- show HasToJson;
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -32,7 +21,6 @@
defineReflectiveSuite(() {
defineReflectiveTests(AnalysisDomainBazelTest);
defineReflectiveTests(AnalysisDomainPubTest);
- defineReflectiveTests(AnalysisDomainHandlerTest);
defineReflectiveTests(SetSubscriptionsTest);
});
}
@@ -79,272 +67,6 @@
}
@reflectiveTest
-class AnalysisDomainHandlerTest extends AbstractAnalysisTest {
- Future<void> outOfRangeTest(SourceEdit edit) async {
- var helper = AnalysisTestHelper();
- await helper.createSingleFileProject('library A;');
- await helper.onAnalysisComplete;
- helper.sendContentChange(AddContentOverlay('library B;'));
- await helper.onAnalysisComplete;
- var contentChange = ChangeContentOverlay([edit]);
- var request = AnalysisUpdateContentParams({helper.testFile: contentChange})
- .toRequest('0');
- var response = helper.handler.handleRequest(request, NotCancelableToken());
- expect(response,
- isResponseFailure('0', RequestErrorCode.INVALID_OVERLAY_CHANGE));
- }
-
- Future<void> test_setAnalysisRoots_excludedFolder() async {
- newFile('/project/aaa/a.dart', content: '// a');
- newFile('/project/bbb/b.dart', content: '// b');
- var excludedPath = join(projectPath, 'bbb');
- var response = await testSetAnalysisRoots([projectPath], [excludedPath]);
- expect(response, isResponseSuccess('0'));
- }
-
- Future<void> test_setAnalysisRoots_included_newFolder() async {
- newPubspecYamlFile('/project', 'name: project');
- var file = newFile('/project/bin/test.dart', content: 'main() {}').path;
- var response = await testSetAnalysisRoots([projectPath], []);
- var serverRef = server;
- expect(response, isResponseSuccess('0'));
- // verify that unit is resolved eventually
- await server.onAnalysisComplete;
- var resolvedUnit = await serverRef.getResolvedUnit(file);
- expect(resolvedUnit, isNotNull);
- }
-
- Future<void> test_setAnalysisRoots_included_nonexistentFolder() async {
- var projectA = convertPath('/project_a');
- var projectB = convertPath('/project_b');
- var fileB = newFile('/project_b/b.dart', content: '// b').path;
- var response = await testSetAnalysisRoots([projectA, projectB], []);
- var serverRef = server;
- expect(response, isResponseSuccess('0'));
- // Non-existence of /project_a should not prevent files in /project_b
- // from being analyzed.
- await server.onAnalysisComplete;
- var resolvedUnit = await serverRef.getResolvedUnit(fileB);
- expect(resolvedUnit, isNotNull);
- }
-
- Future<void> test_setAnalysisRoots_included_notAbsolute() async {
- var response = await testSetAnalysisRoots(['foo/bar'], []);
- expect(response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT));
- }
-
- Future<void> test_setAnalysisRoots_included_notNormalized() async {
- var response = await testSetAnalysisRoots(['/foo/../bar'], []);
- expect(response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT));
- }
-
- Future<void> test_setAnalysisRoots_notAbsolute() async {
- var response = await testSetAnalysisRoots([], ['foo/bar']);
- expect(response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT));
- }
-
- Future<void> test_setAnalysisRoots_notNormalized() async {
- var response = await testSetAnalysisRoots([], ['/foo/../bar']);
- expect(response,
- isResponseFailure('0', RequestErrorCode.INVALID_FILE_PATH_FORMAT));
- }
-
- void test_setPriorityFiles_invalid() {
- var request = AnalysisSetPriorityFilesParams(
- [convertPath('/project/lib.dart')],
- ).toRequest('0');
- var response = handler.handleRequest(request, NotCancelableToken());
- expect(response, isResponseSuccess('0'));
- }
-
- Future<void> test_setPriorityFiles_valid() async {
- var p1 = convertPath('/p1');
- var p2 = convertPath('/p2');
- var aPath = convertPath('/p1/a.dart');
- var bPath = convertPath('/p2/b.dart');
- var cPath = convertPath('/p2/c.dart');
- newFile(aPath, content: 'library a;');
- newFile(bPath, content: 'library b;');
- newFile(cPath, content: 'library c;');
-
- await setRoots(included: [p1, p2], excluded: []);
-
- void setPriorityFiles(List<String> fileList) {
- var request = AnalysisSetPriorityFilesParams(fileList).toRequest('0');
- var response = handler.handleRequest(request, NotCancelableToken());
- expect(response, isResponseSuccess('0'));
- // TODO(brianwilkerson) Enable the line below after getPriorityFiles
- // has been implemented.
- // expect(server.getPriorityFiles(), unorderedEquals(fileList));
- }
-
- setPriorityFiles([aPath, bPath]);
- setPriorityFiles([bPath, cPath]);
- setPriorityFiles([]);
- }
-
- Future<void> test_updateContent_badType() async {
- var helper = AnalysisTestHelper();
- await helper.createSingleFileProject('// empty');
- await helper.onAnalysisComplete;
- var request = Request('0', ANALYSIS_REQUEST_UPDATE_CONTENT, {
- ANALYSIS_REQUEST_UPDATE_CONTENT_FILES: {
- helper.testFile: {
- 'type': 'foo',
- }
- }
- });
- var response = helper.handler.handleRequest(request, NotCancelableToken());
- expect(response, isResponseFailure('0'));
- }
-
- Future<void> test_updateContent_changeOnDisk_duringOverride() async {
- var helper = AnalysisTestHelper();
- await helper.createSingleFileProject('library A;');
- await helper.onAnalysisComplete;
- // update code
- helper.sendContentChange(AddContentOverlay('library B;'));
- // There should be no errors
- await helper.onAnalysisComplete;
- expect(helper.getTestErrors(), hasLength(0));
- // Change file on disk, adding a syntax error.
- helper.resourceProvider.modifyFile(helper.testFile, 'library lib');
- // There should still be no errors (file should not have been reread).
- await helper.onAnalysisComplete;
- expect(helper.getTestErrors(), hasLength(0));
- // Send a content change with a null content param--file should be
- // reread from disk.
- helper.sendContentChange(RemoveContentOverlay());
- // There should be errors now.
- await helper.onAnalysisComplete;
- expect(helper.getTestErrors(), hasLength(1));
- }
-
- Future<void> test_updateContent_changeOnDisk_normal() async {
- var helper = AnalysisTestHelper();
- await helper.createSingleFileProject('library A;');
- await helper.onAnalysisComplete;
- // There should be no errors
- expect(helper.getTestErrors(), hasLength(0));
- // Change file on disk, adding a syntax error.
- helper.resourceProvider.modifyFile(helper.testFile, 'library lib');
- // There should be errors now.
- await pumpEventQueue();
- await helper.onAnalysisComplete;
- expect(helper.getTestErrors(), hasLength(1));
- }
-
- Future<void> test_updateContent_fullContent() async {
- var helper = AnalysisTestHelper();
- await helper.createSingleFileProject('// empty');
- await helper.onAnalysisComplete;
- // no errors initially
- var errors = helper.getTestErrors();
- expect(errors, isEmpty);
- // update code
- helper.sendContentChange(AddContentOverlay('library lib'));
- // wait, there is an error
- await helper.onAnalysisComplete;
- errors = helper.getTestErrors();
- expect(errors, hasLength(1));
- }
-
- Future<void> test_updateContent_incremental() async {
- var helper = AnalysisTestHelper();
- var initialContent = 'library A;';
- await helper.createSingleFileProject(initialContent);
- await helper.onAnalysisComplete;
- // no errors initially
- var errors = helper.getTestErrors();
- expect(errors, isEmpty);
- // Add the file to the cache
- helper.sendContentChange(AddContentOverlay(initialContent));
- // update code
- helper.sendContentChange(ChangeContentOverlay(
- [SourceEdit('library '.length, 'A;'.length, 'lib')]));
- // wait, there is an error
- await helper.onAnalysisComplete;
- errors = helper.getTestErrors();
- expect(errors, hasLength(1));
- }
-
- Future<void> test_updateContent_outOfRange_beyondEnd() {
- return outOfRangeTest(SourceEdit(6, 6, 'foo'));
- }
-
- Future<void> test_updateContent_outOfRange_negativeLength() {
- return outOfRangeTest(SourceEdit(3, -1, 'foo'));
- }
-
- Future<void> test_updateContent_outOfRange_negativeOffset() {
- return outOfRangeTest(SourceEdit(-1, 3, 'foo'));
- }
-
- void test_updateOptions_invalid() {
- var request = Request('0', ANALYSIS_REQUEST_UPDATE_OPTIONS, {
- ANALYSIS_REQUEST_UPDATE_OPTIONS_OPTIONS: {'not-an-option': true}
- });
- var response = handler.handleRequest(request, NotCancelableToken());
- // Invalid options should be silently ignored.
- expect(response, isResponseSuccess('0'));
- }
-
- void test_updateOptions_null() {
- // null is allowed as a synonym for {}.
- var request = Request('0', ANALYSIS_REQUEST_UPDATE_OPTIONS,
- {ANALYSIS_REQUEST_UPDATE_OPTIONS_OPTIONS: null});
- var response = handler.handleRequest(request, NotCancelableToken());
- expect(response, isResponseSuccess('0'));
- }
-
- Future<Response> testSetAnalysisRoots(
- List<String> included, List<String> excluded) {
- return setRoots(
- included: included, excluded: excluded, validateSuccessResponse: false);
- }
-
- Future<void> xtest_getReachableSources_invalidSource() async {
- // TODO(brianwilkerson) Re-enable this test if we re-enable the
- // analysis.getReachableSources request.
- newFile('/project/a.dart', content: 'import "b.dart";');
- await server.setAnalysisRoots('0', ['/project/'], []);
-
- await server.onAnalysisComplete;
-
- var request = AnalysisGetReachableSourcesParams('/does/not/exist.dart')
- .toRequest('0');
- var response = handler.handleRequest(request, NotCancelableToken())!;
- var error = response.error!;
- expect(error.code, RequestErrorCode.GET_REACHABLE_SOURCES_INVALID_FILE);
- }
-
- Future<void> xtest_getReachableSources_validSources() async {
- // TODO(brianwilkerson) Re-enable this test if we re-enable the
- // analysis.getReachableSources request.
- var fileA = newFile('/project/a.dart', content: 'import "b.dart";').path;
- newFile('/project/b.dart');
-
- await server.setAnalysisRoots('0', ['/project/'], []);
-
- await server.onAnalysisComplete;
-
- var request = AnalysisGetReachableSourcesParams(fileA).toRequest('0');
- var response = handler.handleRequest(request, NotCancelableToken())!;
-
- var json = response.toJson()[Response.RESULT] as Map<String, dynamic>;
-
- // Sanity checks.
- expect(json['sources'], hasLength(6));
- expect(json['sources']['file:///project/a.dart'],
- unorderedEquals(['dart:core', 'file:///project/b.dart']));
- expect(json['sources']['file:///project/b.dart'], ['dart:core']);
- }
-}
-
-@reflectiveTest
class AnalysisDomainPubTest extends _AnalysisDomainTest {
Future<void> test_fileSystem_addFile_analysisOptions() async {
deleteTestPackageAnalysisOptionsFile();
@@ -908,6 +630,52 @@
_assertFlushedResults([]);
}
+ Future<void> test_fileSystem_changeFile_hasOverlay_removeOverlay() async {
+ newFile(testFilePath, content: '');
+
+ // Add an overlay without errors.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: AddContentOverlay(''),
+ }).toRequest('0'),
+ );
+
+ await setRoots(included: [workspaceRootPath], excluded: []);
+
+ // The test file is analyzed, no errors.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ noErrors: [testFilePathPlatform],
+ notAnalyzed: [],
+ );
+
+ // Change the file, has errors.
+ newFile(testFilePath, content: 'error');
+
+ // But the overlay is still present, so the file is not analyzed.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ notAnalyzed: [testFilePathPlatform],
+ );
+
+ // Remove the overlay, now the file will be read.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: RemoveContentOverlay(),
+ }).toRequest('0'),
+ );
+
+ // The file has errors.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [testFilePathPlatform],
+ noErrors: [],
+ notAnalyzed: [],
+ );
+ }
+
Future<void> test_fileSystem_changeFile_packageConfigJsonFile() async {
var aaaRootPath = '/packages/aaa';
var a_path = '$aaaRootPath/lib/a.dart';
@@ -1163,6 +931,62 @@
assertNoErrorsNotification(a_path);
}
+ Future<void> test_setPriorityFiles() async {
+ var a = getFile('$workspaceRootPath/foo/lib/a.dart');
+ var b = getFile('$workspaceRootPath/foo/lib/b.dart');
+ var c = getFile('$workspaceRootPath/bar/lib/c.dart');
+ var d = getFile('$workspaceRootPath/bar/lib/d.dart');
+
+ a.writeAsStringSync('');
+ b.writeAsStringSync('');
+ c.writeAsStringSync('');
+ d.writeAsStringSync('');
+
+ await handleSuccessfulRequest(
+ AnalysisSetPriorityFilesParams(
+ [a.path, c.path],
+ ).toRequest('0'),
+ );
+
+ await setRoots(included: [workspaceRootPath], excluded: []);
+
+ var hasPath = <String>{};
+ for (var notification in analysisErrorsNotifications) {
+ var path = notification.file;
+ if (!hasPath.add(path)) {
+ fail('Duplicate: $path');
+ } else if (path == a.path || path == c.path) {
+ if (hasPath.contains(b.path) || hasPath.contains(d.path)) {
+ fail('Priority after non-priority');
+ }
+ }
+ }
+ }
+
+ Future<void> test_setPriorityFiles_notAbsolute() async {
+ var response = await handleRequest(
+ AnalysisSetPriorityFilesParams(
+ ['a.dart'],
+ ).toRequest('0'),
+ );
+
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ ),
+ );
+ }
+
+ Future<void> test_setPriorityFiles_withoutRoots() async {
+ await handleSuccessfulRequest(
+ AnalysisSetPriorityFilesParams(
+ [convertPath('$testPackageLibPath/a.dart')],
+ ).toRequest('0'),
+ );
+ }
+
Future<void> test_setRoots_dotPackagesFile() async {
deleteTestPackageConfigJsonFile();
var aaaLibPath = '/packages/aaa/lib';
@@ -1192,6 +1016,78 @@
assertNoErrorsNotification(a_path);
}
+ Future<void> test_setRoots_excluded_notAbsolute() async {
+ var response = await handleRequest(
+ AnalysisSetAnalysisRootsParams(
+ [workspaceRootPath],
+ ['foo'],
+ packageRoots: {},
+ ).toRequest('0'),
+ );
+
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ ),
+ );
+ }
+
+ Future<void> test_setRoots_excluded_notNormalized() async {
+ var response = await handleRequest(
+ AnalysisSetAnalysisRootsParams(
+ [workspaceRootPath],
+ [convertPath('/foo/../bar')],
+ packageRoots: {},
+ ).toRequest('0'),
+ );
+
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ ),
+ );
+ }
+
+ Future<void> test_setRoots_included_notAbsolute() async {
+ var response = await handleRequest(
+ AnalysisSetAnalysisRootsParams(
+ ['foo'],
+ [],
+ packageRoots: {},
+ ).toRequest('0'),
+ );
+
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ ),
+ );
+ }
+
+ Future<void> test_setRoots_included_notNormalized() async {
+ var response = await handleRequest(
+ AnalysisSetAnalysisRootsParams(
+ [convertPath('/foo/../bar')],
+ [],
+ packageRoots: {},
+ ).toRequest('0'),
+ );
+
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_FILE_PATH_FORMAT,
+ ),
+ );
+ }
+
Future<void> test_setRoots_includedFile() async {
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
@@ -1323,6 +1219,30 @@
);
}
+ Future<void> test_setRoots_includedFolder_notExisting() async {
+ var existingFolder_path = '$testPackageLibPath/exiting';
+ var notExistingFolder_path = '$testPackageLibPath/notExisting';
+ var existingFile_path = '$existingFolder_path/1.dart';
+ var notExistingFile_path = '$notExistingFolder_path/1.dart';
+
+ _createFilesWithErrors([
+ existingFile_path,
+ ]);
+
+ await setRoots(included: [
+ existingFolder_path,
+ notExistingFolder_path,
+ ], excluded: []);
+ await server.onAnalysisComplete;
+
+ // The not existing root does not prevent analysis of the existing one.
+ _assertAnalyzedFiles(hasErrors: [
+ existingFile_path,
+ ], notAnalyzed: [
+ notExistingFile_path,
+ ]);
+ }
+
Future<void> test_setRoots_notDartFile_androidManifestXml() async {
var path = '$testPackageRootPath/AndroidManifest.xml';
@@ -1381,198 +1301,123 @@
// errors are not reported for packages
assertNoErrorsNotification(a_path);
}
-}
-/// A helper to test 'analysis.*' requests.
-class AnalysisTestHelper with ResourceProviderMixin {
- late MockServerChannel serverChannel;
- late AnalysisServer server;
- late AnalysisDomainHandler handler;
+ Future<void> test_updateContent_addOverlay() async {
+ newFile('$testFilePath', content: 'error');
- Map<AnalysisService, List<String>> analysisSubscriptions = {};
+ await setRoots(included: [workspaceRootPath], excluded: []);
- Map<String, List<AnalysisError>> filesErrors = {};
- Map<String, List<HighlightRegion>> filesHighlights = {};
- Map<String, List<NavigationRegion>> filesNavigation = {};
-
- late String projectPath;
- late String testFile;
- late String testCode;
-
- AnalysisTestHelper() {
- projectPath = convertPath('/project');
- testFile = convertPath('/project/bin/test.dart');
- serverChannel = MockServerChannel();
-
- // Create an SDK in the mock file system.
- var sdkRoot = newFolder('/sdk');
- createMockSdk(
- resourceProvider: resourceProvider,
- root: sdkRoot,
+ // The file in the file system has errors.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [testFilePathPlatform],
+ noErrors: [],
+ notAnalyzed: [],
);
- server = AnalysisServer(
- serverChannel,
- resourceProvider,
- AnalysisServerOptions(),
- DartSdkManager(sdkRoot.path),
- CrashReportingAttachmentsBuilder.empty,
- InstrumentationService.NULL_SERVICE);
- handler = AnalysisDomainHandler(server);
- // listen for notifications
- serverChannel.notifications.listen((Notification notification) {
- if (notification.event == ANALYSIS_NOTIFICATION_ERRORS) {
- var decoded = AnalysisErrorsParams.fromNotification(notification);
- filesErrors[decoded.file] = decoded.errors;
- }
- if (notification.event == ANALYSIS_NOTIFICATION_HIGHLIGHTS) {
- var params = AnalysisHighlightsParams.fromNotification(notification);
- filesHighlights[params.file] = params.regions;
- }
- if (notification.event == ANALYSIS_NOTIFICATION_NAVIGATION) {
- var params = AnalysisNavigationParams.fromNotification(notification);
- filesNavigation[params.file] = params.regions;
- }
- });
+ // Add an overlay without errors.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: AddContentOverlay(''),
+ }).toRequest('0'),
+ );
+
+ // A new errors notification was received, no errors.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ noErrors: [testFilePathPlatform],
+ notAnalyzed: [],
+ );
}
- /// Returns a [Future] that completes when the server's analysis is complete.
- Future get onAnalysisComplete {
- return server.onAnalysisComplete;
+ Future<void> test_updateContent_changeOverlay() async {
+ newFile('$testFilePath', content: '');
+
+ // Add the content with an error.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: AddContentOverlay('var v = 0'),
+ }).toRequest('0'),
+ );
+
+ await setRoots(included: [workspaceRootPath], excluded: []);
+
+ // The overlay has an error.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [testFilePathPlatform],
+ noErrors: [],
+ notAnalyzed: [],
+ );
+
+ // Add the missing `;`.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: ChangeContentOverlay([
+ SourceEdit(9, 0, ';'),
+ ]),
+ }).toRequest('0'),
+ );
+
+ // A new errors notification was received, no errors.
+ await server.onAnalysisComplete;
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ noErrors: [testFilePathPlatform],
+ notAnalyzed: [],
+ );
}
- void addAnalysisSubscription(AnalysisService service, String file) {
- // add file to subscription
- var files = analysisSubscriptions[service];
- if (files == null) {
- files = <String>[];
- analysisSubscriptions[service] = files;
- }
- files.add(file);
- // set subscriptions
- var request =
- AnalysisSetSubscriptionsParams(analysisSubscriptions).toRequest('0');
- handleSuccessfulRequest(request);
+ Future<void> test_updateContent_notAbsolute() async {
+ var response = await handleRequest(
+ AnalysisUpdateContentParams({
+ 'a.dart': AddContentOverlay(''),
+ }).toRequest('0'),
+ );
+ expect(response, isResponseFailure('0'));
}
- void addAnalysisSubscriptionHighlights(String file) {
- addAnalysisSubscription(AnalysisService.HIGHLIGHTS, file);
+ Future<void> test_updateContent_outOfRange_beyondEnd() {
+ return _updateContent_outOfRange('012', SourceEdit(0, 5, 'foo'));
}
- void addAnalysisSubscriptionNavigation(String file) {
- addAnalysisSubscription(AnalysisService.NAVIGATION, file);
+ Future<void> test_updateContent_outOfRange_negativeLength() {
+ return _updateContent_outOfRange('', SourceEdit(3, -1, 'foo'));
}
- /// Creates an empty project `/project`.
- void createEmptyProject() {
- newFolder(projectPath);
- var request =
- AnalysisSetAnalysisRootsParams([projectPath], []).toRequest('0');
- handleSuccessfulRequest(request);
+ Future<void> test_updateContent_outOfRange_negativeOffset() {
+ return _updateContent_outOfRange('', SourceEdit(-1, 3, 'foo'));
}
- /// Creates a project with a single Dart file `/project/bin/test.dart` with
- /// the given [code].
- Future<void> createSingleFileProject(code) async {
- testCode = _getCodeString(code);
- newFolder(projectPath);
- newFile(testFile, content: testCode);
- await setRoots(included: [projectPath], excluded: []);
- }
+ Future<void> _updateContent_outOfRange(
+ String initialContent,
+ SourceEdit edit,
+ ) async {
+ newFile('$testFilePath', content: initialContent);
- /// Returns the offset of [search] in [testCode].
- /// Fails if not found.
- int findOffset(String search) {
- var offset = testCode.indexOf(search);
- expect(offset, isNot(-1));
- return offset;
- }
+ await setRoots(included: [workspaceRootPath], excluded: []);
+ await server.onAnalysisComplete;
- /// Returns [AnalysisError]s recorded for the given [file].
- /// May be empty, but not `null`.
- List<AnalysisError> getErrors(String file) {
- var errors = filesErrors[file];
- if (errors != null) {
- return errors;
- }
- return <AnalysisError>[];
- }
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: AddContentOverlay(initialContent),
+ }).toRequest('0'),
+ );
- /// Returns highlights recorded for the given [file].
- /// May be empty, but not `null`.
- List<HighlightRegion> getHighlights(String file) {
- var highlights = filesHighlights[file];
- if (highlights != null) {
- return highlights;
- }
- return [];
- }
+ var response = await handleRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: ChangeContentOverlay([edit]),
+ }).toRequest('0'),
+ );
- /// Returns navigation regions recorded for the given [file].
- /// May be empty, but not `null`.
- List<NavigationRegion> getNavigation(String file) {
- var navigation = filesNavigation[file];
- if (navigation != null) {
- return navigation;
- }
- return [];
- }
-
- /// Returns [AnalysisError]s recorded for the [testFile].
- /// May be empty, but not `null`.
- List<AnalysisError> getTestErrors() {
- return getErrors(testFile);
- }
-
- /// Returns highlights recorded for the given [testFile].
- /// May be empty, but not `null`.
- List<HighlightRegion> getTestHighlights() {
- return getHighlights(testFile);
- }
-
- /// Returns navigation information recorded for the given [testFile].
- /// May be empty, but not `null`.
- List<NavigationRegion> getTestNavigation() {
- return getNavigation(testFile);
- }
-
- /// Validates that the given [request] is handled successfully.
- void handleSuccessfulRequest(Request request) {
- var response = handler.handleRequest(request, NotCancelableToken());
- expect(response, isResponseSuccess('0'));
- }
-
- /// Send an `updateContent` request for [testFile].
- void sendContentChange(HasToJson contentChange) {
- var request =
- AnalysisUpdateContentParams({testFile: contentChange}).toRequest('0');
- handleSuccessfulRequest(request);
- }
-
- Future<void> setRoots(
- {required List<String> included, required List<String> excluded}) async {
- var request =
- AnalysisSetAnalysisRootsParams(included, excluded).toRequest('0');
- var response = await waitResponse(request);
- expect(response, isResponseSuccess(request.id));
- }
-
- /// Stops the associated server.
- void stopServer() {
- server.done();
- }
-
- /// Completes with a successful [Response] for the given [request].
- /// Otherwise fails.
- Future<Response> waitResponse(Request request) async {
- return serverChannel.sendRequest(request);
- }
-
- static String _getCodeString(code) {
- if (code is List<String>) {
- code = code.join('\n');
- }
- return code as String;
+ expect(
+ response,
+ isResponseFailure(
+ '0',
+ RequestErrorCode.INVALID_OVERLAY_CHANGE,
+ ),
+ );
}
}
@@ -1729,6 +1574,7 @@
}
class _AnalysisDomainTest extends PubPackageAnalysisServerTest {
+ final List<AnalysisErrorsParams> analysisErrorsNotifications = [];
final Map<String, List<AnalysisError>> filesErrors = {};
/// The files for which `analysis.flushResults` was received.
@@ -1762,6 +1608,7 @@
}
if (notification.event == ANALYSIS_NOTIFICATION_ERRORS) {
var decoded = AnalysisErrorsParams.fromNotification(notification);
+ analysisErrorsNotifications.add(decoded);
filesErrors[decoded.file] = decoded.errors;
}
}
diff --git a/pkg/analysis_server/test/domain_completion_test.dart b/pkg/analysis_server/test/domain_completion_test.dart
index 37bf033..3618cc0 100644
--- a/pkg/analysis_server/test/domain_completion_test.dart
+++ b/pkg/analysis_server/test/domain_completion_test.dart
@@ -249,7 +249,7 @@
libraryUri,
).toRequest('0');
- var response = await _handleSuccessfulRequest(request);
+ var response = await handleSuccessfulRequest(request);
return CompletionGetSuggestionDetails2Result.fromResponse(response);
}
@@ -328,7 +328,7 @@
var request = _sendTestCompletionRequest('0', 0);
// Simulate typing in the IDE.
- await _handleSuccessfulRequest(
+ await handleSuccessfulRequest(
AnalysisUpdateContentParams({
testFilePathPlatform: AddContentOverlay('void f() {}'),
}).toRequest('1'),
@@ -1973,7 +1973,7 @@
maxResults,
).toRequest('0');
- var response = await _handleSuccessfulRequest(request);
+ var response = await handleSuccessfulRequest(request);
var result = CompletionGetSuggestions2Result.fromResponse(response);
return CompletionResponseForTesting(
requestOffset: completionOffset,
@@ -2963,6 +2963,13 @@
return await serverChannel.sendRequest(request);
}
+ /// Validates that the given [request] is handled successfully.
+ Future<Response> handleSuccessfulRequest(Request request) async {
+ var response = await handleRequest(request);
+ expect(response, isResponseSuccess(request.id));
+ return response;
+ }
+
void processNotification(Notification notification) {}
Future<void> setRoots({
@@ -2971,7 +2978,7 @@
}) async {
var includedConverted = included.map(convertPath).toList();
var excludedConverted = excluded.map(convertPath).toList();
- await _handleSuccessfulRequest(
+ await handleSuccessfulRequest(
AnalysisSetAnalysisRootsParams(
includedConverted,
excludedConverted,
@@ -3053,13 +3060,6 @@
await setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
}
-
- /// Validates that the given [request] is handled successfully.
- Future<Response> _handleSuccessfulRequest(Request request) async {
- var response = await handleRequest(request);
- expect(response, isResponseSuccess(request.id));
- return response;
- }
}
class RequestWithFutureResponse {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart b/pkg/front_end/testcases/general/issue129167943.dart
index 73d1967..c7560ea 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart
+++ b/pkg/front_end/testcases/general/issue129167943.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
abstract class A {}
abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
index 88e4708..2d33b0a 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {}
abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
index c1dd876..3d5bb93 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {}
abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.weak.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.expect
index dbcaed7..8ec3fec 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.weak.expect
@@ -1,244 +1,94 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(core::num x) → void;
}
abstract class C extends core::Object implements self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D1 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D1*
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
class D2 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D2*
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- method foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(covariant-by-declaration core::int x) → void {}
}
abstract class D3 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D3*
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub method foo(covariant-by-declaration core::num x) → void;
}
abstract class D4 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D4*
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D5 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D5*
+ synthetic constructor •() → self::D5
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::num x) → void;
}
abstract class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract set foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(core::num x) → void;
}
abstract class G extends core::Object implements self::E {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H1 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H1*
+ synthetic constructor •() → self::H1
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
class H2 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H2*
+ synthetic constructor •() → self::H2
: super core::Object::•()
;
- set foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set foo(covariant-by-declaration core::int x) → void {}
}
abstract class H3 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H3*
+ synthetic constructor •() → self::H3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub set foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub set foo(covariant-by-declaration core::num x) → void;
}
abstract class H4 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H4*
+ synthetic constructor •() → self::H4
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H5 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H5*
+ synthetic constructor •() → self::H5
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::num x) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.modular.expect
index dbcaed7..8ec3fec 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.weak.modular.expect
@@ -1,244 +1,94 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(core::num x) → void;
}
abstract class C extends core::Object implements self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D1 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D1*
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
class D2 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D2*
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- method foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(covariant-by-declaration core::int x) → void {}
}
abstract class D3 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D3*
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub method foo(covariant-by-declaration core::num x) → void;
}
abstract class D4 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D4*
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D5 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D5*
+ synthetic constructor •() → self::D5
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::num x) → void;
}
abstract class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract set foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(core::num x) → void;
}
abstract class G extends core::Object implements self::E {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H1 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H1*
+ synthetic constructor •() → self::H1
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
class H2 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H2*
+ synthetic constructor •() → self::H2
: super core::Object::•()
;
- set foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set foo(covariant-by-declaration core::int x) → void {}
}
abstract class H3 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H3*
+ synthetic constructor •() → self::H3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub set foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub set foo(covariant-by-declaration core::num x) → void;
}
abstract class H4 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H4*
+ synthetic constructor •() → self::H4
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H5 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H5*
+ synthetic constructor •() → self::H5
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::num x) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect
index 6d18c9a..e4d23f9 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect
@@ -1,232 +1,82 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- abstract method foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(core::num x) → void;
}
abstract class C extends core::Object implements self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D1 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D1*
+ synthetic constructor •() → self::D1
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
class D2 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D2*
+ synthetic constructor •() → self::D2
;
- method foo(covariant-by-declaration core::int* x) → void
+ method foo(covariant-by-declaration core::int x) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class D3 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D3*
+ synthetic constructor •() → self::D3
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub method foo(covariant-by-declaration core::num x) → void;
}
abstract class D4 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D4*
+ synthetic constructor •() → self::D4
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D5 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D5*
+ synthetic constructor •() → self::D5
;
- abstract method foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::num x) → void;
}
abstract class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- abstract set foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(core::num x) → void;
}
abstract class G extends core::Object implements self::E {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H1 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H1*
+ synthetic constructor •() → self::H1
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
class H2 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H2*
+ synthetic constructor •() → self::H2
;
- set foo(covariant-by-declaration core::int* x) → void
+ set foo(covariant-by-declaration core::int x) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class H3 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H3*
+ synthetic constructor •() → self::H3
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub set foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub set foo(covariant-by-declaration core::num x) → void;
}
abstract class H4 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H4*
+ synthetic constructor •() → self::H4
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H5 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H5*
+ synthetic constructor •() → self::H5
;
- abstract set foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::num x) → void;
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect
index dbcaed7..8ec3fec 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect
@@ -1,244 +1,94 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(core::num x) → void;
}
abstract class C extends core::Object implements self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D1 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D1*
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
class D2 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D2*
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- method foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(covariant-by-declaration core::int x) → void {}
}
abstract class D3 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D3*
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub method foo(covariant-by-declaration core::num x) → void;
}
abstract class D4 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D4*
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::int x) → void;
}
abstract class D5 extends core::Object implements self::A, self::C, self::B {
- synthetic constructor •() → self::D5*
+ synthetic constructor •() → self::D5
: super core::Object::•()
;
- abstract method foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method foo(covariant-by-declaration core::num x) → void;
}
abstract class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract set foo(core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(core::num x) → void;
}
abstract class G extends core::Object implements self::E {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H1 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H1*
+ synthetic constructor •() → self::H1
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
class H2 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H2*
+ synthetic constructor •() → self::H2
: super core::Object::•()
;
- set foo(covariant-by-declaration core::int* x) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set foo(covariant-by-declaration core::int x) → void {}
}
abstract class H3 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H3*
+ synthetic constructor •() → self::H3
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub set foo(covariant-by-declaration core::num* x) → void;
+ abstract forwarding-stub set foo(covariant-by-declaration core::num x) → void;
}
abstract class H4 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H4*
+ synthetic constructor •() → self::H4
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::int* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::int x) → void;
}
abstract class H5 extends core::Object implements self::A, self::E, self::G {
- synthetic constructor •() → self::H5*
+ synthetic constructor •() → self::H5
: super core::Object::•()
;
- abstract set foo(covariant-by-declaration core::num* x) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set foo(covariant-by-declaration core::num x) → void;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue31767.dart b/pkg/front_end/testcases/general/issue31767.dart
index 4a9997b..045dced 100644
--- a/pkg/front_end/testcases/general/issue31767.dart
+++ b/pkg/front_end/testcases/general/issue31767.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// @dart=2.9
import 'issue31767_lib.dart';
diff --git a/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
index 56c60d9..c0f1050 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
import 'issue31767_lib.dart';
StringBuffer sb;
diff --git a/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
index 05a7c2e..e349691 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
import 'issue31767_lib.dart';
StringBuffer sb;
diff --git a/pkg/front_end/testcases/general/issue31767_lib.dart b/pkg/front_end/testcases/general/issue31767_lib.dart
index 2041300..61406fd 100644
--- a/pkg/front_end/testcases/general/issue31767_lib.dart
+++ b/pkg/front_end/testcases/general/issue31767_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// @dart=2.9
import 'issue31767.dart';
diff --git a/pkg/front_end/testcases/general/issue34515.dart b/pkg/front_end/testcases/general/issue34515.dart
index eeebfc8..829ce3b 100644
--- a/pkg/front_end/testcases/general/issue34515.dart
+++ b/pkg/front_end/testcases/general/issue34515.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
import "issue34515_lib1.dart";
import "issue34515_lib2.dart";
diff --git a/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
index 76ca224..0d74c15 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import "issue34515_lib1.dart";
import "issue34515_lib2.dart";
diff --git a/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
index 51b0be9..608fcf1 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import "issue34515_lib1.dart";
import "issue34515_lib2.dart";
diff --git a/pkg/front_end/testcases/general/issue34515.dart.weak.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.expect
index 6ca6a9d..d92d811 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,51 +17,31 @@
import "org-dartlang-testcase:///issue34515_lib2.dart";
static method test() → void {
- let final core::Object* #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(1);
^^^^^^^^^^^^^";
- let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(\"a\");
^^^^^^^^^^^^^";
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::int* a) → self2::ImportedClass*
+ constructor •(core::int a) → self2::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-library;
+library /*isNonNullableByDefault*/;
import self as self3;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::String* a) → self3::ImportedClass*
+ constructor •(core::String a) → self3::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.modular.expect
index 6ca6a9d..d92d811 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,51 +17,31 @@
import "org-dartlang-testcase:///issue34515_lib2.dart";
static method test() → void {
- let final core::Object* #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(1);
^^^^^^^^^^^^^";
- let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(\"a\");
^^^^^^^^^^^^^";
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::int* a) → self2::ImportedClass*
+ constructor •(core::int a) → self2::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-library;
+library /*isNonNullableByDefault*/;
import self as self3;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::String* a) → self3::ImportedClass*
+ constructor •(core::String a) → self3::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect
index a6f6e10..70e67a5 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "org-dartlang-testcase:///issue34515_lib1.dart";
@@ -9,40 +9,20 @@
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::int* a) → self2::ImportedClass*
+ constructor •(core::int a) → self2::ImportedClass
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-library;
+library /*isNonNullableByDefault*/;
import self as self3;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::String* a) → self3::ImportedClass*
+ constructor •(core::String a) → self3::ImportedClass
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect
index 6ca6a9d..d92d811 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,51 +17,31 @@
import "org-dartlang-testcase:///issue34515_lib2.dart";
static method test() → void {
- let final core::Object* #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t1 = 1 in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:9:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(1);
^^^^^^^^^^^^^";
- let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
+ let final core::Object? #t2 = "a" in invalid-expression "pkg/front_end/testcases/general/issue34515.dart:10:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general/issue34515_lib1.dart' and 'pkg/front_end/testcases/general/issue34515_lib2.dart'.
ImportedClass(\"a\");
^^^^^^^^^^^^^";
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as self2;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::int* a) → self2::ImportedClass*
+ constructor •(core::int a) → self2::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-library;
+library /*isNonNullableByDefault*/;
import self as self3;
import "dart:core" as core;
class ImportedClass extends core::Object {
- constructor •(core::String* a) → self3::ImportedClass*
+ constructor •(core::String a) → self3::ImportedClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue34515_lib1.dart b/pkg/front_end/testcases/general/issue34515_lib1.dart
index 1777ac3..00f9340 100644
--- a/pkg/front_end/testcases/general/issue34515_lib1.dart
+++ b/pkg/front_end/testcases/general/issue34515_lib1.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class ImportedClass {
ImportedClass(int a);
}
diff --git a/pkg/front_end/testcases/general/issue34515_lib2.dart b/pkg/front_end/testcases/general/issue34515_lib2.dart
index 7382d3c..2ec64bb 100644
--- a/pkg/front_end/testcases/general/issue34515_lib2.dart
+++ b/pkg/front_end/testcases/general/issue34515_lib2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class ImportedClass {
ImportedClass(String a);
}
diff --git a/pkg/front_end/testcases/general/issue34714.dart b/pkg/front_end/testcases/general/issue34714.dart
index df43261..918ed93 100644
--- a/pkg/front_end/testcases/general/issue34714.dart
+++ b/pkg/front_end/testcases/general/issue34714.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A<T> {
factory A() = B; // Should infer B<T>.
}
diff --git a/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
index 29124ba..82ac1d1 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<T> {
factory A() = B;
}
diff --git a/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
index 29124ba..82ac1d1 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<T> {
factory A() = B;
}
diff --git a/pkg/front_end/testcases/general/issue34714.dart.weak.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.expect
index c0cc024..c16c3c6 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.weak.expect
@@ -1,36 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return new self::B::•<self::A::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return new self::B::•<self::A::•::T%>();
}
-class B<T extends core::Object* = dynamic> extends core::Object implements self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34714.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.modular.expect
index c0cc024..c16c3c6 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.weak.modular.expect
@@ -1,36 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return new self::B::•<self::A::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return new self::B::•<self::A::•::T%>();
}
-class B<T extends core::Object* = dynamic> extends core::Object implements self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect
index 6b16904..ded3fad 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect
@@ -1,35 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[self::A::•];
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return new self::B::•<self::A::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[self::A::•]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return new self::B::•<self::A::•::T%>();
}
-class B<T extends core::Object* = dynamic> extends core::Object implements self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect
index c0cc024..c16c3c6 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect
@@ -1,36 +1,16 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<T extends core::Object* = dynamic> extends core::Object {
- static final field dynamic _redirecting# = <dynamic>[#C1];
- static factory •<T extends core::Object* = dynamic>() → self::A<self::A::•::T*>*
- return new self::B::•<self::A::•::T*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+class A<T extends core::Object? = dynamic> extends core::Object {
+ static final field dynamic _redirecting# = <dynamic>[#C1]/*isLegacy*/;
+ static factory •<T extends core::Object? = dynamic>() → self::A<self::A::•::T%>
+ return new self::B::•<self::A::•::T%>();
}
-class B<T extends core::Object* = dynamic> extends core::Object implements self::A<self::B::T*> {
- constructor •() → self::B<self::B::T*>*
+class B<T extends core::Object? = dynamic> extends core::Object implements self::A<self::B::T%> {
+ constructor •() → self::B<self::B::T%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart b/pkg/front_end/testcases/general/issue34899.dart
index 6923798..deacf78 100644
--- a/pkg/front_end/testcases/general/issue34899.dart
+++ b/pkg/front_end/testcases/general/issue34899.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Foo<T> {
final Future<dynamic> Function() quux;
T t;
@@ -12,12 +12,12 @@
}
class Bar {
- Foo<Baz> qux;
+ Foo<Baz> qux = throw '';
Future<void> quuz() =>
qux().then((baz) => corge(baz)).then((grault) => garply(grault));
- Grault corge(Baz baz) => null;
+ Grault corge(Baz baz) => throw '';
void garply(Grault grault) {}
}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
index f989a75..1e916aa 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Foo<T> {
final Future<dynamic> Function() quux;
T t;
@@ -7,10 +6,10 @@
}
class Bar {
- Foo<Baz> qux;
+ Foo<Baz> qux = throw '';
Future<void> quuz() =>
qux().then((baz) => corge(baz)).then((grault) => garply(grault));
- Grault corge(Baz baz) => null;
+ Grault corge(Baz baz) => throw '';
void garply(Grault grault) {}
}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
index 1f0bcd0..cda9295 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
@@ -1,9 +1,8 @@
-// @dart = 2.9
class Bar {
- Foo<Baz> qux;
+ Foo<Baz> qux = throw '';
Future<void> quuz() =>
qux().then((baz) => corge(baz)).then((grault) => garply(grault));
- Grault corge(Baz baz) => null;
+ Grault corge(Baz baz) => throw '';
void garply(Grault grault) {}
}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.expect
index c1735e3..b7fefe3 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.expect
@@ -1,76 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- final field () →* asy::Future<dynamic>* quux;
- covariant-by-class field self::Foo::T* t;
- constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ final field () → asy::Future<dynamic> quux;
+ covariant-by-class field self::Foo::T% t;
+ constructor •(() → asy::Future<dynamic> quux, self::Foo::T% t) → self::Foo<self::Foo::T%>
: self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
;
- method call() → asy::Future<self::Foo::T*>*
- return this.{self::Foo::quux}{() →* asy::Future<dynamic>*}(){() →* asy::Future<dynamic>*}.{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t}{self::Foo::T*}){((dynamic) →* FutureOr<self::Foo::T*>*, {onError: core::Function*}) →* asy::Future<self::Foo::T*>*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call() → asy::Future<self::Foo::T%>
+ return this.{self::Foo::quux}{() → asy::Future<dynamic>}(){() → asy::Future<dynamic>}.{asy::Future::then}<self::Foo::T%>((dynamic _) → self::Foo::T% => this.{self::Foo::t}{self::Foo::T%}){((dynamic) → FutureOr<self::Foo::T%>, {onError: core::Function?}) → asy::Future<self::Foo::T%>};
}
class Bar extends core::Object {
- field self::Foo<self::Baz*>* qux = null;
- synthetic constructor •() → self::Bar*
+ field self::Foo<self::Baz> qux = throw "";
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- method quuz() → asy::Future<void>*
- return this.{self::Bar::qux}{self::Foo<self::Baz*>*}.{self::Foo::call}(){() →* asy::Future<self::Baz*>*}.{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz){(self::Baz*) →* self::Grault*}){((self::Baz*) →* FutureOr<self::Grault*>*, {onError: core::Function*}) →* asy::Future<self::Grault*>*}.{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault){(self::Grault*) →* void}){((self::Grault*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
- method corge(self::Baz* baz) → self::Grault*
- return null;
- method garply(self::Grault* grault) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method quuz() → asy::Future<void>
+ return this.{self::Bar::qux}{self::Foo<self::Baz>}.{self::Foo::call}(){() → asy::Future<self::Baz>}.{asy::Future::then}<self::Grault>((self::Baz baz) → self::Grault => this.{self::Bar::corge}(baz){(self::Baz) → self::Grault}){((self::Baz) → FutureOr<self::Grault>, {onError: core::Function?}) → asy::Future<self::Grault>}.{asy::Future::then}<void>((self::Grault grault) → void => this.{self::Bar::garply}(grault){(self::Grault) → void}){((self::Grault) → FutureOr<void>, {onError: core::Function?}) → asy::Future<void>};
+ method corge(self::Baz baz) → self::Grault
+ return throw "";
+ method garply(self::Grault grault) → void {}
}
class Baz extends core::Object {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Grault extends core::Object {
- synthetic constructor •() → self::Grault*
+ synthetic constructor •() → self::Grault
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.modular.expect
index c1735e3..b7fefe3 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.modular.expect
@@ -1,76 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- final field () →* asy::Future<dynamic>* quux;
- covariant-by-class field self::Foo::T* t;
- constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ final field () → asy::Future<dynamic> quux;
+ covariant-by-class field self::Foo::T% t;
+ constructor •(() → asy::Future<dynamic> quux, self::Foo::T% t) → self::Foo<self::Foo::T%>
: self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
;
- method call() → asy::Future<self::Foo::T*>*
- return this.{self::Foo::quux}{() →* asy::Future<dynamic>*}(){() →* asy::Future<dynamic>*}.{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t}{self::Foo::T*}){((dynamic) →* FutureOr<self::Foo::T*>*, {onError: core::Function*}) →* asy::Future<self::Foo::T*>*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call() → asy::Future<self::Foo::T%>
+ return this.{self::Foo::quux}{() → asy::Future<dynamic>}(){() → asy::Future<dynamic>}.{asy::Future::then}<self::Foo::T%>((dynamic _) → self::Foo::T% => this.{self::Foo::t}{self::Foo::T%}){((dynamic) → FutureOr<self::Foo::T%>, {onError: core::Function?}) → asy::Future<self::Foo::T%>};
}
class Bar extends core::Object {
- field self::Foo<self::Baz*>* qux = null;
- synthetic constructor •() → self::Bar*
+ field self::Foo<self::Baz> qux = throw "";
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- method quuz() → asy::Future<void>*
- return this.{self::Bar::qux}{self::Foo<self::Baz*>*}.{self::Foo::call}(){() →* asy::Future<self::Baz*>*}.{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz){(self::Baz*) →* self::Grault*}){((self::Baz*) →* FutureOr<self::Grault*>*, {onError: core::Function*}) →* asy::Future<self::Grault*>*}.{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault){(self::Grault*) →* void}){((self::Grault*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
- method corge(self::Baz* baz) → self::Grault*
- return null;
- method garply(self::Grault* grault) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method quuz() → asy::Future<void>
+ return this.{self::Bar::qux}{self::Foo<self::Baz>}.{self::Foo::call}(){() → asy::Future<self::Baz>}.{asy::Future::then}<self::Grault>((self::Baz baz) → self::Grault => this.{self::Bar::corge}(baz){(self::Baz) → self::Grault}){((self::Baz) → FutureOr<self::Grault>, {onError: core::Function?}) → asy::Future<self::Grault>}.{asy::Future::then}<void>((self::Grault grault) → void => this.{self::Bar::garply}(grault){(self::Grault) → void}){((self::Grault) → FutureOr<void>, {onError: core::Function?}) → asy::Future<void>};
+ method corge(self::Baz baz) → self::Grault
+ return throw "";
+ method garply(self::Grault grault) → void {}
}
class Baz extends core::Object {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Grault extends core::Object {
- synthetic constructor •() → self::Grault*
+ synthetic constructor •() → self::Grault
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect
index d15bcb7..715285c 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect
@@ -1,74 +1,34 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- final field () →* asy::Future<dynamic>* quux;
- covariant-by-class field self::Foo::T* t;
- constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ final field () → asy::Future<dynamic> quux;
+ covariant-by-class field self::Foo::T% t;
+ constructor •(() → asy::Future<dynamic> quux, self::Foo::T% t) → self::Foo<self::Foo::T%>
;
- method call() → asy::Future<self::Foo::T*>*
+ method call() → asy::Future<self::Foo::T%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Bar extends core::Object {
- field self::Foo<self::Baz*>* qux;
- synthetic constructor •() → self::Bar*
+ field self::Foo<self::Baz> qux;
+ synthetic constructor •() → self::Bar
;
- method quuz() → asy::Future<void>*
+ method quuz() → asy::Future<void>
;
- method corge(self::Baz* baz) → self::Grault*
+ method corge(self::Baz baz) → self::Grault
;
- method garply(self::Grault* grault) → void
+ method garply(self::Grault grault) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Baz extends core::Object {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Grault extends core::Object {
- synthetic constructor •() → self::Grault*
+ synthetic constructor •() → self::Grault
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
index c1735e3..b7fefe3 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
@@ -1,76 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
-class Foo<T extends core::Object* = dynamic> extends core::Object {
- final field () →* asy::Future<dynamic>* quux;
- covariant-by-class field self::Foo::T* t;
- constructor •(() →* asy::Future<dynamic>* quux, self::Foo::T* t) → self::Foo<self::Foo::T*>*
+class Foo<T extends core::Object? = dynamic> extends core::Object {
+ final field () → asy::Future<dynamic> quux;
+ covariant-by-class field self::Foo::T% t;
+ constructor •(() → asy::Future<dynamic> quux, self::Foo::T% t) → self::Foo<self::Foo::T%>
: self::Foo::quux = quux, self::Foo::t = t, super core::Object::•()
;
- method call() → asy::Future<self::Foo::T*>*
- return this.{self::Foo::quux}{() →* asy::Future<dynamic>*}(){() →* asy::Future<dynamic>*}.{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t}{self::Foo::T*}){((dynamic) →* FutureOr<self::Foo::T*>*, {onError: core::Function*}) →* asy::Future<self::Foo::T*>*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method call() → asy::Future<self::Foo::T%>
+ return this.{self::Foo::quux}{() → asy::Future<dynamic>}(){() → asy::Future<dynamic>}.{asy::Future::then}<self::Foo::T%>((dynamic _) → self::Foo::T% => this.{self::Foo::t}{self::Foo::T%}){((dynamic) → FutureOr<self::Foo::T%>, {onError: core::Function?}) → asy::Future<self::Foo::T%>};
}
class Bar extends core::Object {
- field self::Foo<self::Baz*>* qux = null;
- synthetic constructor •() → self::Bar*
+ field self::Foo<self::Baz> qux = throw "";
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- method quuz() → asy::Future<void>*
- return this.{self::Bar::qux}{self::Foo<self::Baz*>*}.{self::Foo::call}(){() →* asy::Future<self::Baz*>*}.{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz){(self::Baz*) →* self::Grault*}){((self::Baz*) →* FutureOr<self::Grault*>*, {onError: core::Function*}) →* asy::Future<self::Grault*>*}.{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault){(self::Grault*) →* void}){((self::Grault*) →* FutureOr<void>*, {onError: core::Function*}) →* asy::Future<void>*};
- method corge(self::Baz* baz) → self::Grault*
- return null;
- method garply(self::Grault* grault) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method quuz() → asy::Future<void>
+ return this.{self::Bar::qux}{self::Foo<self::Baz>}.{self::Foo::call}(){() → asy::Future<self::Baz>}.{asy::Future::then}<self::Grault>((self::Baz baz) → self::Grault => this.{self::Bar::corge}(baz){(self::Baz) → self::Grault}){((self::Baz) → FutureOr<self::Grault>, {onError: core::Function?}) → asy::Future<self::Grault>}.{asy::Future::then}<void>((self::Grault grault) → void => this.{self::Bar::garply}(grault){(self::Grault) → void}){((self::Grault) → FutureOr<void>, {onError: core::Function?}) → asy::Future<void>};
+ method corge(self::Baz baz) → self::Grault
+ return throw "";
+ method garply(self::Grault grault) → void {}
}
class Baz extends core::Object {
- synthetic constructor •() → self::Baz*
+ synthetic constructor •() → self::Baz
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Grault extends core::Object {
- synthetic constructor •() → self::Grault*
+ synthetic constructor •() → self::Grault
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart b/pkg/front_end/testcases/general/issue35875.dart
index cdcd28f..27f7a21 100644
--- a/pkg/front_end/testcases/general/issue35875.dart
+++ b/pkg/front_end/testcases/general/issue35875.dart
@@ -1,10 +1,10 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A {
- int a;
- A(int a) {
+ int? a;
+ A(int? a) {
(this).a = a;
}
}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
index a1997db..1201844 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
@@ -1,7 +1,6 @@
-// @dart = 2.9
class A {
- int a;
- A(int a) {}
+ int? a;
+ A(int? a) {}
}
main() {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
index 0de1b77..697216b 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
@@ -1,7 +1,6 @@
-// @dart = 2.9
class A {
- A(int a) {}
- int a;
+ A(int? a) {}
+ int? a;
}
main() {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.weak.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.expect
index fe26450..9e0ce1e 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.weak.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field core::int* a = null;
- constructor •(core::int* a) → self::A*
+ field core::int? a = null;
+ constructor •(core::int? a) → self::A
: super core::Object::•() {
this.{self::A::a} = a;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.modular.expect
index fe26450..9e0ce1e 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.weak.modular.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field core::int* a = null;
- constructor •(core::int* a) → self::A*
+ field core::int? a = null;
+ constructor •(core::int? a) → self::A
: super core::Object::•() {
this.{self::A::a} = a;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect
index f25c2ca..a5aedf8 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field core::int* a;
- constructor •(core::int* a) → self::A*
+ field core::int? a;
+ constructor •(core::int? a) → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect
index fe26450..9e0ce1e 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field core::int* a = null;
- constructor •(core::int* a) → self::A*
+ field core::int? a = null;
+ constructor •(core::int? a) → self::A
: super core::Object::•() {
this.{self::A::a} = a;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart b/pkg/front_end/testcases/general/issue37027.dart
index 1da79e2..6272d62 100644
--- a/pkg/front_end/testcases/general/issue37027.dart
+++ b/pkg/front_end/testcases/general/issue37027.dart
@@ -1,9 +1,10 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
class C {
final Set<int> s;
C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
}
-// @dart=2.9
+
main() {}
diff --git a/pkg/front_end/testcases/general/issue37381.dart b/pkg/front_end/testcases/general/issue37381.dart
index aabaf7f..9424045 100644
--- a/pkg/front_end/testcases/general/issue37381.dart
+++ b/pkg/front_end/testcases/general/issue37381.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// This test checks that the bug reported at http://dartbug.com/37381 is fixed.
class A<X> {
diff --git a/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
index 8b08987..0e78f9c 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<X> {
R f<R>(R Function<X>(A<X>) f) => f<X>(this);
}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
index 8b08987..0e78f9c 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<X> {
R f<R>(R Function<X>(A<X>) f) => f<X>(this);
}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.expect
index 8ec0e22..b0dd96a 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
- method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
- return f<self::A::X*>(this){(self::A<self::A::X*>*) →* self::A::f::R*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<R extends core::Object? = dynamic>(<X extends core::Object? = dynamic>(self::A<X%>) → self::A::f::R% f) → self::A::f::R%
+ return f<self::A::X%>(this){(self::A<self::A::X%>) → self::A::f::R%};
}
static method main() → dynamic {
- self::A<core::num*>* a = new self::A::•<core::int*>();
- a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42){(<X extends core::Object* = dynamic>(self::A<X*>*) →* core::int*) →* core::int*};
+ self::A<core::num> a = new self::A::•<core::int>();
+ a.{self::A::f}<core::int>(<X extends core::Object? = dynamic>(self::A<X%> _) → core::int => 42){(<X extends core::Object? = dynamic>(self::A<X%>) → core::int) → core::int};
}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.modular.expect
index 8ec0e22..b0dd96a 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
- method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
- return f<self::A::X*>(this){(self::A<self::A::X*>*) →* self::A::f::R*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<R extends core::Object? = dynamic>(<X extends core::Object? = dynamic>(self::A<X%>) → self::A::f::R% f) → self::A::f::R%
+ return f<self::A::X%>(this){(self::A<self::A::X%>) → self::A::f::R%};
}
static method main() → dynamic {
- self::A<core::num*>* a = new self::A::•<core::int*>();
- a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42){(<X extends core::Object* = dynamic>(self::A<X*>*) →* core::int*) →* core::int*};
+ self::A<core::num> a = new self::A::•<core::int>();
+ a.{self::A::f}<core::int>(<X extends core::Object? = dynamic>(self::A<X%> _) → core::int => 42){(<X extends core::Object? = dynamic>(self::A<X%>) → core::int) → core::int};
}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect
index a22155d..5f94281 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
;
- method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
+ method f<R extends core::Object? = dynamic>(<X extends core::Object? = dynamic>(self::A<X%>) → self::A::f::R% f) → self::A::f::R%
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
index 8ec0e22..b0dd96a 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class A<X extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
: super core::Object::•()
;
- method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
- return f<self::A::X*>(this){(self::A<self::A::X*>*) →* self::A::f::R*};
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method f<R extends core::Object? = dynamic>(<X extends core::Object? = dynamic>(self::A<X%>) → self::A::f::R% f) → self::A::f::R%
+ return f<self::A::X%>(this){(self::A<self::A::X%>) → self::A::f::R%};
}
static method main() → dynamic {
- self::A<core::num*>* a = new self::A::•<core::int*>();
- a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42){(<X extends core::Object* = dynamic>(self::A<X*>*) →* core::int*) →* core::int*};
+ self::A<core::num> a = new self::A::•<core::int>();
+ a.{self::A::f}<core::int>(<X extends core::Object? = dynamic>(self::A<X%> _) → core::int => 42){(<X extends core::Object? = dynamic>(self::A<X%>) → core::int) → core::int};
}
diff --git a/pkg/front_end/testcases/general/issue37753.dart b/pkg/front_end/testcases/general/issue37753.dart
index f653337..d55dc2f 100644
--- a/pkg/front_end/testcases/general/issue37753.dart
+++ b/pkg/front_end/testcases/general/issue37753.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
-
// Regression test for https://github.com/dart-lang/sdk/issues/37753.
// A missing piece of transform logic caused nested sync* set to a variable
// to not get transformed, which would either fail an assert or crash.
diff --git a/pkg/front_end/testcases/general/issue37753.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue37753.dart.textual_outline.expect
index 771fd22..9598357 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
Iterable<int> getElements() sync* {}
main() => print(getElements());
diff --git a/pkg/front_end/testcases/general/issue37753.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue37753.dart.textual_outline_modelled.expect
index 771fd22..9598357 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
Iterable<int> getElements() sync* {}
main() => print(getElements());
diff --git a/pkg/front_end/testcases/general/issue37753.dart.weak.expect b/pkg/front_end/testcases/general/issue37753.dart.weak.expect
index 8ce1e9b..a0ac6b6 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.weak.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method getElements() → core::Iterable<core::int*>* sync* {
- core::Iterable<core::int*>* elements;
- elements = (() → core::Iterable<core::int*>* sync* {
+static method getElements() → core::Iterable<core::int> sync* {
+ core::Iterable<core::int> elements;
+ elements = (() → core::Iterable<core::int> sync* {
yield 7;
- })(){() →* core::Iterable<core::int*>*};
+ })(){() → core::Iterable<core::int>};
yield* elements;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/issue37753.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue37753.dart.weak.modular.expect
index 8ce1e9b..a0ac6b6 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.weak.modular.expect
@@ -1,12 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method getElements() → core::Iterable<core::int*>* sync* {
- core::Iterable<core::int*>* elements;
- elements = (() → core::Iterable<core::int*>* sync* {
+static method getElements() → core::Iterable<core::int> sync* {
+ core::Iterable<core::int> elements;
+ elements = (() → core::Iterable<core::int> sync* {
yield 7;
- })(){() →* core::Iterable<core::int*>*};
+ })(){() → core::Iterable<core::int>};
yield* elements;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/issue37753.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue37753.dart.weak.outline.expect
index 2032eab..fa2f690 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method getElements() → core::Iterable<core::int*>* sync*
+static method getElements() → core::Iterable<core::int> sync*
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue37753.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37753.dart.weak.transformed.expect
index 7321092..64d5279 100644
--- a/pkg/front_end/testcases/general/issue37753.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37753.dart.weak.transformed.expect
@@ -1,19 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method getElements() → core::Iterable<core::int*>* /* originally sync* */ {
- function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
- core::int* :await_jump_var = 0;
+static method getElements() → core::Iterable<core::int> /* originally sync* */ {
+ function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+ function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
{
- core::Iterable<core::int*>* elements;
- elements = (() → core::Iterable<core::int*>* /* originally sync* */ {
- function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
- core::int* :await_jump_var = 0;
+ core::Iterable<core::int> elements;
+ elements = (() → core::Iterable<core::int> /* originally sync* */ {
+ function :sync_op_gen() → (core::_SyncIterator<dynamic>?, dynamic, dynamic) → core::bool* {
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
- function :sync_op(core::_SyncIterator<dynamic>* :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
+ function :sync_op(core::_SyncIterator<dynamic>? :iterator, dynamic :exception, dynamic :stack_trace) → core::bool* yielding {
{
{
:iterator.{core::_SyncIterator::_current} = 7;
@@ -24,8 +24,8 @@
}
return :sync_op;
}
- return new core::_SyncIterable::•<core::int*>(:sync_op_gen);
- })(){() →* core::Iterable<core::int*>*};
+ return new core::_SyncIterable::•<core::int>(:sync_op_gen);
+ })(){() → core::Iterable<core::int>};
{
:iterator.{core::_SyncIterator::_yieldEachIterable} = elements;
[yield] true;
@@ -35,7 +35,7 @@
}
return :sync_op;
}
- return new core::_SyncIterable::•<core::int*>(:sync_op_gen);
+ return new core::_SyncIterable::•<core::int>(:sync_op_gen);
}
static method main() → dynamic
return core::print(self::getElements());
diff --git a/pkg/front_end/testcases/general/issue37776.dart b/pkg/front_end/testcases/general/issue37776.dart
index 600c1f5..49b4f52 100644
--- a/pkg/front_end/testcases/general/issue37776.dart
+++ b/pkg/front_end/testcases/general/issue37776.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// This test checks that the bug reported at http://dartbug.com/37776 is fixed.
class X {
diff --git a/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
index 48496d9..fe9bbfe 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class X {
const X.foo();
}
diff --git a/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
index 48496d9..fe9bbfe 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class X {
const X.foo();
}
diff --git a/pkg/front_end/testcases/general/issue37776.dart.weak.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.expect
index 7840a4b..67447b5 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,34 +17,14 @@
import "dart:core" as core;
class X#1 extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X#1*
+ const constructor foo() → self::X#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X*
+ const constructor foo() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {
invalid-expression "pkg/front_end/testcases/general/issue37776.dart:16:9: Error: Couldn't find constructor 'X.foo'.
diff --git a/pkg/front_end/testcases/general/issue37776.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.modular.expect
index 7840a4b..67447b5 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,34 +17,14 @@
import "dart:core" as core;
class X#1 extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X#1*
+ const constructor foo() → self::X#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X*
+ const constructor foo() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {
invalid-expression "pkg/front_end/testcases/general/issue37776.dart:16:9: Error: Couldn't find constructor 'X.foo'.
diff --git a/pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect
index 81a519a..5ed6ff8 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -13,34 +13,14 @@
import "dart:core" as core;
class X#1 extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X#1*
+ const constructor foo() → self::X#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X*
+ const constructor foo() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void
;
diff --git a/pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect
index 7840a4b..67447b5 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,34 +17,14 @@
import "dart:core" as core;
class X#1 extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X#1*
+ const constructor foo() → self::X#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object /*hasConstConstructor*/ {
- const constructor foo() → self::X*
+ const constructor foo() → self::X
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → void {
invalid-expression "pkg/front_end/testcases/general/issue37776.dart:16:9: Error: Couldn't find constructor 'X.foo'.
diff --git a/pkg/front_end/testcases/general/issue38812.dart b/pkg/front_end/testcases/general/issue38812.dart
index eba2ba6..9d26308 100644
--- a/pkg/front_end/testcases/general/issue38812.dart
+++ b/pkg/front_end/testcases/general/issue38812.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
typedef G<X> = void Function();
class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
index 5b18a25..f69b6fc 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
typedef G<X> = void Function();
class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
index ef0531c..f0058f6 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
main() {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.weak.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.expect
index 1bcd793..7a83fef 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.weak.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void, Y extends () →* void> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
+typedef G<unrelated X extends core::Object? = dynamic> = () → void;
+class A<X extends () → void, Y extends () → void> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X, self::A::Y>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::A::•<() →* void, () →* void>();
+ new self::A::•<() → void, () → void>();
}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.modular.expect
index 1bcd793..7a83fef 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.weak.modular.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void, Y extends () →* void> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
+typedef G<unrelated X extends core::Object? = dynamic> = () → void;
+class A<X extends () → void, Y extends () → void> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X, self::A::Y>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::A::•<() →* void, () →* void>();
+ new self::A::•<() → void, () → void>();
}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect
index d9a199c..a50b799 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect
@@ -1,21 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void, Y extends () →* void> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
+typedef G<unrelated X extends core::Object? = dynamic> = () → void;
+class A<X extends () → void, Y extends () → void> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X, self::A::Y>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect
index 1bcd793..7a83fef 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void, Y extends () →* void> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
+typedef G<unrelated X extends core::Object? = dynamic> = () → void;
+class A<X extends () → void, Y extends () → void> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X, self::A::Y>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- new self::A::•<() →* void, () →* void>();
+ new self::A::•<() → void, () → void>();
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart b/pkg/front_end/testcases/general/issue38938.dart
index ff65f62..5f76015 100644
--- a/pkg/front_end/testcases/general/issue38938.dart
+++ b/pkg/front_end/testcases/general/issue38938.dart
@@ -1,10 +1,10 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A {
- int v;
- int v;
+ int? v;
+ int? v;
A(this.v);
A.second();
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
index 4358745..65c652c 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
@@ -1,7 +1,6 @@
-// @dart = 2.9
class A {
- int v;
- int v;
+ int? v;
+ int? v;
A(this.v);
A.second();
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
index a1d2ccd..50e19e2 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
@@ -1,7 +1,6 @@
-// @dart = 2.9
class A {
A(this.v);
A.second();
- int v;
- int v;
+ int? v;
+ int? v;
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.weak.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.expect
index 2ed9c3f..6736f12 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.weak.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue38938.dart:7:7: Error: 'v' is already declared in this scope.
-// int v;
-// ^
-// pkg/front_end/testcases/general/issue38938.dart:6:7: Context: Previous declaration of 'v'.
-// int v;
-// ^
+// pkg/front_end/testcases/general/issue38938.dart:7:8: Error: 'v' is already declared in this scope.
+// int? v;
+// ^
+// pkg/front_end/testcases/general/issue38938.dart:6:8: Context: Previous declaration of 'v'.
+// int? v;
+// ^
//
// pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
// A(this.v);
@@ -17,23 +17,13 @@
import "dart:core" as core;
class A extends core::Object {
- field core::int* v = null;
- constructor •(core::int* v) → self::A*
+ field core::int? v = null;
+ constructor •(core::int? v) → self::A
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
A(this.v);
^"
;
- constructor second() → self::A*
+ constructor second() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.modular.expect
index 2ed9c3f..6736f12 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.weak.modular.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue38938.dart:7:7: Error: 'v' is already declared in this scope.
-// int v;
-// ^
-// pkg/front_end/testcases/general/issue38938.dart:6:7: Context: Previous declaration of 'v'.
-// int v;
-// ^
+// pkg/front_end/testcases/general/issue38938.dart:7:8: Error: 'v' is already declared in this scope.
+// int? v;
+// ^
+// pkg/front_end/testcases/general/issue38938.dart:6:8: Context: Previous declaration of 'v'.
+// int? v;
+// ^
//
// pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
// A(this.v);
@@ -17,23 +17,13 @@
import "dart:core" as core;
class A extends core::Object {
- field core::int* v = null;
- constructor •(core::int* v) → self::A*
+ field core::int? v = null;
+ constructor •(core::int? v) → self::A
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
A(this.v);
^"
;
- constructor second() → self::A*
+ constructor second() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect
index b5f3744..8a64757 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue38938.dart:7:7: Error: 'v' is already declared in this scope.
-// int v;
-// ^
-// pkg/front_end/testcases/general/issue38938.dart:6:7: Context: Previous declaration of 'v'.
-// int v;
-// ^
+// pkg/front_end/testcases/general/issue38938.dart:7:8: Error: 'v' is already declared in this scope.
+// int? v;
+// ^
+// pkg/front_end/testcases/general/issue38938.dart:6:8: Context: Previous declaration of 'v'.
+// int? v;
+// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
- field core::int* v;
- constructor •(core::int* v) → self::A*
+ field core::int? v;
+ constructor •(core::int? v) → self::A
;
- constructor second() → self::A*
+ constructor second() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect
index 2ed9c3f..6736f12 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue38938.dart:7:7: Error: 'v' is already declared in this scope.
-// int v;
-// ^
-// pkg/front_end/testcases/general/issue38938.dart:6:7: Context: Previous declaration of 'v'.
-// int v;
-// ^
+// pkg/front_end/testcases/general/issue38938.dart:7:8: Error: 'v' is already declared in this scope.
+// int? v;
+// ^
+// pkg/front_end/testcases/general/issue38938.dart:6:8: Context: Previous declaration of 'v'.
+// int? v;
+// ^
//
// pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
// A(this.v);
@@ -17,23 +17,13 @@
import "dart:core" as core;
class A extends core::Object {
- field core::int* v = null;
- constructor •(core::int* v) → self::A*
+ field core::int? v = null;
+ constructor •(core::int? v) → self::A
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue38938.dart:8:10: Error: Can't use 'v' because it is declared more than once.
A(this.v);
^"
;
- constructor second() → self::A*
+ constructor second() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38943.dart b/pkg/front_end/testcases/general/issue38943.dart
index 2db3c96..1d86b19 100644
--- a/pkg/front_end/testcases/general/issue38943.dart
+++ b/pkg/front_end/testcases/general/issue38943.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class D<X extends void Function()> {
factory D.foo() => new D._();
D._() {}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
index c666e23..f78c92f 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class D<X extends void Function()> {
factory D.foo() => new D._();
D._() {}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
index 3767f32..256c973 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class D<X extends void Function()> {
D._() {}
factory D.foo() => new D._();
diff --git a/pkg/front_end/testcases/general/issue38943.dart.weak.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.expect
index c723406..29dd3c5 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.weak.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class D<X extends () →* void> extends core::Object {
- constructor _() → self::D<self::D::X*>*
+class D<X extends () → void> extends core::Object {
+ constructor _() → self::D<self::D::X>
: super core::Object::•() {}
- static factory foo<X extends () →* void>() → self::D<self::D::foo::X*>*
- return new self::D::_<self::D::foo::X*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory foo<X extends () → void>() → self::D<self::D::foo::X>
+ return new self::D::_<self::D::foo::X>();
}
static method main() → dynamic {
- core::print(self::D::foo<() →* void>());
+ core::print(self::D::foo<() → void>());
}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.modular.expect
index c723406..29dd3c5 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.weak.modular.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class D<X extends () →* void> extends core::Object {
- constructor _() → self::D<self::D::X*>*
+class D<X extends () → void> extends core::Object {
+ constructor _() → self::D<self::D::X>
: super core::Object::•() {}
- static factory foo<X extends () →* void>() → self::D<self::D::foo::X*>*
- return new self::D::_<self::D::foo::X*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory foo<X extends () → void>() → self::D<self::D::foo::X>
+ return new self::D::_<self::D::foo::X>();
}
static method main() → dynamic {
- core::print(self::D::foo<() →* void>());
+ core::print(self::D::foo<() → void>());
}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect
index 7c3fcaf..bc85f88 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect
@@ -1,22 +1,12 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class D<X extends () →* void> extends core::Object {
- constructor _() → self::D<self::D::X*>*
+class D<X extends () → void> extends core::Object {
+ constructor _() → self::D<self::D::X>
;
- static factory foo<X extends () →* void>() → self::D<self::D::foo::X*>*
+ static factory foo<X extends () → void>() → self::D<self::D::foo::X>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect
index c723406..29dd3c5 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect
@@ -1,23 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class D<X extends () →* void> extends core::Object {
- constructor _() → self::D<self::D::X*>*
+class D<X extends () → void> extends core::Object {
+ constructor _() → self::D<self::D::X>
: super core::Object::•() {}
- static factory foo<X extends () →* void>() → self::D<self::D::foo::X*>*
- return new self::D::_<self::D::foo::X*>();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static factory foo<X extends () → void>() → self::D<self::D::foo::X>
+ return new self::D::_<self::D::foo::X>();
}
static method main() → dynamic {
- core::print(self::D::foo<() →* void>());
+ core::print(self::D::foo<() → void>());
}
diff --git a/pkg/front_end/testcases/general/issue38944.dart b/pkg/front_end/testcases/general/issue38944.dart
index c467d0d..a0b7f42 100644
--- a/pkg/front_end/testcases/general/issue38944.dart
+++ b/pkg/front_end/testcases/general/issue38944.dart
@@ -1,6 +1,6 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
index 47092ea..279bc70 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
index 47092ea..279bc70 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<Q> {}
class B<X> extends Object with A<void Function<Y extends X>()> {}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.weak.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.expect
index 6ac58de..4f9c07c 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,38 +9,18 @@
import self as self;
import "dart:core" as core;
-class A<Q extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::Q*>*
+class A<Q extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
+abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
- synthetic constructor •() → self::B<self::B::X*>*
+class B<X extends core::Object? = dynamic> extends self::_B&Object&A<self::B::X%> {
+ synthetic constructor •() → self::B<self::B::X%>
: super self::_B&Object&A::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.modular.expect
index 6ac58de..4f9c07c 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,38 +9,18 @@
import self as self;
import "dart:core" as core;
-class A<Q extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::Q*>*
+class A<Q extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
+abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
- synthetic constructor •() → self::B<self::B::X*>*
+class B<X extends core::Object? = dynamic> extends self::_B&Object&A<self::B::X%> {
+ synthetic constructor •() → self::B<self::B::X%>
: super self::_B&Object&A::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect
index 2ccc972..902d393 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,36 +9,16 @@
import self as self;
import "dart:core" as core;
-class A<Q extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::Q*>*
+class A<Q extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::Q%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
+abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
- synthetic constructor •() → self::B<self::B::X*>*
+class B<X extends core::Object? = dynamic> extends self::_B&Object&A<self::B::X%> {
+ synthetic constructor •() → self::B<self::B::X%>
;
}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect
index 6ac58de..4f9c07c 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -9,38 +9,18 @@
import self as self;
import "dart:core" as core;
-class A<Q extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::A<self::A::Q*>*
+class A<Q extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::Q%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
+abstract class _B&Object&A<X extends core::Object? = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X%>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
- synthetic constructor •() → self::B<self::B::X*>*
+class B<X extends core::Object? = dynamic> extends self::_B&Object&A<self::B::X%> {
+ synthetic constructor •() → self::B<self::B::X%>
: super self::_B&Object&A::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue38961.dart b/pkg/front_end/testcases/general/issue38961.dart
index 00864c2..b98ae94 100644
--- a/pkg/front_end/testcases/general/issue38961.dart
+++ b/pkg/front_end/testcases/general/issue38961.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class C {
dynamic x = this;
var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
index f67e4a5..f38f3d3 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C {
dynamic x = this;
var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
index f67e4a5..f38f3d3 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C {
dynamic x = this;
var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.weak.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.expect
index a588600..0b9c61a 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,17 +22,7 @@
class C extends core::Object {
field dynamic x = null;
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38961.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.modular.expect
index a588600..0b9c61a 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,17 +22,7 @@
class C extends core::Object {
field dynamic x = null;
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect
index 01a97d1..6b1474b 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,16 +14,6 @@
class C extends core::Object {
field dynamic x;
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect
index a588600..0b9c61a 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -22,17 +22,7 @@
class C extends core::Object {
field dynamic x = null;
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
diff --git a/pkg/front_end/testcases/general/issue39344.dart b/pkg/front_end/testcases/general/issue39344.dart
index a86b905..6029631 100644
--- a/pkg/front_end/testcases/general/issue39344.dart
+++ b/pkg/front_end/testcases/general/issue39344.dart
@@ -1,13 +1,13 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A {}
class B extends A {}
-List<B> xs;
-List<List<B>> xss;
+late List<B> xs;
+late List<List<B>> xss;
class Class<T extends A> {
void method1a(T t) {
diff --git a/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
index 27aa1fa..baee03e 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
@@ -1,10 +1,9 @@
-// @dart = 2.9
class A {}
class B extends A {}
-List<B> xs;
-List<List<B>> xss;
+late List<B> xs;
+late List<List<B>> xss;
class Class<T extends A> {
void method1a(T t) {}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
index bc21bce..5eeda1d 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
@@ -1,18 +1,19 @@
-// @dart = 2.9
-List<B> xs;
-List<List<B>> xss;
-
class A {}
-
class B extends A {}
-
+---- unknown chunk starts ----
+late
+---- unknown chunk ends ----
+List<B> xs;
+---- unknown chunk starts ----
+late
+---- unknown chunk ends ----
+List<List<B>> xss;
class Class<T extends A> {
void method1a(T t) {}
void method1b(T t) {}
void method2a(T t) {}
void method2b(T t) {}
}
-
void errors() {}
void main() {}
void throws(void Function() f) {}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.expect
index fd2787d..b41852a 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -18,97 +18,77 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
-class Class<T extends self::A*> extends core::Object {
- synthetic constructor •() → self::Class<self::Class::T*>*
+class Class<T extends self::A> extends core::Object {
+ synthetic constructor •() → self::Class<self::Class::T>
: super core::Object::•()
;
- method method1a(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
+ method method1a(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = <self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}];
self::xs = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:19:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xs = ys;
- ^" in ys as{TypeError} core::List<self::B*>*;
+ ^" in ys as{TypeError,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method1b(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
+ method method1b(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = <core::List<self::Class::T>>[<self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}]];
self::xss = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:31:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xss = yss;
- ^" in yss as{TypeError} core::List<core::List<self::B*>*>*;
+ ^" in yss as{TypeError,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- method method2a(covariant-by-class self::Class::T* t) → void {
+ method method2a(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = <self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}];
alias = ys;
- self::xs = alias as{TypeError,ForDynamic} core::List<self::B*>*;
+ self::xs = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method2b(covariant-by-class self::Class::T* t) → void {
+ method method2b(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = <core::List<self::Class::T>>[<self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}]];
alias = yss;
- self::xss = alias as{TypeError,ForDynamic} core::List<core::List<self::B*>*>*;
+ self::xss = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
+late static field core::List<self::B> xs;
+late static field core::List<core::List<self::B>> xss;
static method main() → void {
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2a}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2b}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
}
static method errors() → void {
- new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•()){(self::A*) →* void};
- new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•()){(self::A*) →* void};
+ new self::Class::•<self::A>().{self::Class::method1a}(new self::B::•()){(self::A) → void};
+ new self::Class::•<self::A>().{self::Class::method1b}(new self::B::•()){(self::A) → void};
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
return;
}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.modular.expect
index fd2787d..b41852a 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -18,97 +18,77 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
-class Class<T extends self::A*> extends core::Object {
- synthetic constructor •() → self::Class<self::Class::T*>*
+class Class<T extends self::A> extends core::Object {
+ synthetic constructor •() → self::Class<self::Class::T>
: super core::Object::•()
;
- method method1a(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
+ method method1a(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = <self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}];
self::xs = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:19:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xs = ys;
- ^" in ys as{TypeError} core::List<self::B*>*;
+ ^" in ys as{TypeError,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method1b(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
+ method method1b(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = <core::List<self::Class::T>>[<self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}]];
self::xss = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:31:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xss = yss;
- ^" in yss as{TypeError} core::List<core::List<self::B*>*>*;
+ ^" in yss as{TypeError,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- method method2a(covariant-by-class self::Class::T* t) → void {
+ method method2a(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = <self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}];
alias = ys;
- self::xs = alias as{TypeError,ForDynamic} core::List<self::B*>*;
+ self::xs = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method2b(covariant-by-class self::Class::T* t) → void {
+ method method2b(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = <core::List<self::Class::T>>[<self::Class::T>[t{self::Class::T & self::B /* '!' & '!' = '!' */}]];
alias = yss;
- self::xss = alias as{TypeError,ForDynamic} core::List<core::List<self::B*>*>*;
+ self::xss = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
+late static field core::List<self::B> xs;
+late static field core::List<core::List<self::B>> xss;
static method main() → void {
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2a}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2b}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
}
static method errors() → void {
- new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•()){(self::A*) →* void};
- new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•()){(self::A*) →* void};
+ new self::Class::•<self::A>().{self::Class::method1a}(new self::B::•()){(self::A) → void};
+ new self::Class::•<self::A>().{self::Class::method1b}(new self::B::•()){(self::A) → void};
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
return;
}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect
index 49bc2e6..463057f 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect
@@ -1,52 +1,32 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
}
-class Class<T extends self::A*> extends core::Object {
- synthetic constructor •() → self::Class<self::Class::T*>*
+class Class<T extends self::A> extends core::Object {
+ synthetic constructor •() → self::Class<self::Class::T>
;
- method method1a(covariant-by-class self::Class::T* t) → void
+ method method1a(covariant-by-class self::Class::T t) → void
;
- method method1b(covariant-by-class self::Class::T* t) → void
+ method method1b(covariant-by-class self::Class::T t) → void
;
- method method2a(covariant-by-class self::Class::T* t) → void
+ method method2a(covariant-by-class self::Class::T t) → void
;
- method method2b(covariant-by-class self::Class::T* t) → void
+ method method2b(covariant-by-class self::Class::T t) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
+late static field core::List<self::B> xs;
+late static field core::List<core::List<self::B>> xss;
static method main() → void
;
static method errors() → void
;
-static method throws(() →* void f) → void
+static method throws(() → void f) → void
;
diff --git a/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
index 0e2b847..8febbfe 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -18,97 +18,77 @@
import "dart:core" as core;
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super self::A::•()
;
}
-class Class<T extends self::A*> extends core::Object {
- synthetic constructor •() → self::Class<self::Class::T*>*
+class Class<T extends self::A> extends core::Object {
+ synthetic constructor •() → self::Class<self::Class::T>
: super core::Object::•()
;
- method method1a(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = core::_GrowableList::_literal1<self::Class::T*>(t{self::Class::T* & self::B* /* '*' & '*' = '*' */});
+ method method1a(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = core::_GrowableList::_literal1<self::Class::T>(t{self::Class::T & self::B /* '!' & '!' = '!' */});
self::xs = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:19:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xs = ys;
- ^" in ys as{TypeError} core::List<self::B*>*;
+ ^" in ys as{TypeError,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method1b(covariant-by-class self::Class::T* t) → void {
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = core::_GrowableList::_literal1<core::List<self::Class::T*>*>(core::_GrowableList::_literal1<self::Class::T*>(t{self::Class::T* & self::B* /* '*' & '*' = '*' */}));
+ method method1b(covariant-by-class self::Class::T t) → void {
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = core::_GrowableList::_literal1<core::List<self::Class::T>>(core::_GrowableList::_literal1<self::Class::T>(t{self::Class::T & self::B /* '!' & '!' = '!' */}));
self::xss = invalid-expression "pkg/front_end/testcases/general/issue39344.dart:31:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/general/issue39344.dart'.
xss = yss;
- ^" in yss as{TypeError} core::List<core::List<self::B*>*>*;
+ ^" in yss as{TypeError,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- method method2a(covariant-by-class self::Class::T* t) → void {
+ method method2a(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<self::Class::T*>* ys = core::_GrowableList::_literal1<self::Class::T*>(t{self::Class::T* & self::B* /* '*' & '*' = '*' */});
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<self::Class::T> ys = core::_GrowableList::_literal1<self::Class::T>(t{self::Class::T & self::B /* '!' & '!' = '!' */});
alias = ys;
- self::xs = alias as{TypeError,ForDynamic} core::List<self::B*>*;
+ self::xs = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<self::B>;
}
}
- method method2b(covariant-by-class self::Class::T* t) → void {
+ method method2b(covariant-by-class self::Class::T t) → void {
dynamic alias;
- if(t is self::B*) {
- core::List<core::List<self::Class::T*>*>* yss = core::_GrowableList::_literal1<core::List<self::Class::T*>*>(core::_GrowableList::_literal1<self::Class::T*>(t{self::Class::T* & self::B* /* '*' & '*' = '*' */}));
+ if(t is{ForNonNullableByDefault} self::B) {
+ core::List<core::List<self::Class::T>> yss = core::_GrowableList::_literal1<core::List<self::Class::T>>(core::_GrowableList::_literal1<self::Class::T>(t{self::Class::T & self::B /* '!' & '!' = '!' */}));
alias = yss;
- self::xss = alias as{TypeError,ForDynamic} core::List<core::List<self::B*>*>*;
+ self::xss = alias as{TypeError,ForDynamic,ForNonNullableByDefault} core::List<core::List<self::B>>;
}
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
+late static field core::List<self::B> xs;
+late static field core::List<core::List<self::B>> xss;
static method main() → void {
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2a}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
- self::throws(() → Null {
- new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•()){(self::A*) →* void};
- core::print(self::xs.{core::Object::runtimeType}{core::Type*});
+ self::throws(() → void {
+ new self::Class::•<self::A>().{self::Class::method2b}(new self::B::•()){(self::A) → void};
+ core::print(self::xs.{core::Object::runtimeType}{core::Type});
});
}
static method errors() → void {
- new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•()){(self::A*) →* void};
- new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•()){(self::A*) →* void};
+ new self::Class::•<self::A>().{self::Class::method1a}(new self::B::•()){(self::A) → void};
+ new self::Class::•<self::A>().{self::Class::method1b}(new self::B::•()){(self::A) → void};
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic e) {
+ on core::Object catch(final core::Object e) {
core::print(e);
return;
}
diff --git a/pkg/front_end/testcases/general/issue39421.dart b/pkg/front_end/testcases/general/issue39421.dart
index e91ce36..e83ee28 100644
--- a/pkg/front_end/testcases/general/issue39421.dart
+++ b/pkg/front_end/testcases/general/issue39421.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// This is a regression test for http://dartbug.com/39421.
class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
index 57219b5..8ac9791 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
index 57219b5..8ac9791 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {}
class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.weak.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.expect
index cb1d71a..8c5950d 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -24,55 +24,25 @@
import "dart:core" as core;
class A#1 extends core::Object {
- synthetic constructor •() → self::A#1*
+ synthetic constructor •() → self::A#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method foo(core::List<Null>* a) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(core::List<Null> a) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo(core::List<invalid-type>* a) → dynamic {}
+ method foo(core::List<invalid-type> a) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.modular.expect
index cb1d71a..8c5950d 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -24,55 +24,25 @@
import "dart:core" as core;
class A#1 extends core::Object {
- synthetic constructor •() → self::A#1*
+ synthetic constructor •() → self::A#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method foo(core::List<Null>* a) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(core::List<Null> a) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo(core::List<invalid-type>* a) → dynamic {}
+ method foo(core::List<invalid-type> a) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect
index 7f2378b..6e45e4e 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -20,53 +20,23 @@
import "dart:core" as core;
class A#1 extends core::Object {
- synthetic constructor •() → self::A#1*
+ synthetic constructor •() → self::A#1
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- method foo(core::List<Null>* a) → dynamic
+ method foo(core::List<Null> a) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- method foo(core::List<invalid-type>* a) → dynamic
+ method foo(core::List<invalid-type> a) → dynamic
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect
index cb1d71a..8c5950d 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -24,55 +24,25 @@
import "dart:core" as core;
class A#1 extends core::Object {
- synthetic constructor •() → self::A#1*
+ synthetic constructor •() → self::A#1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- method foo(core::List<Null>* a) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method foo(core::List<Null> a) → dynamic {}
}
class C extends self::B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::B::•()
;
- method foo(core::List<invalid-type>* a) → dynamic {}
+ method foo(core::List<invalid-type> a) → dynamic {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue39817.dart b/pkg/front_end/testcases/general/issue39817.dart
index aba9ee1..6dcfcce 100644
--- a/pkg/front_end/testcases/general/issue39817.dart
+++ b/pkg/front_end/testcases/general/issue39817.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
// This is a regression test for http://dartbug.com/39817.
foo() {
diff --git a/pkg/front_end/testcases/general/issue40242.dart b/pkg/front_end/testcases/general/issue40242.dart
index 1e4a836..afd8f73 100644
--- a/pkg/front_end/testcases/general/issue40242.dart
+++ b/pkg/front_end/testcases/general/issue40242.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class C {}
extension E on C {
diff --git a/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
index b5194c1..4b76f91 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C {}
extension E on C {
diff --git a/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
index 519f8af..91844c5 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C {}
errors() {}
diff --git a/pkg/front_end/testcases/general/issue40242.dart.weak.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.expect
index 69ece96a..cd16aae 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,40 +26,30 @@
import "dart:core" as core;
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-extension E on self::C* {
+extension E on self::C {
method errors = self::E|errors;
tearoff errors = self::E|get#errors;
}
-static method E|errors(lowered final self::C* #this) → dynamic {
+static method E|errors(lowered final self::C #this) → dynamic {
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:9:5: Error: Can't assign to 'this'.
this = new C();
^^^^";
}
-static method E|get#errors(lowered final self::C* #this) → () →* dynamic
+static method E|get#errors(lowered final self::C #this) → () → dynamic
return () → dynamic => self::E|errors(#this);
static method errors() → dynamic {
- final self::C* c1 = new self::C::•();
+ final self::C c1 = new self::C::•();
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:15:3: Error: Can't assign to the final variable 'c1'.
c1 = new C();
^^";
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:16:3: Error: Can't assign to a type literal.
C = Object;
^";
- self::C* c2;
+ self::C c2;
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:18:6: Error: Can't assign to a parenthesized expression.
(c2) = new C();
^";
diff --git a/pkg/front_end/testcases/general/issue40242.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.modular.expect
index 69ece96a..cd16aae 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,40 +26,30 @@
import "dart:core" as core;
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-extension E on self::C* {
+extension E on self::C {
method errors = self::E|errors;
tearoff errors = self::E|get#errors;
}
-static method E|errors(lowered final self::C* #this) → dynamic {
+static method E|errors(lowered final self::C #this) → dynamic {
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:9:5: Error: Can't assign to 'this'.
this = new C();
^^^^";
}
-static method E|get#errors(lowered final self::C* #this) → () →* dynamic
+static method E|get#errors(lowered final self::C #this) → () → dynamic
return () → dynamic => self::E|errors(#this);
static method errors() → dynamic {
- final self::C* c1 = new self::C::•();
+ final self::C c1 = new self::C::•();
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:15:3: Error: Can't assign to the final variable 'c1'.
c1 = new C();
^^";
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:16:3: Error: Can't assign to a type literal.
C = Object;
^";
- self::C* c2;
+ self::C c2;
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:18:6: Error: Can't assign to a parenthesized expression.
(c2) = new C();
^";
diff --git a/pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect
index 09336b0..98b7dfa 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-extension E on self::C* {
+extension E on self::C {
method errors = self::E|errors;
tearoff errors = self::E|get#errors;
}
-static method E|errors(lowered final self::C* #this) → dynamic
+static method E|errors(lowered final self::C #this) → dynamic
;
-static method E|get#errors(lowered final self::C* #this) → () →* dynamic
+static method E|get#errors(lowered final self::C #this) → () → dynamic
return () → dynamic => self::E|errors(#this);
static method errors() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect
index 69ece96a..cd16aae 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,40 +26,30 @@
import "dart:core" as core;
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-extension E on self::C* {
+extension E on self::C {
method errors = self::E|errors;
tearoff errors = self::E|get#errors;
}
-static method E|errors(lowered final self::C* #this) → dynamic {
+static method E|errors(lowered final self::C #this) → dynamic {
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:9:5: Error: Can't assign to 'this'.
this = new C();
^^^^";
}
-static method E|get#errors(lowered final self::C* #this) → () →* dynamic
+static method E|get#errors(lowered final self::C #this) → () → dynamic
return () → dynamic => self::E|errors(#this);
static method errors() → dynamic {
- final self::C* c1 = new self::C::•();
+ final self::C c1 = new self::C::•();
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:15:3: Error: Can't assign to the final variable 'c1'.
c1 = new C();
^^";
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:16:3: Error: Can't assign to a type literal.
C = Object;
^";
- self::C* c2;
+ self::C c2;
invalid-expression "pkg/front_end/testcases/general/issue40242.dart:18:6: Error: Can't assign to a parenthesized expression.
(c2) = new C();
^";
diff --git a/pkg/front_end/testcases/general/issue40428.dart b/pkg/front_end/testcases/general/issue40428.dart
index 1fc3e08..f24cb23 100644
--- a/pkg/front_end/testcases/general/issue40428.dart
+++ b/pkg/front_end/testcases/general/issue40428.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class SuperClass1 {
final String value;
diff --git a/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
index 8fdd117..4508570 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class SuperClass1 {
final String value;
SuperClass1(this.value);
diff --git a/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
index b87094b..b9d7f4f 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class SuperClass1 {
SuperClass1(this.value);
final String value;
diff --git a/pkg/front_end/testcases/general/issue40428.dart.weak.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.expect
index d89d308..d9be0ec 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,59 +14,29 @@
import "dart:core" as core;
abstract class SuperClass1 extends core::Object {
- final field core::String* value;
- constructor •(core::String* value) → self::SuperClass1*
+ final field core::String value;
+ constructor •(core::String value) → self::SuperClass1
: self::SuperClass1::value = value, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class SuperClass2 extends core::Object {
- final field core::String* value;
- constructor •(core::String* i) → self::SuperClass2*
+ final field core::String value;
+ constructor •(core::String i) → self::SuperClass2
: self::SuperClass2::value = i, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NamedMixin1 = self::SuperClass1 with self::Mixin {
- synthetic constructor •(core::String* value) → self::NamedMixin1*
+ synthetic constructor •(core::String value) → self::NamedMixin1
: super self::SuperClass1::•(value)
;
}
class NamedMixin2 = self::SuperClass2 with self::Mixin {
- synthetic constructor •(core::String* i) → self::NamedMixin2*
+ synthetic constructor •(core::String i) → self::NamedMixin2
: super self::SuperClass2::•(i)
;
}
@@ -77,8 +47,8 @@
static method errors() → dynamic {
new self::NamedMixin1::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:28:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin1(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
new self::NamedMixin2::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:29:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin2(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
}
diff --git a/pkg/front_end/testcases/general/issue40428.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.modular.expect
index d89d308..d9be0ec 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,59 +14,29 @@
import "dart:core" as core;
abstract class SuperClass1 extends core::Object {
- final field core::String* value;
- constructor •(core::String* value) → self::SuperClass1*
+ final field core::String value;
+ constructor •(core::String value) → self::SuperClass1
: self::SuperClass1::value = value, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class SuperClass2 extends core::Object {
- final field core::String* value;
- constructor •(core::String* i) → self::SuperClass2*
+ final field core::String value;
+ constructor •(core::String i) → self::SuperClass2
: self::SuperClass2::value = i, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NamedMixin1 = self::SuperClass1 with self::Mixin {
- synthetic constructor •(core::String* value) → self::NamedMixin1*
+ synthetic constructor •(core::String value) → self::NamedMixin1
: super self::SuperClass1::•(value)
;
}
class NamedMixin2 = self::SuperClass2 with self::Mixin {
- synthetic constructor •(core::String* i) → self::NamedMixin2*
+ synthetic constructor •(core::String i) → self::NamedMixin2
: super self::SuperClass2::•(i)
;
}
@@ -77,8 +47,8 @@
static method errors() → dynamic {
new self::NamedMixin1::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:28:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin1(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
new self::NamedMixin2::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:29:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin2(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
}
diff --git a/pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect
index 3194a2a..500d223 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect
@@ -1,58 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class SuperClass1 extends core::Object {
- final field core::String* value;
- constructor •(core::String* value) → self::SuperClass1*
+ final field core::String value;
+ constructor •(core::String value) → self::SuperClass1
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class SuperClass2 extends core::Object {
- final field core::String* value;
- constructor •(core::String* i) → self::SuperClass2*
+ final field core::String value;
+ constructor •(core::String i) → self::SuperClass2
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NamedMixin1 = self::SuperClass1 with self::Mixin {
- synthetic constructor •(core::String* value) → self::NamedMixin1*
+ synthetic constructor •(core::String value) → self::NamedMixin1
: super self::SuperClass1::•(value)
;
}
class NamedMixin2 = self::SuperClass2 with self::Mixin {
- synthetic constructor •(core::String* i) → self::NamedMixin2*
+ synthetic constructor •(core::String i) → self::NamedMixin2
: super self::SuperClass2::•(i)
;
}
diff --git a/pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect
index 5bc89f5..4ef294b 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,59 +14,29 @@
import "dart:core" as core;
abstract class SuperClass1 extends core::Object {
- final field core::String* value;
- constructor •(core::String* value) → self::SuperClass1*
+ final field core::String value;
+ constructor •(core::String value) → self::SuperClass1
: self::SuperClass1::value = value, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class SuperClass2 extends core::Object {
- final field core::String* value;
- constructor •(core::String* i) → self::SuperClass2*
+ final field core::String value;
+ constructor •(core::String i) → self::SuperClass2
: self::SuperClass2::value = i, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NamedMixin1 extends self::SuperClass1 implements self::Mixin /*isEliminatedMixin*/ {
- synthetic constructor •(core::String* value) → self::NamedMixin1*
+ synthetic constructor •(core::String value) → self::NamedMixin1
: super self::SuperClass1::•(value)
;
}
class NamedMixin2 extends self::SuperClass2 implements self::Mixin /*isEliminatedMixin*/ {
- synthetic constructor •(core::String* i) → self::NamedMixin2*
+ synthetic constructor •(core::String i) → self::NamedMixin2
: super self::SuperClass2::•(i)
;
}
@@ -77,8 +47,8 @@
static method errors() → dynamic {
new self::NamedMixin1::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:28:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin1(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
new self::NamedMixin2::•(invalid-expression "pkg/front_end/testcases/general/issue40428.dart:29:19: Error: The argument type 'int' can't be assigned to the parameter type 'String'.
new NamedMixin2(0);
- ^" in 0 as{TypeError} core::String*);
+ ^" in 0 as{TypeError,ForNonNullableByDefault} core::String);
}
diff --git a/pkg/front_end/testcases/general/issue40662.dart b/pkg/front_end/testcases/general/issue40662.dart
index fba166b..a1889fa 100644
--- a/pkg/front_end/testcases/general/issue40662.dart
+++ b/pkg/front_end/testcases/general/issue40662.dart
@@ -1,11 +1,11 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-//
-// Regression test for https://github.com/dart-lang/sdk/issues/40662.
// @dart=2.9
+// Regression test for https://github.com/dart-lang/sdk/issues/40662.
+
bar(int a, List<int> b) {
expect(-1, a);
expect(-1, (b[0] - 2));
diff --git a/pkg/front_end/testcases/general/issue40744.dart b/pkg/front_end/testcases/general/issue40744.dart
index 009149f..3d0dbc4 100644
--- a/pkg/front_end/testcases/general/issue40744.dart
+++ b/pkg/front_end/testcases/general/issue40744.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
void helper(Map<String, dynamic> input) {
diff --git a/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
index fbd3bb3..dd27ae6 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
void helper(Map<String, dynamic> input) {}
void main() {}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
index fbd3bb3..dd27ae6 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
void helper(Map<String, dynamic> input) {}
void main() {}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.expect
index cab8593..ccb4fb1 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static const field core::Map<core::String*, dynamic>* generatorConfigDefaultJson = #C3;
-static method helper(core::Map<core::String*, dynamic>* input) → void {
+static const field core::Map<core::String, dynamic> generatorConfigDefaultJson = #C3;
+static method helper(core::Map<core::String, dynamic> input) → void {
core::print(input);
}
static method main() → void {
- final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}{core::String*}, null)){((core::MapEntry<core::String*, dynamic>*) →* core::MapEntry<core::String*, Null>*) →* core::Iterable<core::MapEntry<core::String*, Null>*>*});
+ final core::Map<core::String, Null> nullValueMap = core::Map::fromEntries<core::String, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::map}<core::MapEntry<core::String, Null>>((core::MapEntry<core::String, dynamic> e) → core::MapEntry<core::String, Null> => new core::MapEntry::_<core::String, Null>(e.{core::MapEntry::key}{core::String}, null)){((core::MapEntry<core::String, dynamic>) → core::MapEntry<core::String, Null>) → core::Iterable<core::MapEntry<core::String, Null>>});
self::helper(nullValueMap);
}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.modular.expect
index cab8593..ccb4fb1 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.modular.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static const field core::Map<core::String*, dynamic>* generatorConfigDefaultJson = #C3;
-static method helper(core::Map<core::String*, dynamic>* input) → void {
+static const field core::Map<core::String, dynamic> generatorConfigDefaultJson = #C3;
+static method helper(core::Map<core::String, dynamic> input) → void {
core::print(input);
}
static method main() → void {
- final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}{core::String*}, null)){((core::MapEntry<core::String*, dynamic>*) →* core::MapEntry<core::String*, Null>*) →* core::Iterable<core::MapEntry<core::String*, Null>*>*});
+ final core::Map<core::String, Null> nullValueMap = core::Map::fromEntries<core::String, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::map}<core::MapEntry<core::String, Null>>((core::MapEntry<core::String, dynamic> e) → core::MapEntry<core::String, Null> => new core::MapEntry::_<core::String, Null>(e.{core::MapEntry::key}{core::String}, null)){((core::MapEntry<core::String, dynamic>) → core::MapEntry<core::String, Null>) → core::Iterable<core::MapEntry<core::String, Null>>});
self::helper(nullValueMap);
}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect
index 5acf79e..6391fcb 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static const field core::Map<core::String*, dynamic>* generatorConfigDefaultJson = const <core::String*, dynamic>{"a": 1};
-static method helper(core::Map<core::String*, dynamic>* input) → void
+static const field core::Map<core::String, dynamic> generatorConfigDefaultJson = const <core::String, dynamic>{"a": 1};
+static method helper(core::Map<core::String, dynamic> input) → void
;
static method main() → void
;
diff --git a/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
index cab8593..ccb4fb1 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
@@ -1,13 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static const field core::Map<core::String*, dynamic>* generatorConfigDefaultJson = #C3;
-static method helper(core::Map<core::String*, dynamic>* input) → void {
+static const field core::Map<core::String, dynamic> generatorConfigDefaultJson = #C3;
+static method helper(core::Map<core::String, dynamic> input) → void {
core::print(input);
}
static method main() → void {
- final core::Map<core::String*, Null>* nullValueMap = core::Map::fromEntries<core::String*, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>*>*}.{core::Iterable::map}<core::MapEntry<core::String*, Null>*>((core::MapEntry<core::String*, dynamic>* e) → core::MapEntry<core::String*, Null>* => new core::MapEntry::_<core::String*, Null>(e.{core::MapEntry::key}{core::String*}, null)){((core::MapEntry<core::String*, dynamic>*) →* core::MapEntry<core::String*, Null>*) →* core::Iterable<core::MapEntry<core::String*, Null>*>*});
+ final core::Map<core::String, Null> nullValueMap = core::Map::fromEntries<core::String, Null>(#C3.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::map}<core::MapEntry<core::String, Null>>((core::MapEntry<core::String, dynamic> e) → core::MapEntry<core::String, Null> => new core::MapEntry::_<core::String, Null>(e.{core::MapEntry::key}{core::String}, null)){((core::MapEntry<core::String, dynamic>) → core::MapEntry<core::String, Null>) → core::Iterable<core::MapEntry<core::String, Null>>});
self::helper(nullValueMap);
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart b/pkg/front_end/testcases/general/issue40982.dart
index 814de11..ed06fc3 100644
--- a/pkg/front_end/testcases/general/issue40982.dart
+++ b/pkg/front_end/testcases/general/issue40982.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A {
const A();
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
index 0e31b42a..d0c04bf 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
const A();
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
index 155c775..eeaccee 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
const A();
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.weak.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.expect
index 9eb651c..ddecd50 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,91 +14,61 @@
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::A*
+ const constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
- static const field core::int* value = #C1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static const field core::int value = #C1;
}
abstract class _C1&A&B = self::A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C1&A&B*
+ const synthetic constructor •() → self::_C1&A&B
: super self::A::•()
;
}
class C1 extends self::_C1&A&B /*hasConstConstructor*/ {
- const constructor •() → self::C1*
+ const constructor •() → self::C1
: super self::_C1&A&B::•()
;
}
class C2 = self::A with self::B /*hasConstConstructor*/ {
- const synthetic constructor •() → self::C2*
+ const synthetic constructor •() → self::C2
: super self::A::•()
;
}
class C3 extends self::C2 /*hasConstConstructor*/ {
- const constructor •() → self::C3*
+ const constructor •() → self::C3
: super self::C2::•()
;
}
abstract class D extends core::Object /*isMixinDeclaration*/ {
- field core::int* value = 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ field core::int value = 1;
}
abstract class _E1&A&D = self::A with self::D /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_E1&A&D*
+ synthetic constructor •() → self::_E1&A&D
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E1 extends self::_E1&A&D /*hasConstConstructor*/ {
- const constructor •() → self::E1*
+ const constructor •() → self::E1
: super self::_E1&A&D::•()
;
}
class E2 = self::A with self::D {
- synthetic constructor •() → self::E2*
+ synthetic constructor •() → self::E2
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E3 extends self::E2 /*hasConstConstructor*/ {
- const constructor •() → self::E3*
+ const constructor •() → self::E3
: super self::E2::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.modular.expect
index 9eb651c..ddecd50 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,91 +14,61 @@
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::A*
+ const constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
- static const field core::int* value = #C1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static const field core::int value = #C1;
}
abstract class _C1&A&B = self::A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C1&A&B*
+ const synthetic constructor •() → self::_C1&A&B
: super self::A::•()
;
}
class C1 extends self::_C1&A&B /*hasConstConstructor*/ {
- const constructor •() → self::C1*
+ const constructor •() → self::C1
: super self::_C1&A&B::•()
;
}
class C2 = self::A with self::B /*hasConstConstructor*/ {
- const synthetic constructor •() → self::C2*
+ const synthetic constructor •() → self::C2
: super self::A::•()
;
}
class C3 extends self::C2 /*hasConstConstructor*/ {
- const constructor •() → self::C3*
+ const constructor •() → self::C3
: super self::C2::•()
;
}
abstract class D extends core::Object /*isMixinDeclaration*/ {
- field core::int* value = 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ field core::int value = 1;
}
abstract class _E1&A&D = self::A with self::D /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_E1&A&D*
+ synthetic constructor •() → self::_E1&A&D
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E1 extends self::_E1&A&D /*hasConstConstructor*/ {
- const constructor •() → self::E1*
+ const constructor •() → self::E1
: super self::_E1&A&D::•()
;
}
class E2 = self::A with self::D {
- synthetic constructor •() → self::E2*
+ synthetic constructor •() → self::E2
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E3 extends self::E2 /*hasConstConstructor*/ {
- const constructor •() → self::E3*
+ const constructor •() → self::E3
: super self::E2::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect
index 90a0ef0..bc71b00 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,91 +14,61 @@
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::A*
+ const constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
- static const field core::int* value = 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static const field core::int value = 1;
}
abstract class _C1&A&B = self::A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C1&A&B*
+ const synthetic constructor •() → self::_C1&A&B
: super self::A::•()
;
}
class C1 extends self::_C1&A&B /*hasConstConstructor*/ {
- const constructor •() → self::C1*
+ const constructor •() → self::C1
: super self::_C1&A&B::•()
;
}
class C2 = self::A with self::B /*hasConstConstructor*/ {
- const synthetic constructor •() → self::C2*
+ const synthetic constructor •() → self::C2
: super self::A::•()
;
}
class C3 extends self::C2 /*hasConstConstructor*/ {
- const constructor •() → self::C3*
+ const constructor •() → self::C3
: super self::C2::•()
;
}
abstract class D extends core::Object /*isMixinDeclaration*/ {
- field core::int* value;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ field core::int value;
}
abstract class _E1&A&D = self::A with self::D /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_E1&A&D*
+ synthetic constructor •() → self::_E1&A&D
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E1 extends self::_E1&A&D /*hasConstConstructor*/ {
- const constructor •() → self::E1*
+ const constructor •() → self::E1
: super self::_E1&A&D::•()
;
}
class E2 = self::A with self::D {
- synthetic constructor •() → self::E2*
+ synthetic constructor •() → self::E2
: super self::A::•()
;
- mixin-super-stub get value() → core::int*
+ mixin-super-stub get value() → core::int
return super.{self::D::value};
- mixin-super-stub set value(core::int* value) → void
+ mixin-super-stub set value(core::int value) → void
return super.{self::D::value} = value;
}
class E3 extends self::E2 /*hasConstConstructor*/ {
- const constructor •() → self::E3*
+ const constructor •() → self::E3
: super self::E2::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect
index 76c2d617..b3fceab 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -14,87 +14,57 @@
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::A*
+ const constructor •() → self::A
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object /*isMixinDeclaration*/ {
- static const field core::int* value = #C1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static const field core::int value = #C1;
}
abstract class _C1&A&B extends self::A implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- static const field core::int* value = #C1;
- const synthetic constructor •() → self::_C1&A&B*
+ static const field core::int value = #C1;
+ const synthetic constructor •() → self::_C1&A&B
: super self::A::•()
;
}
class C1 extends self::_C1&A&B /*hasConstConstructor*/ {
- const constructor •() → self::C1*
+ const constructor •() → self::C1
: super self::_C1&A&B::•()
;
}
class C2 extends self::A implements self::B /*isEliminatedMixin,hasConstConstructor*/ {
- static const field core::int* value = #C1;
- const synthetic constructor •() → self::C2*
+ static const field core::int value = #C1;
+ const synthetic constructor •() → self::C2
: super self::A::•()
;
}
class C3 extends self::C2 /*hasConstConstructor*/ {
- const constructor •() → self::C3*
+ const constructor •() → self::C3
: super self::C2::•()
;
}
abstract class D extends core::Object /*isMixinDeclaration*/ {
- field core::int* value = 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ field core::int value = 1;
}
abstract class _E1&A&D extends self::A implements self::D /*isAnonymousMixin,isEliminatedMixin*/ {
- field core::int* value = 1;
- synthetic constructor •() → self::_E1&A&D*
+ field core::int value = 1;
+ synthetic constructor •() → self::_E1&A&D
: super self::A::•()
;
}
class E1 extends self::_E1&A&D /*hasConstConstructor*/ {
- const constructor •() → self::E1*
+ const constructor •() → self::E1
: super self::_E1&A&D::•()
;
}
class E2 extends self::A implements self::D /*isEliminatedMixin*/ {
- field core::int* value = 1;
- synthetic constructor •() → self::E2*
+ field core::int value = 1;
+ synthetic constructor •() → self::E2
: super self::A::•()
;
}
class E3 extends self::E2 /*hasConstConstructor*/ {
- const constructor •() → self::E3*
+ const constructor •() → self::E3
: super self::E2::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart b/pkg/front_end/testcases/general/issue41070.dart
index 0ce6f26..3129cb6 100644
--- a/pkg/front_end/testcases/general/issue41070.dart
+++ b/pkg/front_end/testcases/general/issue41070.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class Mixin {}
class Base {
diff --git a/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
index bf2cc1b..6b9ed3f 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Mixin {}
class Base {
diff --git a/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
index 228bca5..6d28195 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Mixin {}
class Application = Base with Mixin;
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.expect
index d159c73..a93c83e 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.expect
@@ -1,48 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Base extends core::Object /*hasConstConstructor*/ {
- final field core::int* x;
- const constructor •(core::int* x) → self::Base*
+ final field core::int x;
+ const constructor •(core::int x) → self::Base
: self::Base::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Application = self::Base with self::Mixin /*hasConstConstructor*/ {
- const synthetic constructor •(core::int* x) → self::Application*
+ const synthetic constructor •(core::int x) → self::Application
: super self::Base::•(x)
;
}
static method main() → dynamic {
- self::expect(42, #C2.{self::Base::x}{core::int*});
+ self::expect(42, #C2.{self::Base::x}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.modular.expect
index d159c73..a93c83e 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.modular.expect
@@ -1,48 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Base extends core::Object /*hasConstConstructor*/ {
- final field core::int* x;
- const constructor •(core::int* x) → self::Base*
+ final field core::int x;
+ const constructor •(core::int x) → self::Base
: self::Base::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Application = self::Base with self::Mixin /*hasConstConstructor*/ {
- const synthetic constructor •(core::int* x) → self::Application*
+ const synthetic constructor •(core::int x) → self::Application
: super self::Base::•(x)
;
}
static method main() → dynamic {
- self::expect(42, #C2.{self::Base::x}{core::int*});
+ self::expect(42, #C2.{self::Base::x}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect
index 8212504..ed7bc38 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Base extends core::Object /*hasConstConstructor*/ {
- final field core::int* x;
- const constructor •(core::int* x) → self::Base*
+ final field core::int x;
+ const constructor •(core::int x) → self::Base
: self::Base::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Application = self::Base with self::Mixin /*hasConstConstructor*/ {
- const synthetic constructor •(core::int* x) → self::Application*
+ const synthetic constructor •(core::int x) → self::Application
: super self::Base::•(x)
;
}
diff --git a/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
index 655d5ae..c16b436 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
@@ -1,48 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Base extends core::Object /*hasConstConstructor*/ {
- final field core::int* x;
- const constructor •(core::int* x) → self::Base*
+ final field core::int x;
+ const constructor •(core::int x) → self::Base
: self::Base::x = x, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Application extends self::Base implements self::Mixin /*isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •(core::int* x) → self::Application*
+ const synthetic constructor •(core::int x) → self::Application
: super self::Base::•(x)
;
}
static method main() → dynamic {
- self::expect(42, #C2.{self::Base::x}{core::int*});
+ self::expect(42, #C2.{self::Base::x}{core::int});
}
static method expect(dynamic expected, dynamic actual) → dynamic {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart b/pkg/front_end/testcases/general/issue41210a.dart
index f736a24..78cfc3c 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart
+++ b/pkg/front_end/testcases/general/issue41210a.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
abstract class Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
index 64edca2..599fc0f 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
index 9c3d871..d6c9646 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class B implements Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.weak.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
index f270273..8913730 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
// class C with A, B {} // error
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210a.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
// String method(num i);
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Context: This is the overridden method ('method').
// class C with A, B {} // error
// ^
//
@@ -16,184 +16,94 @@
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A*
+ const synthetic constructor •() → self::_C&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&A&B = self::_C&Object&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A&B*
+ const synthetic constructor •() → self::_C&Object&A&B
: super self::_C&Object&A::•()
;
- abstract mixin-stub method method(core::num* i) → core::String*; -> self::B::method
+ abstract mixin-stub method method(core::num i) → core::String; -> self::B::method
}
class C extends self::_C&Object&A&B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&A&B::•()
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super self::_G&Object&A&F::•()
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+ core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
}
constants {
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.modular.expect
index f270273..8913730 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.weak.modular.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
// class C with A, B {} // error
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210a.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
// String method(num i);
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Context: This is the overridden method ('method').
// class C with A, B {} // error
// ^
//
@@ -16,184 +16,94 @@
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A*
+ const synthetic constructor •() → self::_C&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&A&B = self::_C&Object&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A&B*
+ const synthetic constructor •() → self::_C&Object&A&B
: super self::_C&Object&A::•()
;
- abstract mixin-stub method method(core::num* i) → core::String*; -> self::B::method
+ abstract mixin-stub method method(core::num i) → core::String; -> self::B::method
}
class C extends self::_C&Object&A&B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&A&B::•()
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super self::_G&Object&A&F::•()
;
}
static method main() → dynamic {
- core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num*) →* core::String*});
+ core::print(new self::C::•().{self::_C&Object&A&B::method}(0){(core::num) → core::String});
}
constants {
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect
index 3333d00..22ccaee 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect
@@ -1,14 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
// class C with A, B {} // error
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:20:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
+// pkg/front_end/testcases/general/issue41210a.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
// String method(num i);
// ^
-// pkg/front_end/testcases/general/issue41210a.dart:23:7: Context: This is the overridden method ('method').
+// pkg/front_end/testcases/general/issue41210a.dart:21:7: Context: This is the overridden method ('method').
// class C with A, B {} // error
// ^
//
@@ -16,172 +16,82 @@
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = "hello"}) → core::String*
+ method method(core::num i, {core::String s = "hello"}) → core::String
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class _C&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A*
+ const synthetic constructor •() → self::_C&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&A&B = self::_C&Object&A with self::B /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&A&B*
+ const synthetic constructor •() → self::_C&Object&A&B
: super self::_C&Object&A::•()
;
- abstract mixin-stub method method(core::num* i) → core::String*; -> self::B::method
+ abstract mixin-stub method method(core::num i) → core::String; -> self::B::method
}
class C extends self::_C&Object&A&B {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart b/pkg/front_end/testcases/general/issue41210a_no_error.dart
index e78b1fe..b838aa9 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
abstract class Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline.expect
index ed1f176..c01fb18 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline_modelled.expect
index 224797a..801b25e 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class B implements Interface {
String method(num i);
}
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.expect
index daf4b8e..2913f38 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.expect
@@ -1,153 +1,73 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super self::_G&Object&A&F::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.modular.expect
index daf4b8e..2913f38 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.modular.expect
@@ -1,153 +1,73 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s = #C1}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s = #C1}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super self::_G&Object&A&F::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.outline.expect
index 0a5819f..016588f 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.outline.expect
@@ -1,147 +1,67 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = "hello"}) → core::String*
+ method method(core::num i, {core::String s = "hello"}) → core::String
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D = self::_E&Object&A with self::D /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A = core::Object with self::A /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+ mixin-super-stub method method(core::num i, {core::String s}) → core::String
return super.{self::A::method}(i, s: s);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F = self::_G&Object&A with self::F /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.transformed.expect
index 9d9b4f1..fcfe4b1 100644
--- a/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue41210a_no_error.dart.weak.transformed.expect
@@ -1,153 +1,73 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Interface extends core::Object {
- synthetic constructor •() → self::Interface*
+ synthetic constructor •() → self::Interface
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- abstract method method(covariant-by-declaration core::int* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(covariant-by-declaration core::int i) → core::String;
}
abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/ {
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class B extends core::Object implements self::Interface {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract method method(core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method method(core::num i) → core::String;
}
abstract class D extends core::Object implements self::Interface, self::Interface2 {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract forwarding-stub method method(covariant-by-declaration core::num* i) → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract forwarding-stub method method(covariant-by-declaration core::num i) → core::String;
}
abstract class _E&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A*
+ const synthetic constructor •() → self::_E&Object&A
: super core::Object::•()
;
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _E&Object&A&D extends self::_E&Object&A implements self::D /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_E&Object&A&D*
+ const synthetic constructor •() → self::_E&Object&A&D
: super self::_E&Object&A::•()
;
- forwarding-stub method method(covariant-by-declaration core::num* i, {core::String* s = #C1}) → core::String*
+ forwarding-stub method method(covariant-by-declaration core::num i, {core::String s = #C1}) → core::String
return super.{self::_E&Object&A::method}(i, s: s);
}
class E extends self::_E&Object&A&D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::_E&Object&A&D::•()
;
}
abstract class F extends core::Object implements self::Interface {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A*
+ const synthetic constructor •() → self::_G&Object&A
: super core::Object::•()
;
- method method(core::num* i, {core::String* s = #C1}) → core::String*
+ method method(core::num i, {core::String s = #C1}) → core::String
return s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _G&Object&A&F extends self::_G&Object&A implements self::F /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_G&Object&A&F*
+ const synthetic constructor •() → self::_G&Object&A&F
: super self::_G&Object&A::•()
;
}
class G extends self::_G&Object&A&F {
- synthetic constructor •() → self::G*
+ synthetic constructor •() → self::G
: super self::_G&Object&A&F::•()
;
}
diff --git a/pkg/front_end/testcases/general/issue42610.dart b/pkg/front_end/testcases/general/issue42610.dart
index 0eb9586..7c7bd32 100644
--- a/pkg/front_end/testcases/general/issue42610.dart
+++ b/pkg/front_end/testcases/general/issue42610.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
void test() {
#final;
final x;
diff --git a/pkg/front_end/testcases/general/issue42610.dart.weak.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.expect
index 44db974..735e2ff 100644
--- a/pkg/front_end/testcases/general/issue42610.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue42610.dart.weak.expect
@@ -2,27 +2,27 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue42610.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// pkg/front_end/testcases/general/issue42610.dart:8:4: Error: 'final' can't be used as an identifier because it's a keyword.
// Try renaming this to be an identifier that isn't a keyword.
// #final;
// ^^^^^
//
-// pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final x;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const y;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final int z;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const int w;
// ^
@@ -32,19 +32,19 @@
static method test() → void {
#C1;
- final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+ final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final x;
^";
- const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const y;
^";
- final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+ final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final int z;
^";
- const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+ const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const int w;
^";
diff --git a/pkg/front_end/testcases/general/issue42610.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.modular.expect
index 44db974..735e2ff 100644
--- a/pkg/front_end/testcases/general/issue42610.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue42610.dart.weak.modular.expect
@@ -2,27 +2,27 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue42610.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// pkg/front_end/testcases/general/issue42610.dart:8:4: Error: 'final' can't be used as an identifier because it's a keyword.
// Try renaming this to be an identifier that isn't a keyword.
// #final;
// ^^^^^
//
-// pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final x;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const y;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final int z;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const int w;
// ^
@@ -32,19 +32,19 @@
static method test() → void {
#C1;
- final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+ final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final x;
^";
- const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const y;
^";
- final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+ final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final int z;
^";
- const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+ const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const int w;
^";
diff --git a/pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect
index 44db974..735e2ff 100644
--- a/pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect
@@ -2,27 +2,27 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue42610.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// pkg/front_end/testcases/general/issue42610.dart:8:4: Error: 'final' can't be used as an identifier because it's a keyword.
// Try renaming this to be an identifier that isn't a keyword.
// #final;
// ^^^^^
//
-// pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final x;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const y;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// final int z;
// ^
//
-// pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+// pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
// Try adding an initializer ('= expression') to the declaration.
// const int w;
// ^
@@ -32,19 +32,19 @@
static method test() → void {
#C1;
- final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:7:9: Error: The final variable 'x' must be initialized.
+ final invalid-type x = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:9: Error: The final variable 'x' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final x;
^";
- const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:8:9: Error: The const variable 'y' must be initialized.
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:9: Error: The const variable 'y' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const y;
^";
- final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:9:13: Error: The final variable 'z' must be initialized.
+ final core::int* z = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:11:13: Error: The final variable 'z' must be initialized.
Try adding an initializer ('= expression') to the declaration.
final int z;
^";
- const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:10:13: Error: The const variable 'w' must be initialized.
+ const core::int* w = invalid-expression "pkg/front_end/testcases/general/issue42610.dart:12:13: Error: The const variable 'w' must be initialized.
Try adding an initializer ('= expression') to the declaration.
const int w;
^";
diff --git a/pkg/front_end/testcases/general/issue42610b.dart b/pkg/front_end/testcases/general/issue42610b.dart
new file mode 100644
index 0000000..d1bfafc
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart
@@ -0,0 +1,13 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+void test() {
+ #final;
+ final x;
+ const y;
+ final int z;
+ const int w;
+}
+
+void main() {}
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42610b.dart.textual_outline.expect
new file mode 100644
index 0000000..41786bb
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.textual_outline.expect
@@ -0,0 +1,2 @@
+void test() {}
+void main() {}
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue42610b.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..0e0980f
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+void main() {}
+void test() {}
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.weak.expect b/pkg/front_end/testcases/general/issue42610b.dart.weak.expect
new file mode 100644
index 0000000..3d48f0d
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.weak.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue42610b.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// #final;
+// ^^^^^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const y;
+// ^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const int w;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test() → void {
+ #C1;
+ final dynamic x;
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const y;
+ ^";
+ final core::int z;
+ const core::int w = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const int w;
+ ^";
+}
+static method main() → void {}
+
+constants {
+ #C1 = #final
+}
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue42610b.dart.weak.modular.expect
new file mode 100644
index 0000000..3d48f0d
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.weak.modular.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue42610b.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// #final;
+// ^^^^^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const y;
+// ^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const int w;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test() → void {
+ #C1;
+ final dynamic x;
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const y;
+ ^";
+ final core::int z;
+ const core::int w = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const int w;
+ ^";
+}
+static method main() → void {}
+
+constants {
+ #C1 = #final
+}
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue42610b.dart.weak.outline.expect
new file mode 100644
index 0000000..b6809aa
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.weak.outline.expect
@@ -0,0 +1,7 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+static method test() → void
+ ;
+static method main() → void
+ ;
diff --git a/pkg/front_end/testcases/general/issue42610b.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42610b.dart.weak.transformed.expect
new file mode 100644
index 0000000..3d48f0d
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue42610b.dart.weak.transformed.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue42610b.dart:6:4: Error: 'final' can't be used as an identifier because it's a keyword.
+// Try renaming this to be an identifier that isn't a keyword.
+// #final;
+// ^^^^^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const y;
+// ^
+//
+// pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+// Try adding an initializer ('= expression') to the declaration.
+// const int w;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method test() → void {
+ #C1;
+ final dynamic x;
+ const invalid-type y = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:8:9: Error: The const variable 'y' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const y;
+ ^";
+ final core::int z;
+ const core::int w = invalid-expression "pkg/front_end/testcases/general/issue42610b.dart:10:13: Error: The const variable 'w' must be initialized.
+Try adding an initializer ('= expression') to the declaration.
+ const int w;
+ ^";
+}
+static method main() → void {}
+
+constants {
+ #C1 = #final
+}
diff --git a/pkg/front_end/testcases/general/issue42615.dart b/pkg/front_end/testcases/general/issue42615.dart
index 9aeea55..5ee7bb8 100644
--- a/pkg/front_end/testcases/general/issue42615.dart
+++ b/pkg/front_end/testcases/general/issue42615.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
import 'dart:async';
class Class<T> {
diff --git a/pkg/front_end/testcases/general/issue42694.dart b/pkg/front_end/testcases/general/issue42694.dart
index fa6f914..95e5875 100644
--- a/pkg/front_end/testcases/general/issue42694.dart
+++ b/pkg/front_end/testcases/general/issue42694.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class A {
void set setter(int value);
}
diff --git a/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
index 44d643c..6d5d6ad 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {
void set setter(int value);
}
diff --git a/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
index 44d643c..6d5d6ad 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class A {
void set setter(int value);
}
diff --git a/pkg/front_end/testcases/general/issue42694.dart.weak.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.expect
index f8b3fdc..5be2cc6 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.weak.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract set setter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set setter(core::int value) → void;
}
class B extends core::Object implements self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get setter() → core::int*
+ get setter() → core::int
return throw "";
- set setter(core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue42694.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.modular.expect
index f8b3fdc..5be2cc6 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.weak.modular.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract set setter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set setter(core::int value) → void;
}
class B extends core::Object implements self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get setter() → core::int*
+ get setter() → core::int
return throw "";
- set setter(core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect
index 1b716ec..8ebfe87 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
- abstract set setter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set setter(core::int value) → void;
}
class B extends core::Object implements self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- get setter() → core::int*
+ get setter() → core::int
;
- set setter(core::int* value) → void
+ set setter(core::int value) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect
index f8b3fdc..5be2cc6 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect
@@ -1,39 +1,19 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class A extends core::Object {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super core::Object::•()
;
- abstract set setter(core::int* value) → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract set setter(core::int value) → void;
}
class B extends core::Object implements self::A {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get setter() → core::int*
+ get setter() → core::int
return throw "";
- set setter(core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ set setter(core::int value) → void {}
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue42997.dart b/pkg/front_end/testcases/general/issue42997.dart
index 7da576e..1b1ee96 100644
--- a/pkg/front_end/testcases/general/issue42997.dart
+++ b/pkg/front_end/testcases/general/issue42997.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// Regression test for issue 42997
main() {}
diff --git a/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
index fd6313c..22509e9 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
main() {}
PropertyState();
class PropertyState<I, O> {
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.expect
index b11e219..85c075a 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -46,8 +46,8 @@
import self as self;
import "dart:core" as core;
-class PropertyState#1<I extends core::Object* = dynamic, O extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I*, self::PropertyState#1::O*>*
+class PropertyState#1<I extends core::Object? = dynamic, O extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I%, self::PropertyState#1::O%>
: super core::Object::•()
;
method dispose() → void {
@@ -68,16 +68,6 @@
^^^^^" in this{<unresolved>}.state))
;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
static abstract method PropertyState() → dynamic;
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.modular.expect
index b11e219..85c075a 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -46,8 +46,8 @@
import self as self;
import "dart:core" as core;
-class PropertyState#1<I extends core::Object* = dynamic, O extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I*, self::PropertyState#1::O*>*
+class PropertyState#1<I extends core::Object? = dynamic, O extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I%, self::PropertyState#1::O%>
: super core::Object::•()
;
method dispose() → void {
@@ -68,16 +68,6 @@
^^^^^" in this{<unresolved>}.state))
;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
static abstract method PropertyState() → dynamic;
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect
index f307379..347c54f 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,21 +17,11 @@
import self as self;
import "dart:core" as core;
-class PropertyState#1<I extends core::Object* = dynamic, O extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I*, self::PropertyState#1::O*>*
+class PropertyState#1<I extends core::Object? = dynamic, O extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I%, self::PropertyState#1::O%>
;
method dispose() → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
index b11e219..85c075a 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -46,8 +46,8 @@
import self as self;
import "dart:core" as core;
-class PropertyState#1<I extends core::Object* = dynamic, O extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I*, self::PropertyState#1::O*>*
+class PropertyState#1<I extends core::Object? = dynamic, O extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::PropertyState#1<self::PropertyState#1::I%, self::PropertyState#1::O%>
: super core::Object::•()
;
method dispose() → void {
@@ -68,16 +68,6 @@
^^^^^" in this{<unresolved>}.state))
;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
static abstract method PropertyState() → dynamic;
diff --git a/pkg/front_end/testcases/general/issue43290.dart b/pkg/front_end/testcases/general/issue43290.dart
index d3ad455..c1af4ba 100644
--- a/pkg/front_end/testcases/general/issue43290.dart
+++ b/pkg/front_end/testcases/general/issue43290.dart
@@ -1,11 +1,11 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Class {
final int length;
- const Class({this.length});
+ const Class({this.length: 0});
method1a() {
const Class(length: this.length);
diff --git a/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
index 7d3329f..14991b0 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
@@ -1,7 +1,6 @@
-// @dart = 2.9
class Class {
final int length;
- const Class({this.length});
+ const Class({this.length: 0});
method1a() {}
method1b() {}
method2a() {}
diff --git a/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
index 8de10005..f80d7f1 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
@@ -1,6 +1,5 @@
-// @dart = 2.9
class Class {
- const Class({this.length});
+ const Class({this.length: 0});
final int length;
method1a() {}
method1b() {}
diff --git a/pkg/front_end/testcases/general/issue43290.dart.weak.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.expect
index 436e5dd..74e725c 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -48,8 +48,8 @@
import "dart:core" as core;
class Class extends core::Object /*hasConstConstructor*/ {
- final field core::int* length;
- const constructor •({core::int* length = #C1}) → self::Class*
+ final field core::int length;
+ const constructor •({core::int length = #C1}) → self::Class
: self::Class::length = length, super core::Object::•()
;
method method1a() → dynamic {
@@ -59,24 +59,14 @@
invalid-expression "Not a constant expression.";
}
method method2a() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
method method2b() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
constants {
- #C1 = null
+ #C1 = 0
}
diff --git a/pkg/front_end/testcases/general/issue43290.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.modular.expect
index 436e5dd..74e725c 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -48,8 +48,8 @@
import "dart:core" as core;
class Class extends core::Object /*hasConstConstructor*/ {
- final field core::int* length;
- const constructor •({core::int* length = #C1}) → self::Class*
+ final field core::int length;
+ const constructor •({core::int length = #C1}) → self::Class
: self::Class::length = length, super core::Object::•()
;
method method1a() → dynamic {
@@ -59,24 +59,14 @@
invalid-expression "Not a constant expression.";
}
method method2a() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
method method2b() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
constants {
- #C1 = null
+ #C1 = 0
}
diff --git a/pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect
index 51f0c9f..5b46fa4 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class extends core::Object /*hasConstConstructor*/ {
- final field core::int* length;
- const constructor •({core::int* length}) → self::Class*
+ final field core::int length;
+ const constructor •({core::int length = 0}) → self::Class
: self::Class::length = length, super core::Object::•()
;
method method1a() → dynamic
@@ -15,16 +15,6 @@
;
method method2b() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect
index 436e5dd..74e725c 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -48,8 +48,8 @@
import "dart:core" as core;
class Class extends core::Object /*hasConstConstructor*/ {
- final field core::int* length;
- const constructor •({core::int* length = #C1}) → self::Class*
+ final field core::int length;
+ const constructor •({core::int length = #C1}) → self::Class
: self::Class::length = length, super core::Object::•()
;
method method1a() → dynamic {
@@ -59,24 +59,14 @@
invalid-expression "Not a constant expression.";
}
method method2a() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
method method2b() → dynamic {
- const core::int* a = invalid-expression "Not a constant expression.";
+ const core::int a = invalid-expression "Not a constant expression.";
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
constants {
- #C1 = null
+ #C1 = 0
}
diff --git a/pkg/front_end/testcases/general/issue43363.dart b/pkg/front_end/testcases/general/issue43363.dart
index e85b599..86d91ec 100644
--- a/pkg/front_end/testcases/general/issue43363.dart
+++ b/pkg/front_end/testcases/general/issue43363.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class E {
final int x;
final int y;
diff --git a/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
index abcc490..f2bf39e 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class E {
final int x;
final int y;
diff --git a/pkg/front_end/testcases/general/issue43363.dart.weak.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.expect
index b4cfb49..42b4c7d 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,27 +34,17 @@
import "dart:core" as core;
class E extends core::Object {
- final field core::int* x;
- final field core::int* y = null;
- constructor •() → self::E*
+ final field core::int x;
+ final field core::int y = null;
+ constructor •() → self::E
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers.
this.x = 1;
^", this self::E::named()
;
- constructor named() → self::E*
+ constructor named() → self::E
: self::E::x = 5, final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:13:20: Error: Can't use 'y' because it is declared more than once.
this.y = 6;
^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect
index b4cfb49..42b4c7d 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,27 +34,17 @@
import "dart:core" as core;
class E extends core::Object {
- final field core::int* x;
- final field core::int* y = null;
- constructor •() → self::E*
+ final field core::int x;
+ final field core::int y = null;
+ constructor •() → self::E
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers.
this.x = 1;
^", this self::E::named()
;
- constructor named() → self::E*
+ constructor named() → self::E
: self::E::x = 5, final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:13:20: Error: Can't use 'y' because it is declared more than once.
this.y = 6;
^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect
index e44f548..6489545 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -26,22 +26,12 @@
import "dart:core" as core;
class E extends core::Object {
- final field core::int* x;
- final field core::int* y;
- constructor •() → self::E*
+ final field core::int x;
+ final field core::int y;
+ constructor •() → self::E
;
- constructor named() → self::E*
+ constructor named() → self::E
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect
index b4cfb49..42b4c7d 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,27 +34,17 @@
import "dart:core" as core;
class E extends core::Object {
- final field core::int* x;
- final field core::int* y = null;
- constructor •() → self::E*
+ final field core::int x;
+ final field core::int y = null;
+ constructor •() → self::E
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:9:16: Error: A redirecting constructor can't have other initializers.
this.x = 1;
^", this self::E::named()
;
- constructor named() → self::E*
+ constructor named() → self::E
: self::E::x = 5, final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/issue43363.dart:13:20: Error: Can't use 'y' because it is declared more than once.
this.y = 6;
^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart b/pkg/front_end/testcases/general/issue43975.dart
index 8511b80..929affa 100644
--- a/pkg/front_end/testcases/general/issue43975.dart
+++ b/pkg/front_end/testcases/general/issue43975.dart
@@ -1,6 +1,6 @@
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
typedef F = void Function<X extends F>() Function();
void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
index 7bf4086..ccb87d9 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
typedef F = void Function<X extends F>() Function();
void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
index 7bf4086..ccb87d9 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
typedef F = void Function<X extends F>() Function();
void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.weak.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.expect
index a1da936..8d7db11 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
diff --git a/pkg/front_end/testcases/general/issue43975.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.modular.expect
index a1da936..8d7db11 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
diff --git a/pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect
index a61aa23..a710114 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
diff --git a/pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect
index a1da936..8d7db11 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
diff --git a/pkg/front_end/testcases/general/issue44347.dart b/pkg/front_end/testcases/general/issue44347.dart
index 074b4e5..0389b03 100644
--- a/pkg/front_end/testcases/general/issue44347.dart
+++ b/pkg/front_end/testcases/general/issue44347.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
test() {
Set<int>.();
}
diff --git a/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
index 001308b..ec6b9e0 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
test() {}
main() {}
diff --git a/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
index 38df08d..f67dbb0 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
main() {}
test() {}
diff --git a/pkg/front_end/testcases/general/issue44347.dart.weak.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.expect
index 0fce86b..bd718d5 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.weak.expect
@@ -1,18 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue44347.dart:8:6: Error: This requires the 'constructor-tearoffs' language feature to be enabled.
-// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.15 or higher, and running 'pub get'.
-// Set<int>.();
-// ^
-//
-// pkg/front_end/testcases/general/issue44347.dart:8:13: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/issue44347.dart:6:13: Error: Expected an identifier, but got ')'.
// Try inserting an identifier before ')'.
// Set<int>.();
// ^
//
-// pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+// pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
// Try inserting an identifier before '('.
// Set<int>.();
// ^
@@ -20,7 +15,7 @@
import self as self;
static method test() → dynamic {
- invalid-expression "pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+ invalid-expression "pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
Try inserting an identifier before '('.
Set<int>.();
^";
diff --git a/pkg/front_end/testcases/general/issue44347.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.modular.expect
index 0fce86b..bd718d5 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.weak.modular.expect
@@ -1,18 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue44347.dart:8:6: Error: This requires the 'constructor-tearoffs' language feature to be enabled.
-// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.15 or higher, and running 'pub get'.
-// Set<int>.();
-// ^
-//
-// pkg/front_end/testcases/general/issue44347.dart:8:13: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/issue44347.dart:6:13: Error: Expected an identifier, but got ')'.
// Try inserting an identifier before ')'.
// Set<int>.();
// ^
//
-// pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+// pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
// Try inserting an identifier before '('.
// Set<int>.();
// ^
@@ -20,7 +15,7 @@
import self as self;
static method test() → dynamic {
- invalid-expression "pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+ invalid-expression "pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
Try inserting an identifier before '('.
Set<int>.();
^";
diff --git a/pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect
index a29647d..64923de 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method test() → dynamic
diff --git a/pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect
index 0fce86b..bd718d5 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect
@@ -1,18 +1,13 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
-// pkg/front_end/testcases/general/issue44347.dart:8:6: Error: This requires the 'constructor-tearoffs' language feature to be enabled.
-// Try updating your pubspec.yaml to set the minimum SDK constraint to 2.15 or higher, and running 'pub get'.
-// Set<int>.();
-// ^
-//
-// pkg/front_end/testcases/general/issue44347.dart:8:13: Error: Expected an identifier, but got ')'.
+// pkg/front_end/testcases/general/issue44347.dart:6:13: Error: Expected an identifier, but got ')'.
// Try inserting an identifier before ')'.
// Set<int>.();
// ^
//
-// pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+// pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
// Try inserting an identifier before '('.
// Set<int>.();
// ^
@@ -20,7 +15,7 @@
import self as self;
static method test() → dynamic {
- invalid-expression "pkg/front_end/testcases/general/issue44347.dart:8:12: Error: Expected an identifier, but got '('.
+ invalid-expression "pkg/front_end/testcases/general/issue44347.dart:6:12: Error: Expected an identifier, but got '('.
Try inserting an identifier before '('.
Set<int>.();
^";
diff --git a/pkg/front_end/testcases/general/issue44476.dart b/pkg/front_end/testcases/general/issue44476.dart
index 809de5b..d8459e2 100644
--- a/pkg/front_end/testcases/general/issue44476.dart
+++ b/pkg/front_end/testcases/general/issue44476.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A<X extends int> {}
foo(A<num> x) {
diff --git a/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
index 1681940..c3257fc 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<X extends int> {}
foo(A<num> x) {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
index 1681940..c3257fc 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A<X extends int> {}
foo(A<num> x) {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.weak.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.expect
index 645587c..0f8715b 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -61,28 +61,18 @@
import self as self;
import "dart:core" as core;
-class A<X extends core::int*> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::int> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method foo(self::A<core::num*>* x) → dynamic {
- function bar(self::A<core::num*>* y) → Null {
- function barbar(self::A<core::num*>* yy) → Null
+static method foo(self::A<core::num> x) → dynamic {
+ function bar(self::A<core::num> y) → Null {
+ function barbar(self::A<core::num> yy) → Null
return null;
}
- (self::A<core::num*>*) →* Null baz = (self::A<core::num*>* z) → Null {
- (self::A<core::num*>*) →* Null bazbaz = (self::A<core::num*>* zz) → Null => null;
+ (self::A<core::num>) → Null baz = (self::A<core::num> z) → Null {
+ (self::A<core::num>) → Null bazbaz = (self::A<core::num> zz) → Null => null;
};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.modular.expect
index 645587c..0f8715b 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -61,28 +61,18 @@
import self as self;
import "dart:core" as core;
-class A<X extends core::int*> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::int> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method foo(self::A<core::num*>* x) → dynamic {
- function bar(self::A<core::num*>* y) → Null {
- function barbar(self::A<core::num*>* yy) → Null
+static method foo(self::A<core::num> x) → dynamic {
+ function bar(self::A<core::num> y) → Null {
+ function barbar(self::A<core::num> yy) → Null
return null;
}
- (self::A<core::num*>*) →* Null baz = (self::A<core::num*>* z) → Null {
- (self::A<core::num*>*) →* Null bazbaz = (self::A<core::num*>* zz) → Null => null;
+ (self::A<core::num>) → Null baz = (self::A<core::num> z) → Null {
+ (self::A<core::num>) → Null bazbaz = (self::A<core::num> zz) → Null => null;
};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect
index 2131965..ab893e2 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -13,21 +13,11 @@
import self as self;
import "dart:core" as core;
-class A<X extends core::int*> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::int> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method foo(self::A<core::num*>* x) → dynamic
+static method foo(self::A<core::num> x) → dynamic
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect
index 645587c..0f8715b 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -61,28 +61,18 @@
import self as self;
import "dart:core" as core;
-class A<X extends core::int*> extends core::Object {
- synthetic constructor •() → self::A<self::A::X*>*
+class A<X extends core::int> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X>
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method foo(self::A<core::num*>* x) → dynamic {
- function bar(self::A<core::num*>* y) → Null {
- function barbar(self::A<core::num*>* yy) → Null
+static method foo(self::A<core::num> x) → dynamic {
+ function bar(self::A<core::num> y) → Null {
+ function barbar(self::A<core::num> yy) → Null
return null;
}
- (self::A<core::num*>*) →* Null baz = (self::A<core::num*>* z) → Null {
- (self::A<core::num*>*) →* Null bazbaz = (self::A<core::num*>* zz) → Null => null;
+ (self::A<core::num>) → Null baz = (self::A<core::num> z) → Null {
+ (self::A<core::num>) → Null bazbaz = (self::A<core::num> zz) → Null => null;
};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue44654.dart b/pkg/front_end/testcases/general/issue44654.dart
index ad48c45..267e879 100644
--- a/pkg/front_end/testcases/general/issue44654.dart
+++ b/pkg/front_end/testcases/general/issue44654.dart
@@ -1,8 +1,8 @@
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
-// @dart = 2.9
void test2() {
String string = null;
diff --git a/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
index d7c0d32..a95637c 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
void test2() {}
void main() {}
void checkFirstLineHasPosition(StackTrace stackTrace) {}
diff --git a/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
index 3d04f91..95b5598 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
@@ -1,5 +1,4 @@
// @dart = 2.9
-// @dart = 2.9
void checkFirstLineHasPosition(StackTrace stackTrace) {}
void main() {}
void test2() {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart b/pkg/front_end/testcases/general/issue45598_2.dart
index 61a731e..7d615c3 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart
+++ b/pkg/front_end/testcases/general/issue45598_2.dart
@@ -2,10 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
foo(Map<String, String> m) {
- void bar<X extends Z, Y, Z>({Map<Y, Z> m}) {}
+ void bar<X extends Z, Y, Z>({required Map<Y, Z> m}) {}
bar(m: m);
}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline.expect
index 983b1d0..853274f 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
foo(Map<String, String> m) {}
main() {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline_modelled.expect
index 983b1d0..853274f 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,2 @@
-// @dart = 2.9
foo(Map<String, String> m) {}
main() {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
index eff30fa..f0813ae 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method foo(core::Map<core::String*, core::String*>* m) → dynamic {
- function bar<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({core::Map<Y*, Z*>* m = #C1}) → void {}
- bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* void};
+static method foo(core::Map<core::String, core::String> m) → dynamic {
+ function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.modular.expect
index eff30fa..f0813ae 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.modular.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method foo(core::Map<core::String*, core::String*>* m) → dynamic {
- function bar<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({core::Map<Y*, Z*>* m = #C1}) → void {}
- bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* void};
+static method foo(core::Map<core::String, core::String> m) → dynamic {
+ function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.outline.expect
index 9efffa9a..1e7263b 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.outline.expect
@@ -1,8 +1,8 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method foo(core::Map<core::String*, core::String*>* m) → dynamic
+static method foo(core::Map<core::String, core::String> m) → dynamic
;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
index eff30fa..f0813ae 100644
--- a/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue45598_2.dart.weak.transformed.expect
@@ -1,10 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-static method foo(core::Map<core::String*, core::String*>* m) → dynamic {
- function bar<X extends Z* = dynamic, Y extends core::Object* = dynamic, Z extends core::Object* = dynamic>({core::Map<Y*, Z*>* m = #C1}) → void {}
- bar<core::String*, core::String*, core::String*>(m: m){({m: core::Map<core::String*, core::String*>*}) →* void};
+static method foo(core::Map<core::String, core::String> m) → dynamic {
+ function bar<X extends Z% = dynamic, Y extends core::Object? = dynamic, Z extends core::Object? = dynamic>({required core::Map<Y%, Z%> m = #C1}) → void {}
+ bar<core::String, core::String, core::String>(m: m){({required m: core::Map<core::String, core::String>}) → void};
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart b/pkg/front_end/testcases/general/issue45660_2.dart
new file mode 100644
index 0000000..434fdc4
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+T Function<T extends num>(T) extendsNumReturnArg = <S extends num>(S s) => s;
+
+functionInvocations() {
+ extendsNumReturnArg/*<Null>*/(null);
+ extendsNumReturnArg/*<String>*/("");
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline.expect
new file mode 100644
index 0000000..363627b
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline.expect
@@ -0,0 +1,3 @@
+T Function<T extends num>(T) extendsNumReturnArg = <S extends num>(S s) => s;
+functionInvocations() {}
+main() {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..363627b
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.textual_outline_modelled.expect
@@ -0,0 +1,3 @@
+T Function<T extends num>(T) extendsNumReturnArg = <S extends num>(S s) => s;
+functionInvocations() {}
+main() {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.weak.expect b/pkg/front_end/testcases/general/issue45660_2.dart.weak.expect
new file mode 100644
index 0000000..b4ba3a7
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.weak.expect
@@ -0,0 +1,23 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:8:22: Error: Inferred type argument 'Null' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<Null>*/(null);
+// ^
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:9:22: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<String>*/("");
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field <T extends core::num = dynamic>(T) → T extendsNumReturnArg = <S extends core::num>(S s) → S => s;
+static method functionInvocations() → dynamic {
+ self::extendsNumReturnArg<Null>(null){(Null) → Null};
+ self::extendsNumReturnArg<core::String>(""){(core::String) → core::String};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue45660_2.dart.weak.modular.expect
new file mode 100644
index 0000000..b4ba3a7
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.weak.modular.expect
@@ -0,0 +1,23 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:8:22: Error: Inferred type argument 'Null' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<Null>*/(null);
+// ^
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:9:22: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<String>*/("");
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field <T extends core::num = dynamic>(T) → T extendsNumReturnArg = <S extends core::num>(S s) → S => s;
+static method functionInvocations() → dynamic {
+ self::extendsNumReturnArg<Null>(null){(Null) → Null};
+ self::extendsNumReturnArg<core::String>(""){(core::String) → core::String};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue45660_2.dart.weak.outline.expect
new file mode 100644
index 0000000..33986f2
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.weak.outline.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field <T extends core::num = dynamic>(T) → T extendsNumReturnArg;
+static method functionInvocations() → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/issue45660_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue45660_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..b4ba3a7
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue45660_2.dart.weak.transformed.expect
@@ -0,0 +1,23 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:8:22: Error: Inferred type argument 'Null' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<Null>*/(null);
+// ^
+//
+// pkg/front_end/testcases/general/issue45660_2.dart:9:22: Error: Inferred type argument 'String' doesn't conform to the bound 'num' of the type variable 'T' on 'call'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+// extendsNumReturnArg/*<String>*/("");
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field <T extends core::num = dynamic>(T) → T extendsNumReturnArg = <S extends core::num>(S s) → S => s;
+static method functionInvocations() → dynamic {
+ self::extendsNumReturnArg<Null>(null){(Null) → Null};
+ self::extendsNumReturnArg<core::String>(""){(core::String) → core::String};
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue47495.dart b/pkg/front_end/testcases/general/issue47495.dart
index 53c19c1..fcef9ee 100644
--- a/pkg/front_end/testcases/general/issue47495.dart
+++ b/pkg/front_end/testcases/general/issue47495.dart
@@ -2,9 +2,10 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart = 2.9
+// @dart=2.13
class S {}
+
class M {}
typedef SAlias = S;
diff --git a/pkg/front_end/testcases/general/issue47495.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue47495.dart.textual_outline.expect
index c7f3471..d5c68b3 100644
--- a/pkg/front_end/testcases/general/issue47495.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue47495.dart.textual_outline.expect
@@ -1,6 +1,8 @@
-// @dart = 2.9
+// @dart = 2.13
class S {}
+
class M {}
+
typedef SAlias = S;
typedef MAlias = M;
class C = SAlias with MAlias;
diff --git a/pkg/front_end/testcases/general/issue47495.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue47495.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..f8cb0e4
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue47495.dart.textual_outline_modelled.expect
@@ -0,0 +1,10 @@
+// @dart = 2.13
+class C = SAlias with MAlias;
+
+class M {}
+
+class S {}
+
+main() {}
+typedef MAlias = M;
+typedef SAlias = S;
diff --git a/pkg/front_end/testcases/general/issue47495.dart.weak.expect b/pkg/front_end/testcases/general/issue47495.dart.weak.expect
index aeebd16..bb6f57a 100644
--- a/pkg/front_end/testcases/general/issue47495.dart.weak.expect
+++ b/pkg/front_end/testcases/general/issue47495.dart.weak.expect
@@ -1,70 +1,22 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue47495.dart:10:16: Error: Can't create typedef from non-function type.
-// typedef SAlias = S;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:11:16: Error: Can't create typedef from non-function type.
-// typedef MAlias = M;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:13:7: Error: The type 'MAlias' can't be mixed in.
-// class C = SAlias with MAlias;
-// ^
-// pkg/front_end/testcases/general/issue47495.dart:11:9: Context: The issue arises via this type alias.
-// typedef MAlias = M;
-// ^
-//
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef SAlias = invalid-type;
-typedef MAlias = invalid-type;
+typedef SAlias = self::S;
+typedef MAlias = self::M;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C extends core::Object {
- synthetic constructor •() → self::C*
- : super core::Object::•()
+class C = self::S with self::M {
+ synthetic constructor •() → self::C
+ : super self::S::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue47495.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue47495.dart.weak.modular.expect
index aeebd16..bb6f57a 100644
--- a/pkg/front_end/testcases/general/issue47495.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/issue47495.dart.weak.modular.expect
@@ -1,70 +1,22 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue47495.dart:10:16: Error: Can't create typedef from non-function type.
-// typedef SAlias = S;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:11:16: Error: Can't create typedef from non-function type.
-// typedef MAlias = M;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:13:7: Error: The type 'MAlias' can't be mixed in.
-// class C = SAlias with MAlias;
-// ^
-// pkg/front_end/testcases/general/issue47495.dart:11:9: Context: The issue arises via this type alias.
-// typedef MAlias = M;
-// ^
-//
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef SAlias = invalid-type;
-typedef MAlias = invalid-type;
+typedef SAlias = self::S;
+typedef MAlias = self::M;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C extends core::Object {
- synthetic constructor •() → self::C*
- : super core::Object::•()
+class C = self::S with self::M {
+ synthetic constructor •() → self::C
+ : super self::S::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue47495.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue47495.dart.weak.outline.expect
index 697ca5b..d437b4a 100644
--- a/pkg/front_end/testcases/general/issue47495.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/issue47495.dart.weak.outline.expect
@@ -1,68 +1,21 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue47495.dart:10:16: Error: Can't create typedef from non-function type.
-// typedef SAlias = S;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:11:16: Error: Can't create typedef from non-function type.
-// typedef MAlias = M;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:13:7: Error: The type 'MAlias' can't be mixed in.
-// class C = SAlias with MAlias;
-// ^
-// pkg/front_end/testcases/general/issue47495.dart:11:9: Context: The issue arises via this type alias.
-// typedef MAlias = M;
-// ^
-//
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef SAlias = invalid-type;
-typedef MAlias = invalid-type;
+typedef SAlias = self::S;
+typedef MAlias = self::M;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C extends core::Object {
- synthetic constructor •() → self::C*
+class C = self::S with self::M {
+ synthetic constructor •() → self::C
+ : super self::S::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/issue47495.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue47495.dart.weak.transformed.expect
index aeebd16..a9933ce 100644
--- a/pkg/front_end/testcases/general/issue47495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/issue47495.dart.weak.transformed.expect
@@ -1,70 +1,22 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue47495.dart:10:16: Error: Can't create typedef from non-function type.
-// typedef SAlias = S;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:11:16: Error: Can't create typedef from non-function type.
-// typedef MAlias = M;
-// ^
-//
-// pkg/front_end/testcases/general/issue47495.dart:13:7: Error: The type 'MAlias' can't be mixed in.
-// class C = SAlias with MAlias;
-// ^
-// pkg/front_end/testcases/general/issue47495.dart:11:9: Context: The issue arises via this type alias.
-// typedef MAlias = M;
-// ^
-//
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef SAlias = invalid-type;
-typedef MAlias = invalid-type;
+typedef SAlias = self::S;
+typedef MAlias = self::M;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class C extends core::Object {
- synthetic constructor •() → self::C*
- : super core::Object::•()
+class C extends self::S implements self::M /*isEliminatedMixin*/ {
+ synthetic constructor •() → self::C
+ : super self::S::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/literals.dart b/pkg/front_end/testcases/general/literals.dart
index 0d637cc..561b82c 100644
--- a/pkg/front_end/testcases/general/literals.dart
+++ b/pkg/front_end/testcases/general/literals.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
testString() {
print("a");
}
diff --git a/pkg/front_end/testcases/general/literals.dart.textual_outline.expect b/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
index 23ee3bf..8732e5c8 100644
--- a/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
testString() {}
testInt() {}
testBool() {}
diff --git a/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
index 1125de1..e45ac05 100644
--- a/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
main() {}
testBool() {}
testDouble() {}
diff --git a/pkg/front_end/testcases/general/literals.dart.weak.expect b/pkg/front_end/testcases/general/literals.dart.weak.expect
index 8ef3e48..2bbe155 100644
--- a/pkg/front_end/testcases/general/literals.dart.weak.expect
+++ b/pkg/front_end/testcases/general/literals.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@@ -20,11 +20,11 @@
}
static method testList() → dynamic {
core::print(<dynamic>[]);
- core::print(<core::String*>["a", "b"]);
+ core::print(<core::String>["a", "b"]);
}
static method testMap() → dynamic {
core::print(<dynamic, dynamic>{});
- core::print(<core::String*, core::String*>{"a": "b"});
+ core::print(<core::String, core::String>{"a": "b"});
}
static method testSymbol() → dynamic {
core::print(#C1);
diff --git a/pkg/front_end/testcases/general/literals.dart.weak.modular.expect b/pkg/front_end/testcases/general/literals.dart.weak.modular.expect
index 8ef3e48..2bbe155 100644
--- a/pkg/front_end/testcases/general/literals.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/literals.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@@ -20,11 +20,11 @@
}
static method testList() → dynamic {
core::print(<dynamic>[]);
- core::print(<core::String*>["a", "b"]);
+ core::print(<core::String>["a", "b"]);
}
static method testMap() → dynamic {
core::print(<dynamic, dynamic>{});
- core::print(<core::String*, core::String*>{"a": "b"});
+ core::print(<core::String, core::String>{"a": "b"});
}
static method testSymbol() → dynamic {
core::print(#C1);
diff --git a/pkg/front_end/testcases/general/literals.dart.weak.outline.expect b/pkg/front_end/testcases/general/literals.dart.weak.outline.expect
index ffc79f2..7c2a464 100644
--- a/pkg/front_end/testcases/general/literals.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/literals.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method testString() → dynamic
diff --git a/pkg/front_end/testcases/general/literals.dart.weak.transformed.expect b/pkg/front_end/testcases/general/literals.dart.weak.transformed.expect
index ae7c90f..9a94341 100644
--- a/pkg/front_end/testcases/general/literals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/literals.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@@ -20,11 +20,11 @@
}
static method testList() → dynamic {
core::print(core::_GrowableList::•<dynamic>(0));
- core::print(core::_GrowableList::_literal2<core::String*>("a", "b"));
+ core::print(core::_GrowableList::_literal2<core::String>("a", "b"));
}
static method testMap() → dynamic {
core::print(<dynamic, dynamic>{});
- core::print(<core::String*, core::String*>{"a": "b"});
+ core::print(<core::String, core::String>{"a": "b"});
}
static method testSymbol() → dynamic {
core::print(#C1);
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart b/pkg/front_end/testcases/general/local_generic_function.dart
index 05ec927..a251f14 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart
+++ b/pkg/front_end/testcases/general/local_generic_function.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
main() {
T f<T>(List<T> l) => l[0];
var x = f([0]);
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() {}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
index 7c126a2..bae895a 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() {}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
index b22d5a7..bfb45dd 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic {
- function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
- return l.{core::List::[]}(0){(core::int*) →* T*};
- core::int* x = f<core::int*>(<core::int*>[0]){(core::List<core::int*>*) →* core::int*};
+ function f<T extends core::Object? = dynamic>(core::List<T%> l) → T%
+ return l.{core::List::[]}(0){(core::int) → T%};
+ core::int x = f<core::int>(<core::int>[0]){(core::List<core::int>) → core::int};
}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.modular.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.modular.expect
index b22d5a7..bfb45dd 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic {
- function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
- return l.{core::List::[]}(0){(core::int*) →* T*};
- core::int* x = f<core::int*>(<core::int*>[0]){(core::List<core::int*>*) →* core::int*};
+ function f<T extends core::Object? = dynamic>(core::List<T%> l) → T%
+ return l.{core::List::[]}(0){(core::int) → T%};
+ core::int x = f<core::int>(<core::int>[0]){(core::List<core::int>) → core::int};
}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
index 6c7e013..4ad80c1 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic {
- function f<T extends core::Object* = dynamic>(core::List<T*>* l) → T*
- return l.{core::List::[]}(0){(core::int*) →* T*};
- core::int* x = f<core::int*>(core::_GrowableList::_literal1<core::int*>(0)){(core::List<core::int*>*) →* core::int*};
+ function f<T extends core::Object? = dynamic>(core::List<T%> l) → T%
+ return l.{core::List::[]}(0){(core::int) → T%};
+ core::int x = f<core::int>(core::_GrowableList::_literal1<core::int>(0)){(core::List<core::int>) → core::int};
}
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
index 23b431a..6a3864c 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// Test for potentially slow compilation of long typedef dependency chains.
typedef Foo01<X, Y, Z> = void Function(Null);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
index 716cfd0..22729bf 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
typedef Foo01<X, Y, Z> = void Function(Null);
typedef Foo02<X, Y, Z> = void Function(Foo01<X, Y, Z>);
typedef Foo03<X, Y, Z> = void Function(Foo02<X, Y, Z>);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
index ab48f3f..20e1848 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
main() {}
typedef Foo01<X, Y, Z> = void Function(Null);
typedef Foo02<X, Y, Z> = void Function(Foo01<X, Y, Z>);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect
index 10636b1..4bcf146 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect
@@ -1,25 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (Null) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((Null) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((Null) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((Null) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((Null) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((Null) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
+typedef Foo01<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (Null) → void;
+typedef Foo02<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((Null) → void) → void;
+typedef Foo03<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((Null) → void) → void) → void;
+typedef Foo04<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((Null) → void) → void) → void) → void;
+typedef Foo05<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((Null) → void) → void) → void) → void) → void;
+typedef Foo06<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((Null) → void) → void) → void) → void) → void) → void;
+typedef Foo07<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((Null) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo08<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo09<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo10<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo11<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo12<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo13<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo14<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo15<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo16<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo17<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo18<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo19<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo20<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.modular.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.modular.expect
index 10636b1..4bcf146 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.modular.expect
@@ -1,25 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (Null) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((Null) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((Null) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((Null) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((Null) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((Null) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
+typedef Foo01<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (Null) → void;
+typedef Foo02<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((Null) → void) → void;
+typedef Foo03<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((Null) → void) → void) → void;
+typedef Foo04<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((Null) → void) → void) → void) → void;
+typedef Foo05<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((Null) → void) → void) → void) → void) → void;
+typedef Foo06<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((Null) → void) → void) → void) → void) → void) → void;
+typedef Foo07<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((Null) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo08<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo09<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo10<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo11<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo12<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo13<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo14<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo15<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo16<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo17<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo18<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo19<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo20<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect
index 15cb773..5985e90 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect
@@ -1,26 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (Null) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((Null) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((Null) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((Null) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((Null) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((Null) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
+typedef Foo01<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (Null) → void;
+typedef Foo02<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((Null) → void) → void;
+typedef Foo03<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((Null) → void) → void) → void;
+typedef Foo04<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((Null) → void) → void) → void) → void;
+typedef Foo05<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((Null) → void) → void) → void) → void) → void;
+typedef Foo06<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((Null) → void) → void) → void) → void) → void) → void;
+typedef Foo07<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((Null) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo08<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo09<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo10<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo11<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo12<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo13<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo14<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo15<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo16<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo17<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo18<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo19<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo20<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect
index 10636b1..4bcf146 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect
@@ -1,25 +1,25 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (Null) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((Null) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((Null) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((Null) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((Null) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((Null) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((Null) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
+typedef Foo01<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (Null) → void;
+typedef Foo02<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((Null) → void) → void;
+typedef Foo03<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((Null) → void) → void) → void;
+typedef Foo04<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((Null) → void) → void) → void) → void;
+typedef Foo05<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((Null) → void) → void) → void) → void) → void;
+typedef Foo06<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((Null) → void) → void) → void) → void) → void) → void;
+typedef Foo07<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((Null) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo08<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo09<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo10<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo11<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo12<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo13<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo14<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo15<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo16<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo17<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo18<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo19<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = (((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
+typedef Foo20<unrelated X extends core::Object? = dynamic, unrelated Y extends core::Object? = dynamic, unrelated Z extends core::Object? = dynamic> = ((((((((((((((((((((Null) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void) → void;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/magic_const.dart b/pkg/front_end/testcases/general/magic_const.dart
index a409685..276245e 100644
--- a/pkg/front_end/testcases/general/magic_const.dart
+++ b/pkg/front_end/testcases/general/magic_const.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
/// Test that we produce a compile-time error when magic constness would
/// otherwise apply.
// TODO(ahe): Update this test when we implement magic constness correctly.
diff --git a/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect b/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
index 039d732..63982d2 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Constant {
const Constant();
}
diff --git a/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
index cb84be0..98f38df 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Constant {
const Constant();
}
diff --git a/pkg/front_end/testcases/general/magic_const.dart.weak.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.expect
index 60dcd8b..4746b81 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.weak.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,34 +30,14 @@
import "dart:core" as core;
class Constant extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::Constant*
+ const constructor •() → self::Constant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NotConstant extends core::Object {
- synthetic constructor •() → self::NotConstant*
+ synthetic constructor •() → self::NotConstant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Non-constant list literal is not a constant expression."}) → dynamic {}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/magic_const.dart.weak.modular.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.modular.expect
index 60dcd8b..4746b81 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,34 +30,14 @@
import "dart:core" as core;
class Constant extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::Constant*
+ const constructor •() → self::Constant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NotConstant extends core::Object {
- synthetic constructor •() → self::NotConstant*
+ synthetic constructor •() → self::NotConstant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Non-constant list literal is not a constant expression."}) → dynamic {}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect
index 9cad368..758656e 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect
@@ -1,35 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Constant extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::Constant*
+ const constructor •() → self::Constant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NotConstant extends core::Object {
- synthetic constructor •() → self::NotConstant*
+ synthetic constructor •() → self::NotConstant
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo({dynamic a, dynamic b, dynamic c}) → dynamic
;
diff --git a/pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect
index e6298bf..bb758cd 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,34 +30,14 @@
import "dart:core" as core;
class Constant extends core::Object /*hasConstConstructor*/ {
- const constructor •() → self::Constant*
+ const constructor •() → self::Constant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class NotConstant extends core::Object {
- synthetic constructor •() → self::NotConstant*
+ synthetic constructor •() → self::NotConstant
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Non-constant list literal is not a constant expression."}) → dynamic {}
static method test() → dynamic {
diff --git a/pkg/front_end/testcases/general/main_declaration.dart b/pkg/front_end/testcases/general/main_declaration.dart
index 8ec5e43..2a6b05a 100644
--- a/pkg/front_end/testcases/general/main_declaration.dart
+++ b/pkg/front_end/testcases/general/main_declaration.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
import 'main_declaration_lib.dart';
main() {}
diff --git a/pkg/front_end/testcases/general/main_declaration_lib.dart b/pkg/front_end/testcases/general/main_declaration_lib.dart
index cb3971a..5edc834 100644
--- a/pkg/front_end/testcases/general/main_declaration_lib.dart
+++ b/pkg/front_end/testcases/general/main_declaration_lib.dart
@@ -1,6 +1,8 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
// This would be an invalid main declaration in a null safe library.
main(String args) {}
diff --git a/pkg/front_end/testcases/general/many_errors.dart b/pkg/front_end/testcases/general/many_errors.dart
index 27ac04a..8e24483 100644
--- a/pkg/front_end/testcases/general/many_errors.dart
+++ b/pkg/front_end/testcases/general/many_errors.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
class A {
final x = null;
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.expect
index 48ce15f..3bb36fb 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.expect
@@ -2,49 +2,49 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:10:3: Error: A const constructor can't have a body.
// Try removing either the 'const' keyword or the body.
// const A.named1() sync* {}
// ^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:1: Error: An external or native method can't have a body.
// external foo(String x) {
// ^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// pkg/front_end/testcases/general/many_errors.dart:12:26: Error: New expression is not a constant expression.
// const A.named2() : x = new Object();
// ^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration.
// const A.named2() : x = new Object();
// ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
+// pkg/front_end/testcases/general/many_errors.dart:8:9: Context: 'x' was initialized here.
// final x = null;
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const A.named2() : x = new Object();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
// const A.named1() sync* {}
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
// external foo(String x) {
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
// const AbstractClass.id();
// ^^^^^^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const AbstractClass.id();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+// pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
// - 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
// (new C()?.b ??= new B()).b;
@@ -56,11 +56,11 @@
class A extends core::Object /*hasConstConstructor*/ {
final field dynamic x = null;
constructor named1() → self::A*
- : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
const A.named1() sync* {}
^" {}
const constructor named2() → self::A*
- : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const A.named2() : x = new Object();
^", super core::Object::•()
@@ -123,7 +123,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
external static method foo(core::String* x) → dynamic {
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
external foo(String x) {
^";
{
@@ -131,11 +131,11 @@
}
}
static method m() → dynamic {
- throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const AbstractClass.id();
^";
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
- 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
(new C()?.b ??= new B()).b;
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.modular.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.modular.expect
index 48ce15f..3bb36fb 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.modular.expect
@@ -2,49 +2,49 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:10:3: Error: A const constructor can't have a body.
// Try removing either the 'const' keyword or the body.
// const A.named1() sync* {}
// ^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:1: Error: An external or native method can't have a body.
// external foo(String x) {
// ^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// pkg/front_end/testcases/general/many_errors.dart:12:26: Error: New expression is not a constant expression.
// const A.named2() : x = new Object();
// ^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration.
// const A.named2() : x = new Object();
// ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
+// pkg/front_end/testcases/general/many_errors.dart:8:9: Context: 'x' was initialized here.
// final x = null;
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const A.named2() : x = new Object();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
// const A.named1() sync* {}
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
// external foo(String x) {
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
// const AbstractClass.id();
// ^^^^^^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const AbstractClass.id();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+// pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
// - 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
// (new C()?.b ??= new B()).b;
@@ -56,11 +56,11 @@
class A extends core::Object /*hasConstConstructor*/ {
final field dynamic x = null;
constructor named1() → self::A*
- : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
const A.named1() sync* {}
^" {}
const constructor named2() → self::A*
- : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const A.named2() : x = new Object();
^", super core::Object::•()
@@ -123,7 +123,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
external static method foo(core::String* x) → dynamic {
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
external foo(String x) {
^";
{
@@ -131,11 +131,11 @@
}
}
static method m() → dynamic {
- throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const AbstractClass.id();
^";
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
- 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
(new C()?.b ??= new B()).b;
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect
index 623c813..627708a1 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect
@@ -2,27 +2,27 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:10:3: Error: A const constructor can't have a body.
// Try removing either the 'const' keyword or the body.
// const A.named1() sync* {}
// ^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:1: Error: An external or native method can't have a body.
// external foo(String x) {
// ^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// pkg/front_end/testcases/general/many_errors.dart:12:26: Error: New expression is not a constant expression.
// const A.named2() : x = new Object();
// ^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration.
// const A.named2() : x = new Object();
// ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
+// pkg/front_end/testcases/general/many_errors.dart:8:9: Context: 'x' was initialized here.
// final x = null;
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const A.named2() : x = new Object();
// ^
@@ -35,7 +35,7 @@
constructor named1() → self::A*
;
const constructor named2() → self::A*
- : final dynamic #t1 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ : final dynamic #t1 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const A.named2() : x = new Object();
^", super core::Object::•()
diff --git a/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
index 48ce15f..3bb36fb 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
@@ -2,49 +2,49 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:10:3: Error: A const constructor can't have a body.
// Try removing either the 'const' keyword or the body.
// const A.named1() sync* {}
// ^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:1: Error: An external or native method can't have a body.
// external foo(String x) {
// ^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// pkg/front_end/testcases/general/many_errors.dart:12:26: Error: New expression is not a constant expression.
// const A.named2() : x = new Object();
// ^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration.
// const A.named2() : x = new Object();
// ^
-// pkg/front_end/testcases/general/many_errors.dart:6:9: Context: 'x' was initialized here.
+// pkg/front_end/testcases/general/many_errors.dart:8:9: Context: 'x' was initialized here.
// final x = null;
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const A.named2() : x = new Object();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
// const A.named1() sync* {}
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+// pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
// external foo(String x) {
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
// const AbstractClass.id();
// ^^^^^^^^^^^^^
//
-// pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
// Try using a constructor or factory that is 'const'.
// const AbstractClass.id();
// ^
//
-// pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+// pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
// - 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
// (new C()?.b ??= new B()).b;
@@ -56,11 +56,11 @@
class A extends core::Object /*hasConstConstructor*/ {
final field dynamic x = null;
constructor named1() → self::A*
- : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
const A.named1() sync* {}
^" {}
const constructor named2() → self::A*
- : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:12:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const A.named2() : x = new Object();
^", super core::Object::•()
@@ -123,7 +123,7 @@
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
external static method foo(core::String* x) → dynamic {
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:13:24: Error: An external or native method can't have a body.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:15:24: Error: An external or native method can't have a body.
external foo(String x) {
^";
{
@@ -131,11 +131,11 @@
}
}
static method m() → dynamic {
- throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors.dart:30:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
const AbstractClass.id();
^";
- invalid-expression "pkg/front_end/testcases/general/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+ invalid-expression "pkg/front_end/testcases/general/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
- 'B' is from 'pkg/front_end/testcases/general/many_errors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
(new C()?.b ??= new B()).b;
diff --git a/pkg/front_end/testcases/general/many_errors2.dart b/pkg/front_end/testcases/general/many_errors2.dart
new file mode 100644
index 0000000..3408e7a
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class A {
+ final x = null;
+
+ const A.named1() sync* {}
+
+ const A.named2() : x = new Object();
+}
+
+external foo(String x) {
+ return x.length;
+}
+
+class B {}
+
+class C {
+ late B b;
+}
+
+abstract class AbstractClass {
+ const AbstractClass.id();
+}
+
+m() {
+ const AbstractClass.id();
+ (new C().b ??= new B()).b;
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/many_errors2.dart.textual_outline.expect b/pkg/front_end/testcases/general/many_errors2.dart.textual_outline.expect
new file mode 100644
index 0000000..555c12a
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart.textual_outline.expect
@@ -0,0 +1,16 @@
+class A {
+ final x = null;
+ const A.named1() sync* {}
+ const A.named2() : x = new Object();
+}
+external foo(String x) {}
+class B {}
+class C {
+ late
+ B b;
+}
+abstract class AbstractClass {
+ const AbstractClass.id();
+}
+m() {}
+main() {}
diff --git a/pkg/front_end/testcases/general/many_errors2.dart.weak.expect b/pkg/front_end/testcases/general/many_errors2.dart.weak.expect
new file mode 100644
index 0000000..b462ffa
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart.weak.expect
@@ -0,0 +1,109 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/general/many_errors2.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// const A.named1() sync* {}
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// const AbstractClass.id();
+// ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClass.id();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:12: Warning: Operand of null-aware operation '??=' has type 'B' which excludes null.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// (new C().b ??= new B()).b;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+// (new C().b ??= new B()).b;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/ {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ const A.named1() sync* {}
+ ^" {}
+ const constructor named2() → self::A
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+}
+class C extends core::Object {
+ late field self::B b;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+}
+abstract class AbstractClass extends core::Object /*hasConstConstructor*/ {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic {
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+external foo(String x) {
+ ^";
+ {
+ return x.{core::String::length}{core::int};
+ }
+}
+static method m() → dynamic {
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const AbstractClass.id();
+ ^";
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+ - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+ (new C().b ??= new B()).b;
+ ^" in (let final self::C #t3 = new self::C::•() in let final self::B #t4 = #t3.{self::C::b}{self::B} in #t4 == null ?{self::B} #t3.{self::C::b} = new self::B::•() : #t4){<unresolved>}.b;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/many_errors2.dart.weak.modular.expect b/pkg/front_end/testcases/general/many_errors2.dart.weak.modular.expect
new file mode 100644
index 0000000..b462ffa
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart.weak.modular.expect
@@ -0,0 +1,109 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/general/many_errors2.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// const A.named1() sync* {}
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// const AbstractClass.id();
+// ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClass.id();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:12: Warning: Operand of null-aware operation '??=' has type 'B' which excludes null.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// (new C().b ??= new B()).b;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+// (new C().b ??= new B()).b;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/ {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ const A.named1() sync* {}
+ ^" {}
+ const constructor named2() → self::A
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+}
+class C extends core::Object {
+ late field self::B b;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+}
+abstract class AbstractClass extends core::Object /*hasConstConstructor*/ {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic {
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+external foo(String x) {
+ ^";
+ {
+ return x.{core::String::length}{core::int};
+ }
+}
+static method m() → dynamic {
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const AbstractClass.id();
+ ^";
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+ - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+ (new C().b ??= new B()).b;
+ ^" in (let final self::C #t3 = new self::C::•() in let final self::B #t4 = #t3.{self::C::b}{self::B} in #t4 == null ?{self::B} #t3.{self::C::b} = new self::B::•() : #t4){<unresolved>}.b;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/many_errors2.dart.weak.outline.expect b/pkg/front_end/testcases/general/many_errors2.dart.weak.outline.expect
new file mode 100644
index 0000000..65c668f
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart.weak.outline.expect
@@ -0,0 +1,62 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/general/many_errors2.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/ {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ ;
+ const constructor named2() → self::A
+ : final dynamic #t1 = throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ ;
+}
+class C extends core::Object {
+ late field self::B b;
+ synthetic constructor •() → self::C
+ ;
+}
+abstract class AbstractClass extends core::Object /*hasConstConstructor*/ {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic;
+static method m() → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/many_errors2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/many_errors2.dart.weak.transformed.expect
new file mode 100644
index 0000000..b462ffa
--- /dev/null
+++ b/pkg/front_end/testcases/general/many_errors2.dart.weak.transformed.expect
@@ -0,0 +1,109 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/general/many_errors2.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// const A.named1() sync* {}
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// const AbstractClass.id();
+// ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClass.id();
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:12: Warning: Operand of null-aware operation '??=' has type 'B' which excludes null.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// (new C().b ??= new B()).b;
+// ^
+//
+// pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+// - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+// (new C().b ??= new B()).b;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/ {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ const A.named1() sync* {}
+ ^" {}
+ const constructor named2() → self::A
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+}
+class C extends core::Object {
+ late field self::B b;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+}
+abstract class AbstractClass extends core::Object /*hasConstConstructor*/ {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic {
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:13:24: Error: An external or native method can't have a body.
+external foo(String x) {
+ ^";
+ {
+ return x.{core::String::length}{core::int};
+ }
+}
+static method m() → dynamic {
+ throw invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const AbstractClass.id();
+ ^";
+ invalid-expression "pkg/front_end/testcases/general/many_errors2.dart:29:27: Error: The getter 'b' isn't defined for the class 'B'.
+ - 'B' is from 'pkg/front_end/testcases/general/many_errors2.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+ (new C().b ??= new B()).b;
+ ^" in (let final self::C #t3 = new self::C::•() in let final self::B #t4 = #t3.{self::C::b}{self::B} in #t4 == null ?{self::B} #t3.{self::C::b} = new self::B::•() : #t4){<unresolved>}.b;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart b/pkg/front_end/testcases/general/metadata_enum.dart
index d8f5441..e31a3ce 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart
+++ b/pkg/front_end/testcases/general/metadata_enum.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
const a = null;
@a
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
index fcf0e3c..4cd3089 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const a = null;
@a
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
index fcf0e3c..4cd3089 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const a = null;
@a
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.weak.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.expect
index cb38609..1732e11 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.weak.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.weak.expect
@@ -1,29 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class E extends core::_Enum /*isEnum*/ {
- static const field core::List<self::E*>* values = #C11;
- static const field self::E* E1 = #C4;
- static const field self::E* E2 = #C7;
- static const field self::E* E3 = #C10;
- const constructor •(core::int* index, core::String* name) → self::E*
+ static const field core::List<self::E> values = #C11;
+ static const field self::E E1 = #C4;
+ static const field self::E E2 = #C7;
+ static const field self::E E3 = #C10;
+ const constructor •(core::int index, core::String name) → self::E
: super core::_Enum::•(index, name)
;
- method toString() → core::String*
+ method toString() → core::String
return "E.${this.{core::_Enum::_name}{core::String}}";
- abstract member-signature get index() → core::int*; -> core::_Enum::index
- abstract member-signature get _name() → core::String*; -> core::_Enum::_name
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.weak.modular.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.modular.expect
index cb38609..1732e11 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.weak.modular.expect
@@ -1,29 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class E extends core::_Enum /*isEnum*/ {
- static const field core::List<self::E*>* values = #C11;
- static const field self::E* E1 = #C4;
- static const field self::E* E2 = #C7;
- static const field self::E* E3 = #C10;
- const constructor •(core::int* index, core::String* name) → self::E*
+ static const field core::List<self::E> values = #C11;
+ static const field self::E E1 = #C4;
+ static const field self::E E2 = #C7;
+ static const field self::E E3 = #C10;
+ const constructor •(core::int index, core::String name) → self::E
: super core::_Enum::•(index, name)
;
- method toString() → core::String*
+ method toString() → core::String
return "E.${this.{core::_Enum::_name}{core::String}}";
- abstract member-signature get index() → core::int*; -> core::_Enum::index
- abstract member-signature get _name() → core::String*; -> core::_Enum::_name
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect
index 09a1c26..8cd295c 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect
@@ -1,29 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@self::a
class E extends core::_Enum /*isEnum*/ {
- static const field core::List<self::E*>* values = const <self::E*>[self::E::E1, self::E::E2, self::E::E3];
- static const field self::E* E1 = const self::E::•(0, "E1");
- static const field self::E* E2 = const self::E::•(1, "E2");
- static const field self::E* E3 = const self::E::•(2, "E3");
- const constructor •(core::int* index, core::String* name) → self::E*
+ static const field core::List<self::E> values = const <self::E>[self::E::E1, self::E::E2, self::E::E3];
+ static const field self::E E1 = const self::E::•(0, "E1");
+ static const field self::E E2 = const self::E::•(1, "E2");
+ static const field self::E E3 = const self::E::•(2, "E3");
+ const constructor •(core::int index, core::String name) → self::E
: super core::_Enum::•(index, name)
;
- method toString() → core::String*
+ method toString() → core::String
return "E.${this.{core::_Enum::_name}{core::String}}";
- abstract member-signature get index() → core::int*; -> core::_Enum::index
- abstract member-signature get _name() → core::String*; -> core::_Enum::_name
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = null;
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect
index cb38609..1732e11 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect
@@ -1,29 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class E extends core::_Enum /*isEnum*/ {
- static const field core::List<self::E*>* values = #C11;
- static const field self::E* E1 = #C4;
- static const field self::E* E2 = #C7;
- static const field self::E* E3 = #C10;
- const constructor •(core::int* index, core::String* name) → self::E*
+ static const field core::List<self::E> values = #C11;
+ static const field self::E E1 = #C4;
+ static const field self::E E2 = #C7;
+ static const field self::E E3 = #C10;
+ const constructor •(core::int index, core::String name) → self::E
: super core::_Enum::•(index, name)
;
- method toString() → core::String*
+ method toString() → core::String
return "E.${this.{core::_Enum::_name}{core::String}}";
- abstract member-signature get index() → core::int*; -> core::_Enum::index
- abstract member-signature get _name() → core::String*; -> core::_Enum::_name
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
index bd1fa26..1861f85 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
const a = null;
@a
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
index aed1297..525a405 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const a = null;
@a
class C = D with E;
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
index 10a58d2..8c1c5b9 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
@a
class C = D with E;
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect
index 02845a0..8acc1e5 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class C = self::D with self::E {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::D::•()
;
}
class D extends core::Object {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.modular.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.modular.expect
index 02845a0..8acc1e5 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.modular.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class C = self::D with self::E {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::D::•()
;
}
class D extends core::Object {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect
index 537845c..1a6c17a 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect
@@ -1,40 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@self::a
class C = self::D with self::E {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::D::•()
;
}
class D extends core::Object {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = null;
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect
index 51c5bf3..8686f7a 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect
@@ -1,42 +1,22 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
@#C1
class C extends self::D implements self::E /*isEliminatedMixin*/ {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::D::•()
;
}
class D extends core::Object {
- synthetic constructor •() → self::D*
+ synthetic constructor •() → self::D
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class E extends core::Object {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static const field dynamic a = #C1;
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart
index 60aebf5..4cd3ccd 100644
--- a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart
+++ b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.6
+// @dart=2.9
class A<X extends num> {
void f<Y extends X>(Y y) {}
diff --git a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline.expect b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline.expect
index 29b47f8..2f01f98 100644
--- a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline.expect
@@ -1,4 +1,4 @@
-// @dart = 2.6
+// @dart = 2.9
class A<X extends num> {
void f<Y extends X>(Y y) {}
}
diff --git a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline_modelled.expect
index 29b47f8..2f01f98 100644
--- a/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/method_tearoff_covariant_generic_type_check_opt_out.dart.textual_outline_modelled.expect
@@ -1,4 +1,4 @@
-// @dart = 2.6
+// @dart = 2.9
class A<X extends num> {
void f<Y extends X>(Y y) {}
}
diff --git a/pkg/front_end/testcases/general/micro.dart b/pkg/front_end/testcases/general/micro.dart
index 483abd29..cfcb2fc 100644
--- a/pkg/front_end/testcases/general/micro.dart
+++ b/pkg/front_end/testcases/general/micro.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
staticMethod() {
return "sdfg";
}
diff --git a/pkg/front_end/testcases/general/micro.dart.textual_outline.expect b/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
index 229392f..1c27a80 100644
--- a/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
staticMethod() {}
class Foo {
diff --git a/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
index 87285db..0ec1840 100644
--- a/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Bar {
ExternalValue externalInstanceMethod();
}
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.expect b/pkg/front_end/testcases/general/micro.dart.weak.expect
index 8bd8f18..bcea300 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.expect
@@ -1,130 +1,60 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method instanceMethod() → dynamic {
return 123;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ExternalValue extends core::Object {
- synthetic constructor •() → self::ExternalValue*
+ synthetic constructor •() → self::ExternalValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method externalInstanceMethod() → self::ExternalValue*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalInstanceMethod() → self::ExternalValue;
}
class Box extends core::Object {
field dynamic field = null;
- synthetic constructor •() → self::Box*
+ synthetic constructor •() → self::Box
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FinalBox extends core::Object {
final field dynamic finalField;
- constructor •(dynamic finalField) → self::FinalBox*
+ constructor •(dynamic finalField) → self::FinalBox
: self::FinalBox::finalField = finalField, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class SubFinalBox extends self::FinalBox {
- constructor •(dynamic value) → self::SubFinalBox*
+ constructor •(dynamic value) → self::SubFinalBox
: super self::FinalBox::•(value)
;
}
class DynamicReceiver1 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver1*
+ synthetic constructor •() → self::DynamicReceiver1
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class DynamicReceiver2 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver2*
+ synthetic constructor •() → self::DynamicReceiver2
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method staticMethod() → dynamic {
return "sdfg";
}
-external static method externalStatic() → core::bool*;
-external static method createBar() → self::Bar*;
+external static method externalStatic() → core::bool;
+external static method createBar() → self::Bar;
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {
@@ -132,20 +62,20 @@
}
static method main() → dynamic {
dynamic x = self::staticMethod();
- dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() →* dynamic};
- core::bool* z = self::externalStatic();
- self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}(){() →* self::ExternalValue*};
+ dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() → dynamic};
+ core::bool z = self::externalStatic();
+ self::ExternalValue w = self::createBar().{self::Bar::externalInstanceMethod}(){() → self::ExternalValue};
self::stringArgument("sdfg");
self::intArgument(42);
- self::Box* box = new self::Box::•();
+ self::Box box = new self::Box::•();
box.{self::Box::field} = "sdfg";
dynamic a = box.{self::Box::field}{dynamic};
- self::FinalBox* finalBox = new self::FinalBox::•("dfg");
+ self::FinalBox finalBox = new self::FinalBox::•("dfg");
dynamic b = finalBox.{self::FinalBox::finalField}{dynamic};
- self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
+ self::SubFinalBox subBox = new self::SubFinalBox::•("dfg");
dynamic c = subBox.{self::FinalBox::finalField}{dynamic};
self::makeDynamicCall(new self::DynamicReceiver1::•());
self::makeDynamicCall(new self::DynamicReceiver2::•());
- core::List<core::String*>* list = <core::String*>["string"];
- core::String* d = list.{core::List::[]}(0){(core::int*) →* core::String*};
+ core::List<core::String> list = <core::String>["string"];
+ core::String d = list.{core::List::[]}(0){(core::int) → core::String};
}
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.modular.expect b/pkg/front_end/testcases/general/micro.dart.weak.modular.expect
index 8bd8f18..bcea300 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.modular.expect
@@ -1,130 +1,60 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method instanceMethod() → dynamic {
return 123;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ExternalValue extends core::Object {
- synthetic constructor •() → self::ExternalValue*
+ synthetic constructor •() → self::ExternalValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method externalInstanceMethod() → self::ExternalValue*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalInstanceMethod() → self::ExternalValue;
}
class Box extends core::Object {
field dynamic field = null;
- synthetic constructor •() → self::Box*
+ synthetic constructor •() → self::Box
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FinalBox extends core::Object {
final field dynamic finalField;
- constructor •(dynamic finalField) → self::FinalBox*
+ constructor •(dynamic finalField) → self::FinalBox
: self::FinalBox::finalField = finalField, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class SubFinalBox extends self::FinalBox {
- constructor •(dynamic value) → self::SubFinalBox*
+ constructor •(dynamic value) → self::SubFinalBox
: super self::FinalBox::•(value)
;
}
class DynamicReceiver1 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver1*
+ synthetic constructor •() → self::DynamicReceiver1
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class DynamicReceiver2 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver2*
+ synthetic constructor •() → self::DynamicReceiver2
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method staticMethod() → dynamic {
return "sdfg";
}
-external static method externalStatic() → core::bool*;
-external static method createBar() → self::Bar*;
+external static method externalStatic() → core::bool;
+external static method createBar() → self::Bar;
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {
@@ -132,20 +62,20 @@
}
static method main() → dynamic {
dynamic x = self::staticMethod();
- dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() →* dynamic};
- core::bool* z = self::externalStatic();
- self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}(){() →* self::ExternalValue*};
+ dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() → dynamic};
+ core::bool z = self::externalStatic();
+ self::ExternalValue w = self::createBar().{self::Bar::externalInstanceMethod}(){() → self::ExternalValue};
self::stringArgument("sdfg");
self::intArgument(42);
- self::Box* box = new self::Box::•();
+ self::Box box = new self::Box::•();
box.{self::Box::field} = "sdfg";
dynamic a = box.{self::Box::field}{dynamic};
- self::FinalBox* finalBox = new self::FinalBox::•("dfg");
+ self::FinalBox finalBox = new self::FinalBox::•("dfg");
dynamic b = finalBox.{self::FinalBox::finalField}{dynamic};
- self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
+ self::SubFinalBox subBox = new self::SubFinalBox::•("dfg");
dynamic c = subBox.{self::FinalBox::finalField}{dynamic};
self::makeDynamicCall(new self::DynamicReceiver1::•());
self::makeDynamicCall(new self::DynamicReceiver2::•());
- core::List<core::String*>* list = <core::String*>["string"];
- core::String* d = list.{core::List::[]}(0){(core::int*) →* core::String*};
+ core::List<core::String> list = <core::String>["string"];
+ core::String d = list.{core::List::[]}(0){(core::int) → core::String};
}
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.outline.expect b/pkg/front_end/testcases/general/micro.dart.weak.outline.expect
index 2d4939b..1741ac7 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.outline.expect
@@ -1,122 +1,52 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
method instanceMethod() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ExternalValue extends core::Object {
- synthetic constructor •() → self::ExternalValue*
+ synthetic constructor •() → self::ExternalValue
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
;
- abstract method externalInstanceMethod() → self::ExternalValue*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalInstanceMethod() → self::ExternalValue;
}
class Box extends core::Object {
field dynamic field;
- synthetic constructor •() → self::Box*
+ synthetic constructor •() → self::Box
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FinalBox extends core::Object {
final field dynamic finalField;
- constructor •(dynamic finalField) → self::FinalBox*
+ constructor •(dynamic finalField) → self::FinalBox
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class SubFinalBox extends self::FinalBox {
- constructor •(dynamic value) → self::SubFinalBox*
+ constructor •(dynamic value) → self::SubFinalBox
;
}
class DynamicReceiver1 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver1*
+ synthetic constructor •() → self::DynamicReceiver1
;
method dynamicallyCalled(dynamic x) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class DynamicReceiver2 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver2*
+ synthetic constructor •() → self::DynamicReceiver2
;
method dynamicallyCalled(dynamic x) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method staticMethod() → dynamic
;
-external static method externalStatic() → core::bool*;
-external static method createBar() → self::Bar*;
+external static method externalStatic() → core::bool;
+external static method createBar() → self::Bar;
static method stringArgument(dynamic x) → dynamic
;
static method intArgument(dynamic x) → dynamic
diff --git a/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect b/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
index 23f0c21..c2aee71 100644
--- a/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
@@ -1,130 +1,60 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Foo extends core::Object {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
method instanceMethod() → dynamic {
return 123;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ExternalValue extends core::Object {
- synthetic constructor •() → self::ExternalValue*
+ synthetic constructor •() → self::ExternalValue
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Bar extends core::Object {
- synthetic constructor •() → self::Bar*
+ synthetic constructor •() → self::Bar
: super core::Object::•()
;
- abstract method externalInstanceMethod() → self::ExternalValue*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method externalInstanceMethod() → self::ExternalValue;
}
class Box extends core::Object {
field dynamic field = null;
- synthetic constructor •() → self::Box*
+ synthetic constructor •() → self::Box
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class FinalBox extends core::Object {
final field dynamic finalField;
- constructor •(dynamic finalField) → self::FinalBox*
+ constructor •(dynamic finalField) → self::FinalBox
: self::FinalBox::finalField = finalField, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class SubFinalBox extends self::FinalBox {
- constructor •(dynamic value) → self::SubFinalBox*
+ constructor •(dynamic value) → self::SubFinalBox
: super self::FinalBox::•(value)
;
}
class DynamicReceiver1 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver1*
+ synthetic constructor •() → self::DynamicReceiver1
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class DynamicReceiver2 extends core::Object {
- synthetic constructor •() → self::DynamicReceiver2*
+ synthetic constructor •() → self::DynamicReceiver2
: super core::Object::•()
;
method dynamicallyCalled(dynamic x) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method staticMethod() → dynamic {
return "sdfg";
}
-external static method externalStatic() → core::bool*;
-external static method createBar() → self::Bar*;
+external static method externalStatic() → core::bool;
+external static method createBar() → self::Bar;
static method stringArgument(dynamic x) → dynamic {}
static method intArgument(dynamic x) → dynamic {}
static method makeDynamicCall(dynamic receiver) → void {
@@ -132,20 +62,20 @@
}
static method main() → dynamic {
dynamic x = self::staticMethod();
- dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() →* dynamic};
- core::bool* z = self::externalStatic();
- self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}(){() →* self::ExternalValue*};
+ dynamic y = new self::Foo::•().{self::Foo::instanceMethod}(){() → dynamic};
+ core::bool z = self::externalStatic();
+ self::ExternalValue w = self::createBar().{self::Bar::externalInstanceMethod}(){() → self::ExternalValue};
self::stringArgument("sdfg");
self::intArgument(42);
- self::Box* box = new self::Box::•();
+ self::Box box = new self::Box::•();
box.{self::Box::field} = "sdfg";
dynamic a = box.{self::Box::field}{dynamic};
- self::FinalBox* finalBox = new self::FinalBox::•("dfg");
+ self::FinalBox finalBox = new self::FinalBox::•("dfg");
dynamic b = finalBox.{self::FinalBox::finalField}{dynamic};
- self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
+ self::SubFinalBox subBox = new self::SubFinalBox::•("dfg");
dynamic c = subBox.{self::FinalBox::finalField}{dynamic};
self::makeDynamicCall(new self::DynamicReceiver1::•());
self::makeDynamicCall(new self::DynamicReceiver2::•());
- core::List<core::String*>* list = core::_GrowableList::_literal1<core::String*>("string");
- core::String* d = list.{core::List::[]}(0){(core::int*) →* core::String*};
+ core::List<core::String> list = core::_GrowableList::_literal1<core::String>("string");
+ core::String d = list.{core::List::[]}(0){(core::int) → core::String};
}
diff --git a/pkg/front_end/testcases/general/minimum_int.dart b/pkg/front_end/testcases/general/minimum_int.dart
index fdba274..4b5a61c 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart
+++ b/pkg/front_end/testcases/general/minimum_int.dart
@@ -1,2 +1 @@
-// @dart=2.9
main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
index 30ce5d2..4b5a61c 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
index 30ce5d2..4b5a61c 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
@@ -1,2 +1 @@
-// @dart = 2.9
main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
index 65f7c38..e9ffb8f 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
@@ -1,6 +1,6 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic
- return core::print(-9223372036854775808.{core::int::unary-}(){() →* core::int*});
+ return core::print(-9223372036854775808.{core::int::unary-}(){() → core::int});
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.modular.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.modular.expect
index 65f7c38..e9ffb8f 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.modular.expect
@@ -1,6 +1,6 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic
- return core::print(-9223372036854775808.{core::int::unary-}(){() →* core::int*});
+ return core::print(-9223372036854775808.{core::int::unary-}(){() → core::int});
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect
index 6a28c0d..e2cba6b 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
index 349fd7e..3fc6ee1 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
@@ -1,11 +1,11 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method main() → dynamic
- return core::print(-9223372036854775808.{core::int::unary-}(){() →* core::int*});
+ return core::print(-9223372036854775808.{core::int::unary-}(){() → core::int});
Extra constant evaluation status:
-Evaluated: InstanceInvocation @ org-dartlang-testcase:///minimum_int.dart:2:17 -> IntConstant(-9223372036854775808)
+Evaluated: InstanceInvocation @ org-dartlang-testcase:///minimum_int.dart:1:17 -> IntConstant(-9223372036854775808)
Extra constant evaluation: evaluated: 2, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart b/pkg/front_end/testcases/general/missing_constructor.dart
index 16bb61f..190d24c 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart
+++ b/pkg/front_end/testcases/general/missing_constructor.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Super {
Super._();
}
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
index a70ca4f5..021aaf9 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Super {
Super._();
}
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
index ebcb150..44085f9 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Bad {
Bad.bar() : this.baz();
Bad.foo() : this();
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.weak.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.expect
index 12e92e5..73616ce 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.weak.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,81 +30,51 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor _() → self::Super*
+ constructor _() → self::Super
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Super {
- constructor •() → self::Sub*
+ constructor •() → self::Sub
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:10:11: Error: Superclass has no constructor named 'Super'.
Sub() : super();
^^^^^"
;
- constructor foo() → self::Sub*
+ constructor foo() → self::Sub
: final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:11:15: Error: Superclass has no constructor named 'Super.foo'.
Sub.foo() : super.foo();
^^^^^"
;
}
class Bad extends core::Object {
- constructor foo() → self::Bad*
+ constructor foo() → self::Bad
: final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:15:15: Error: Couldn't find constructor 'Bad'.
Bad.foo() : this();
^^^^"
;
- constructor bar() → self::Bad*
+ constructor bar() → self::Bad
: final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:16:15: Error: Couldn't find constructor 'Bad.baz'.
Bad.bar() : this.baz();
^^^^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _MixinApplication&Super&M = self::Super with self::M /*isAnonymousMixin*/ {
- synthetic constructor _() → self::_MixinApplication&Super&M*
+ synthetic constructor _() → self::_MixinApplication&Super&M
: super self::Super::_()
;
}
class MixinApplication extends self::_MixinApplication&Super&M {
- constructor •() → self::MixinApplication*
+ constructor •() → self::MixinApplication
: final dynamic #t5 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:22:24: Error: Superclass has no constructor named 'Super'.
MixinApplication() : super();
^^^^^"
;
- constructor foo() → self::MixinApplication*
+ constructor foo() → self::MixinApplication
: final dynamic #t6 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:23:28: Error: Superclass has no constructor named 'Super.foo'.
MixinApplication.foo() : super.foo();
^^^^^"
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.weak.modular.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.modular.expect
index 12e92e5..73616ce 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,81 +30,51 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor _() → self::Super*
+ constructor _() → self::Super
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Super {
- constructor •() → self::Sub*
+ constructor •() → self::Sub
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:10:11: Error: Superclass has no constructor named 'Super'.
Sub() : super();
^^^^^"
;
- constructor foo() → self::Sub*
+ constructor foo() → self::Sub
: final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:11:15: Error: Superclass has no constructor named 'Super.foo'.
Sub.foo() : super.foo();
^^^^^"
;
}
class Bad extends core::Object {
- constructor foo() → self::Bad*
+ constructor foo() → self::Bad
: final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:15:15: Error: Couldn't find constructor 'Bad'.
Bad.foo() : this();
^^^^"
;
- constructor bar() → self::Bad*
+ constructor bar() → self::Bad
: final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:16:15: Error: Couldn't find constructor 'Bad.baz'.
Bad.bar() : this.baz();
^^^^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _MixinApplication&Super&M = self::Super with self::M /*isAnonymousMixin*/ {
- synthetic constructor _() → self::_MixinApplication&Super&M*
+ synthetic constructor _() → self::_MixinApplication&Super&M
: super self::Super::_()
;
}
class MixinApplication extends self::_MixinApplication&Super&M {
- constructor •() → self::MixinApplication*
+ constructor •() → self::MixinApplication
: final dynamic #t5 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:22:24: Error: Superclass has no constructor named 'Super'.
MixinApplication() : super();
^^^^^"
;
- constructor foo() → self::MixinApplication*
+ constructor foo() → self::MixinApplication
: final dynamic #t6 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:23:28: Error: Superclass has no constructor named 'Super.foo'.
MixinApplication.foo() : super.foo();
^^^^^"
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect
index ec0437b..17112b2 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect
@@ -1,66 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Super extends core::Object {
- constructor _() → self::Super*
+ constructor _() → self::Super
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Super {
- constructor •() → self::Sub*
+ constructor •() → self::Sub
;
- constructor foo() → self::Sub*
+ constructor foo() → self::Sub
;
}
class Bad extends core::Object {
- constructor foo() → self::Bad*
+ constructor foo() → self::Bad
;
- constructor bar() → self::Bad*
+ constructor bar() → self::Bad
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _MixinApplication&Super&M = self::Super with self::M /*isAnonymousMixin*/ {
- synthetic constructor _() → self::_MixinApplication&Super&M*
+ synthetic constructor _() → self::_MixinApplication&Super&M
: super self::Super::_()
;
}
class MixinApplication extends self::_MixinApplication&Super&M {
- constructor •() → self::MixinApplication*
+ constructor •() → self::MixinApplication
;
- constructor foo() → self::MixinApplication*
+ constructor foo() → self::MixinApplication
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect
index 5aab9ad..9c91118 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -30,81 +30,51 @@
import "dart:core" as core;
class Super extends core::Object {
- constructor _() → self::Super*
+ constructor _() → self::Super
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Sub extends self::Super {
- constructor •() → self::Sub*
+ constructor •() → self::Sub
: final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:10:11: Error: Superclass has no constructor named 'Super'.
Sub() : super();
^^^^^"
;
- constructor foo() → self::Sub*
+ constructor foo() → self::Sub
: final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:11:15: Error: Superclass has no constructor named 'Super.foo'.
Sub.foo() : super.foo();
^^^^^"
;
}
class Bad extends core::Object {
- constructor foo() → self::Bad*
+ constructor foo() → self::Bad
: final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:15:15: Error: Couldn't find constructor 'Bad'.
Bad.foo() : this();
^^^^"
;
- constructor bar() → self::Bad*
+ constructor bar() → self::Bad
: final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:16:15: Error: Couldn't find constructor 'Bad.baz'.
Bad.bar() : this.baz();
^^^^"
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _MixinApplication&Super&M extends self::Super implements self::M /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor _() → self::_MixinApplication&Super&M*
+ synthetic constructor _() → self::_MixinApplication&Super&M
: super self::Super::_()
;
}
class MixinApplication extends self::_MixinApplication&Super&M {
- constructor •() → self::MixinApplication*
+ constructor •() → self::MixinApplication
: final dynamic #t5 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:22:24: Error: Superclass has no constructor named 'Super'.
MixinApplication() : super();
^^^^^"
;
- constructor foo() → self::MixinApplication*
+ constructor foo() → self::MixinApplication
: final dynamic #t6 = invalid-expression "pkg/front_end/testcases/general/missing_constructor.dart:23:28: Error: Superclass has no constructor named 'Super.foo'.
MixinApplication.foo() : super.foo();
^^^^^"
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart b/pkg/front_end/testcases/general/missing_toplevel.dart
index bf3f72c..cde0887 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart
@@ -1,13 +1,13 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class EmptyClass {}
var emptyClass = new EmptyClass();
class ClassWithProperty {
- EmptyClass property;
+ EmptyClass property = new EmptyClass();
}
var classWithProperty = new ClassWithProperty();
@@ -19,7 +19,7 @@
var classWithIndexSet = new ClassWithIndexSet();
class ClassWithIndexGet {
- int operator [](int index) => 42;
+ int? operator [](int index) => 42;
}
var classWithIndexGet = new ClassWithIndexGet();
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
index bb6e0a8..c12e1ea 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
@@ -1,10 +1,9 @@
-// @dart = 2.9
class EmptyClass {}
var emptyClass = new EmptyClass();
class ClassWithProperty {
- EmptyClass property;
+ EmptyClass property = new EmptyClass();
}
var classWithProperty = new ClassWithProperty();
@@ -16,7 +15,7 @@
var classWithIndexSet = new ClassWithIndexSet();
class ClassWithIndexGet {
- int operator [](int index) => 42;
+ int? operator [](int index) => 42;
}
var classWithIndexGet = new ClassWithIndexGet();
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
index 3541a60..4a2f886 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
@@ -1,6 +1,5 @@
-// @dart = 2.9
class ClassWithIndexGet {
- int operator [](int index) => 42;
+ int? operator [](int index) => 42;
}
class ClassWithIndexSet {
@@ -8,7 +7,7 @@
}
class ClassWithProperty {
- EmptyClass property;
+ EmptyClass property = new EmptyClass();
}
class EmptyClass {}
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
index e4cac82..740b003 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -36,94 +36,54 @@
import "dart:core" as core;
class EmptyClass extends core::Object {
- synthetic constructor •() → self::EmptyClass*
+ synthetic constructor •() → self::EmptyClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithProperty extends core::Object {
- field self::EmptyClass* property = null;
- synthetic constructor •() → self::ClassWithProperty*
+ field self::EmptyClass property = new self::EmptyClass::•();
+ synthetic constructor •() → self::ClassWithProperty
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithIndexSet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexSet*
+ synthetic constructor •() → self::ClassWithIndexSet
: super core::Object::•()
;
- operator []=(core::int* index, core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ operator []=(core::int index, core::int value) → void {}
}
class ClassWithIndexGet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexGet*
+ synthetic constructor •() → self::ClassWithIndexGet
: super core::Object::•()
;
- operator [](core::int* index) → core::int*
+ operator [](core::int index) → core::int?
return 42;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::EmptyClass* emptyClass = new self::EmptyClass::•();
-static field self::ClassWithProperty* classWithProperty = new self::ClassWithProperty::•();
-static field self::ClassWithIndexSet* classWithIndexSet = new self::ClassWithIndexSet::•();
-static field self::ClassWithIndexGet* classWithIndexGet = new self::ClassWithIndexGet::•();
-static field dynamic missingBinary = let final self::ClassWithProperty* #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
+static field self::EmptyClass emptyClass = new self::EmptyClass::•();
+static field self::ClassWithProperty classWithProperty = new self::ClassWithProperty::•();
+static field self::ClassWithIndexSet classWithIndexSet = new self::ClassWithIndexSet::•();
+static field self::ClassWithIndexGet classWithIndexGet = new self::ClassWithIndexGet::•();
+static field dynamic missingBinary = let final self::ClassWithProperty #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '+' operator.
var missingBinary = classWithProperty.property += 2;
- ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass*}{<unresolved>}.+(2) as{TypeError,ForDynamic} self::EmptyClass*;
-static field dynamic missingIndexGet = let final self::ClassWithIndexSet* #t2 = self::classWithIndexSet in let final core::int* #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
+ ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass}{<unresolved>}.+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} self::EmptyClass;
+static field dynamic missingIndexGet = let final self::ClassWithIndexSet #t2 = self::classWithIndexSet in let final core::int #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
- 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
var missingIndexGet = classWithIndexSet[0] ??= 2;
- ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int*, core::int*) →* void} in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int*) →* core::int*} in #t9 == null ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
+ ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int, core::int) → void} in #t5 : #t4;
+static field core::int missingIndexSet = let final self::ClassWithIndexGet #t7 = self::classWithIndexGet in let final core::int #t8 = 0 in let final core::int? #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int) → core::int?} in #t9 == null ?{core::int} let final core::int #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
var missingIndexSet = classWithIndexGet[0] ??= 2;
- ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9;
+ ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9{core::int};
static field dynamic missingPropertyGet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:30:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
var missingPropertyGet = emptyClass.property;
^^^^^^^^" in self::emptyClass{<unresolved>}.property;
-static field core::int* missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
+static field core::int missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
var missingPropertySet = emptyClass.property = 42;
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.modular.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.modular.expect
index e4cac82..740b003 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -36,94 +36,54 @@
import "dart:core" as core;
class EmptyClass extends core::Object {
- synthetic constructor •() → self::EmptyClass*
+ synthetic constructor •() → self::EmptyClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithProperty extends core::Object {
- field self::EmptyClass* property = null;
- synthetic constructor •() → self::ClassWithProperty*
+ field self::EmptyClass property = new self::EmptyClass::•();
+ synthetic constructor •() → self::ClassWithProperty
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithIndexSet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexSet*
+ synthetic constructor •() → self::ClassWithIndexSet
: super core::Object::•()
;
- operator []=(core::int* index, core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ operator []=(core::int index, core::int value) → void {}
}
class ClassWithIndexGet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexGet*
+ synthetic constructor •() → self::ClassWithIndexGet
: super core::Object::•()
;
- operator [](core::int* index) → core::int*
+ operator [](core::int index) → core::int?
return 42;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::EmptyClass* emptyClass = new self::EmptyClass::•();
-static field self::ClassWithProperty* classWithProperty = new self::ClassWithProperty::•();
-static field self::ClassWithIndexSet* classWithIndexSet = new self::ClassWithIndexSet::•();
-static field self::ClassWithIndexGet* classWithIndexGet = new self::ClassWithIndexGet::•();
-static field dynamic missingBinary = let final self::ClassWithProperty* #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
+static field self::EmptyClass emptyClass = new self::EmptyClass::•();
+static field self::ClassWithProperty classWithProperty = new self::ClassWithProperty::•();
+static field self::ClassWithIndexSet classWithIndexSet = new self::ClassWithIndexSet::•();
+static field self::ClassWithIndexGet classWithIndexGet = new self::ClassWithIndexGet::•();
+static field dynamic missingBinary = let final self::ClassWithProperty #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '+' operator.
var missingBinary = classWithProperty.property += 2;
- ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass*}{<unresolved>}.+(2) as{TypeError,ForDynamic} self::EmptyClass*;
-static field dynamic missingIndexGet = let final self::ClassWithIndexSet* #t2 = self::classWithIndexSet in let final core::int* #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
+ ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass}{<unresolved>}.+(2) as{TypeError,ForDynamic,ForNonNullableByDefault} self::EmptyClass;
+static field dynamic missingIndexGet = let final self::ClassWithIndexSet #t2 = self::classWithIndexSet in let final core::int #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
- 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
var missingIndexGet = classWithIndexSet[0] ??= 2;
- ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int*, core::int*) →* void} in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int*) →* core::int*} in #t9 == null ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
+ ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int, core::int) → void} in #t5 : #t4;
+static field core::int missingIndexSet = let final self::ClassWithIndexGet #t7 = self::classWithIndexGet in let final core::int #t8 = 0 in let final core::int? #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int) → core::int?} in #t9 == null ?{core::int} let final core::int #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
var missingIndexSet = classWithIndexGet[0] ??= 2;
- ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9;
+ ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9{core::int};
static field dynamic missingPropertyGet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:30:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
var missingPropertyGet = emptyClass.property;
^^^^^^^^" in self::emptyClass{<unresolved>}.property;
-static field core::int* missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
+static field core::int missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
var missingPropertySet = emptyClass.property = 42;
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect
index b92887e..da89361 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect
@@ -1,76 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class EmptyClass extends core::Object {
- synthetic constructor •() → self::EmptyClass*
+ synthetic constructor •() → self::EmptyClass
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithProperty extends core::Object {
- field self::EmptyClass* property;
- synthetic constructor •() → self::ClassWithProperty*
+ field self::EmptyClass property;
+ synthetic constructor •() → self::ClassWithProperty
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithIndexSet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexSet*
+ synthetic constructor •() → self::ClassWithIndexSet
;
- operator []=(core::int* index, core::int* value) → void
+ operator []=(core::int index, core::int value) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithIndexGet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexGet*
+ synthetic constructor •() → self::ClassWithIndexGet
;
- operator [](core::int* index) → core::int*
+ operator [](core::int index) → core::int?
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::EmptyClass* emptyClass;
-static field self::ClassWithProperty* classWithProperty;
-static field self::ClassWithIndexSet* classWithIndexSet;
-static field self::ClassWithIndexGet* classWithIndexGet;
+static field self::EmptyClass emptyClass;
+static field self::ClassWithProperty classWithProperty;
+static field self::ClassWithIndexSet classWithIndexSet;
+static field self::ClassWithIndexGet classWithIndexGet;
static field dynamic missingBinary;
static field dynamic missingIndexGet;
-static field core::int* missingIndexSet;
+static field core::int missingIndexSet;
static field dynamic missingPropertyGet;
-static field core::int* missingPropertySet;
+static field core::int missingPropertySet;
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
index 92a8aa8..c5135f9 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -36,94 +36,54 @@
import "dart:core" as core;
class EmptyClass extends core::Object {
- synthetic constructor •() → self::EmptyClass*
+ synthetic constructor •() → self::EmptyClass
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithProperty extends core::Object {
- field self::EmptyClass* property = null;
- synthetic constructor •() → self::ClassWithProperty*
+ field self::EmptyClass property = new self::EmptyClass::•();
+ synthetic constructor •() → self::ClassWithProperty
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class ClassWithIndexSet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexSet*
+ synthetic constructor •() → self::ClassWithIndexSet
: super core::Object::•()
;
- operator []=(core::int* index, core::int* value) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ operator []=(core::int index, core::int value) → void {}
}
class ClassWithIndexGet extends core::Object {
- synthetic constructor •() → self::ClassWithIndexGet*
+ synthetic constructor •() → self::ClassWithIndexGet
: super core::Object::•()
;
- operator [](core::int* index) → core::int*
+ operator [](core::int index) → core::int?
return 42;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static field self::EmptyClass* emptyClass = new self::EmptyClass::•();
-static field self::ClassWithProperty* classWithProperty = new self::ClassWithProperty::•();
-static field self::ClassWithIndexSet* classWithIndexSet = new self::ClassWithIndexSet::•();
-static field self::ClassWithIndexGet* classWithIndexGet = new self::ClassWithIndexGet::•();
-static field dynamic missingBinary = let final self::ClassWithProperty* #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
+static field self::EmptyClass emptyClass = new self::EmptyClass::•();
+static field self::ClassWithProperty classWithProperty = new self::ClassWithProperty::•();
+static field self::ClassWithIndexSet classWithIndexSet = new self::ClassWithIndexSet::•();
+static field self::ClassWithIndexGet classWithIndexGet = new self::ClassWithIndexGet::•();
+static field dynamic missingBinary = let final self::ClassWithProperty #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:27:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '+' operator.
var missingBinary = classWithProperty.property += 2;
- ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass*}{<unresolved>}.+(2);
-static field dynamic missingIndexGet = let final self::ClassWithIndexSet* #t2 = self::classWithIndexSet in let final core::int* #t3 = 0 in let final invalid-type #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
+ ^" in #t1.{self::ClassWithProperty::property}{self::EmptyClass}{<unresolved>}.+(2);
+static field dynamic missingIndexGet = let final self::ClassWithIndexSet #t2 = self::classWithIndexSet in let final core::int #t3 = 0 in let final invalid-type #t4 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:28:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
- 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]' operator.
var missingIndexGet = classWithIndexSet[0] ??= 2;
- ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int*, core::int*) →* void} in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int*) →* core::int*} in #t9 == null ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
+ ^" in #t2{<unresolved>}.[](#t3) in #t4 == null ?{dynamic} let final core::int #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5){(core::int, core::int) → void} in #t5 : #t4;
+static field core::int missingIndexSet = let final self::ClassWithIndexGet #t7 = self::classWithIndexGet in let final core::int #t8 = 0 in let final core::int? #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8){(core::int) → core::int?} in #t9 == null ?{core::int} let final core::int #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:29:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the operator to an existing operator, or defining a '[]=' operator.
var missingIndexSet = classWithIndexGet[0] ??= 2;
- ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9;
+ ^" in #t7{<unresolved>}.[]=(#t8, #t10) in #t10 : #t9{core::int};
static field dynamic missingPropertyGet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:30:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
var missingPropertyGet = emptyClass.property;
^^^^^^^^" in self::emptyClass{<unresolved>}.property;
-static field core::int* missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
+static field core::int missingPropertySet = invalid-expression "pkg/front_end/testcases/general/missing_toplevel.dart:31:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
- 'EmptyClass' is from 'pkg/front_end/testcases/general/missing_toplevel.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
var missingPropertySet = emptyClass.property = 42;
@@ -137,4 +97,4 @@
Evaluated: VariableGet @ org-dartlang-testcase:///missing_toplevel.dart:28:48 -> IntConstant(2)
Evaluated: VariableGet @ org-dartlang-testcase:///missing_toplevel.dart:29:41 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///missing_toplevel.dart:29:48 -> IntConstant(2)
-Extra constant evaluation: evaluated: 37, effectively constant: 5
+Extra constant evaluation: evaluated: 38, effectively constant: 5
diff --git a/pkg/front_end/testcases/general/mixin.dart b/pkg/front_end/testcases/general/mixin.dart
index 4d44070..833d32a 100644
--- a/pkg/front_end/testcases/general/mixin.dart
+++ b/pkg/front_end/testcases/general/mixin.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class B extends Object with M1, M2 {
B(value);
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
index 6403bda..74bf0c0 100644
--- a/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class B extends Object with M1, M2 {
B(value);
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
index 2202aec..4fd20a5 100644
--- a/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class G1<T> {
m() => print(T);
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.expect b/pkg/front_end/testcases/general/mixin.dart.weak.expect
index 9ec9ad2d..1c3e0d3 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.expect
@@ -1,142 +1,82 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _B&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1*
+ const synthetic constructor •() → self::_B&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1&M2*
+ const synthetic constructor •() → self::_B&Object&M1&M2
: super self::_B&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class B extends self::_B&Object&M1&M2 {
- constructor •(dynamic value) → self::B*
+ constructor •(dynamic value) → self::B
: super self::_B&Object&M1&M2::•()
;
}
abstract class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
method m() → dynamic
return core::print("M1");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method m() → dynamic
return core::print("M2");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class C extends self::_C&Object&M1&M2 {
- constructor •(dynamic value) → self::C*
+ constructor •(dynamic value) → self::C
: super self::_C&Object&M1&M2::•()
;
}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::G1<self::G1::T*>*
+abstract class G1<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::G1<self::G1::T%>
: super core::Object::•()
;
method m() → dynamic
- return core::print(self::G1::T*);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return core::print(self::G1::T%);
}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
+abstract class _D&Object&G1<S extends core::Object? = dynamic> = core::Object with self::G1<self::_D&Object&G1::S%> /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S%>
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::G1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
- synthetic constructor •() → self::D<self::D::S*>*
+class D<S extends core::Object? = dynamic> extends self::_D&Object&G1<self::D::S%> {
+ synthetic constructor •() → self::D<self::D::S%>
: super self::_D&Object&G1::•()
;
}
static method main() → dynamic {
- new self::B::•(null).{self::_B&Object&M1&M2::m}(){() →* dynamic};
- new self::C::•(null).{self::_C&Object&M1&M2::m}(){() →* dynamic};
- new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::int*>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::B::•(null).{self::_B&Object&M1&M2::m}(){() → dynamic};
+ new self::C::•(null).{self::_C&Object&M1&M2::m}(){() → dynamic};
+ new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::int>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::List<core::int>>().{self::_D&Object&G1::m}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin.dart.weak.modular.expect
index 9ec9ad2d..1c3e0d3 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.modular.expect
@@ -1,142 +1,82 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _B&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1*
+ const synthetic constructor •() → self::_B&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1&M2*
+ const synthetic constructor •() → self::_B&Object&M1&M2
: super self::_B&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class B extends self::_B&Object&M1&M2 {
- constructor •(dynamic value) → self::B*
+ constructor •(dynamic value) → self::B
: super self::_B&Object&M1&M2::•()
;
}
abstract class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
method m() → dynamic
return core::print("M1");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method m() → dynamic
return core::print("M2");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class C extends self::_C&Object&M1&M2 {
- constructor •(dynamic value) → self::C*
+ constructor •(dynamic value) → self::C
: super self::_C&Object&M1&M2::•()
;
}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::G1<self::G1::T*>*
+abstract class G1<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::G1<self::G1::T%>
: super core::Object::•()
;
method m() → dynamic
- return core::print(self::G1::T*);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return core::print(self::G1::T%);
}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
+abstract class _D&Object&G1<S extends core::Object? = dynamic> = core::Object with self::G1<self::_D&Object&G1::S%> /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S%>
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::G1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
- synthetic constructor •() → self::D<self::D::S*>*
+class D<S extends core::Object? = dynamic> extends self::_D&Object&G1<self::D::S%> {
+ synthetic constructor •() → self::D<self::D::S%>
: super self::_D&Object&G1::•()
;
}
static method main() → dynamic {
- new self::B::•(null).{self::_B&Object&M1&M2::m}(){() →* dynamic};
- new self::C::•(null).{self::_C&Object&M1&M2::m}(){() →* dynamic};
- new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::int*>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::B::•(null).{self::_B&Object&M1&M2::m}(){() → dynamic};
+ new self::C::•(null).{self::_C&Object&M1&M2::m}(){() → dynamic};
+ new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::int>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::List<core::int>>().{self::_D&Object&G1::m}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin.dart.weak.outline.expect
index e09c2b0..4259774 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.outline.expect
@@ -1,130 +1,70 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _B&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1*
+ const synthetic constructor •() → self::_B&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1&M2*
+ const synthetic constructor •() → self::_B&Object&M1&M2
: super self::_B&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class B extends self::_B&Object&M1&M2 {
- constructor •(dynamic value) → self::B*
+ constructor •(dynamic value) → self::B
;
}
abstract class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
;
method m() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
;
method m() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
mixin-super-stub method m() → dynamic
return super.{self::M2::m}();
}
class C extends self::_C&Object&M1&M2 {
- constructor •(dynamic value) → self::C*
+ constructor •(dynamic value) → self::C
;
}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::G1<self::G1::T*>*
+abstract class G1<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::G1<self::G1::T%>
;
method m() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
+abstract class _D&Object&G1<S extends core::Object? = dynamic> = core::Object with self::G1<self::_D&Object&G1::S%> /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S%>
: super core::Object::•()
;
mixin-super-stub method m() → dynamic
return super.{self::G1::m}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
- synthetic constructor •() → self::D<self::D::S*>*
+class D<S extends core::Object? = dynamic> extends self::_D&Object&G1<self::D::S%> {
+ synthetic constructor •() → self::D<self::D::S%>
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
index fe35f14..8541d2b 100644
--- a/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
@@ -1,142 +1,82 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _B&Object&M1 extends core::Object implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1*
+ const synthetic constructor •() → self::_B&Object&M1
: super core::Object::•()
;
method m() → dynamic
return core::print("M1");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _B&Object&M1&M2 extends self::_B&Object&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_B&Object&M1&M2*
+ const synthetic constructor •() → self::_B&Object&M1&M2
: super self::_B&Object&M1::•()
;
method m() → dynamic
return core::print("M2");
}
class B extends self::_B&Object&M1&M2 {
- constructor •(dynamic value) → self::B*
+ constructor •(dynamic value) → self::B
: super self::_B&Object&M1&M2::•()
;
}
abstract class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
method m() → dynamic
return core::print("M1");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method m() → dynamic
return core::print("M2");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1 extends core::Object implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
method m() → dynamic
return core::print("M1");
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 extends self::_C&Object&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
method m() → dynamic
return core::print("M2");
}
class C extends self::_C&Object&M1&M2 {
- constructor •(dynamic value) → self::C*
+ constructor •(dynamic value) → self::C
: super self::_C&Object&M1&M2::•()
;
}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → self::G1<self::G1::T*>*
+abstract class G1<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::G1<self::G1::T%>
: super core::Object::•()
;
method m() → dynamic
- return core::print(self::G1::T*);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return core::print(self::G1::T%);
}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> extends core::Object implements self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
+abstract class _D&Object&G1<S extends core::Object? = dynamic> extends core::Object implements self::G1<self::_D&Object&G1::S%> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S%>
: super core::Object::•()
;
method m() → dynamic
- return core::print(self::_D&Object&G1::S*);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return core::print(self::_D&Object&G1::S%);
}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
- synthetic constructor •() → self::D<self::D::S*>*
+class D<S extends core::Object? = dynamic> extends self::_D&Object&G1<self::D::S%> {
+ synthetic constructor •() → self::D<self::D::S%>
: super self::_D&Object&G1::•()
;
}
static method main() → dynamic {
- new self::B::•(null).{self::_B&Object&M1&M2::m}(){() →* dynamic};
- new self::C::•(null).{self::_C&Object&M1&M2::m}(){() →* dynamic};
- new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::int*>().{self::_D&Object&G1::m}(){() →* dynamic};
- new self::D::•<core::List<core::int*>*>().{self::_D&Object&G1::m}(){() →* dynamic};
+ new self::B::•(null).{self::_B&Object&M1&M2::m}(){() → dynamic};
+ new self::C::•(null).{self::_C&Object&M1&M2::m}(){() → dynamic};
+ new self::D::•<dynamic>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::int>().{self::_D&Object&G1::m}(){() → dynamic};
+ new self::D::•<core::List<core::int>>().{self::_D&Object&G1::m}(){() → dynamic};
}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
index 838b2ea..ae79ed2 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Mixin {}
class Super {
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
index 1304dc7..ee10660 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Mixin {}
class Super {
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
index 9e5b6b3..44e6390 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Class = Super with Mixin;
class Mixin {}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect
index c6579d8..0457c7e 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,38 +10,18 @@
import "dart:core" as core;
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Super extends core::Object {
- field core::int* field = 42;
- constructor •(core::int* field) → self::Super*
+ field core::int field = 42;
+ constructor •(core::int field) → self::Super
: self::Super::field = field, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class = self::Super with self::Mixin {
- synthetic constructor •(core::int* field) → self::Class*
+ synthetic constructor •(core::int field) → self::Class
: super self::Super::•(field)
;
}
@@ -51,5 +31,5 @@
static method error() → dynamic {
new self::Class::•(invalid-expression "pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart:20:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
new Class('');
- ^" in "" as{TypeError} core::int*);
+ ^" in "" as{TypeError,ForNonNullableByDefault} core::int);
}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.modular.expect
index c6579d8..0457c7e 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,38 +10,18 @@
import "dart:core" as core;
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Super extends core::Object {
- field core::int* field = 42;
- constructor •(core::int* field) → self::Super*
+ field core::int field = 42;
+ constructor •(core::int field) → self::Super
: self::Super::field = field, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class = self::Super with self::Mixin {
- synthetic constructor •(core::int* field) → self::Class*
+ synthetic constructor •(core::int field) → self::Class
: super self::Super::•(field)
;
}
@@ -51,5 +31,5 @@
static method error() → dynamic {
new self::Class::•(invalid-expression "pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart:20:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
new Class('');
- ^" in "" as{TypeError} core::int*);
+ ^" in "" as{TypeError,ForNonNullableByDefault} core::int);
}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect
index 1a998b0..190974c 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect
@@ -1,38 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Super extends core::Object {
- field core::int* field;
- constructor •(core::int* field) → self::Super*
+ field core::int field;
+ constructor •(core::int field) → self::Super
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class = self::Super with self::Mixin {
- synthetic constructor •(core::int* field) → self::Class*
+ synthetic constructor •(core::int field) → self::Class
: super self::Super::•(field)
;
}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect
index f060c5f..a5d18f6 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -10,38 +10,18 @@
import "dart:core" as core;
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Super extends core::Object {
- field core::int* field = 42;
- constructor •(core::int* field) → self::Super*
+ field core::int field = 42;
+ constructor •(core::int field) → self::Super
: self::Super::field = field, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Class extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
- synthetic constructor •(core::int* field) → self::Class*
+ synthetic constructor •(core::int field) → self::Class
: super self::Super::•(field)
;
}
@@ -51,5 +31,5 @@
static method error() → dynamic {
new self::Class::•(invalid-expression "pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart:20:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
new Class('');
- ^" in "" as{TypeError} core::int*);
+ ^" in "" as{TypeError,ForNonNullableByDefault} core::int);
}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart b/pkg/front_end/testcases/general/mixin_application_lub.dart
index 52ff709..e3c7ef8 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
class Diagnosticable {}
// Originally the existence of this (unused) class (which has an anonymous mixin
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart b/pkg/front_end/testcases/general/mixin_application_lub_2.dart
new file mode 100644
index 0000000..a8fb6a5
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class Diagnosticable {}
+
+// Originally the existence of this (unused) class (which has an anonymous mixin
+// that matches that of `State<T>`) caused an error in the VM's mixin
+// deduplication code. This was due to the inferred type for `var x = a ?? b`
+// was the anonymous mixin application that got removed during deduplication.
+//
+// See https://github.com/flutter/flutter/issues/55345
+class SomeClass with Diagnosticable {}
+
+class State<T> with Diagnosticable {}
+
+class StateA extends State {}
+
+class StateB extends State<int> {}
+
+StateA? a = StateA();
+StateB b = StateB();
+
+foo<T>(T x) {
+ print(T);
+}
+
+main() {
+ var x = a ?? b;
+ foo(x);
+}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline.expect
new file mode 100644
index 0000000..098847f
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline.expect
@@ -0,0 +1,14 @@
+class Diagnosticable {}
+
+class SomeClass with Diagnosticable {}
+
+class State<T> with Diagnosticable {}
+
+class StateA extends State {}
+
+class StateB extends State<int> {}
+
+StateA? a = StateA();
+StateB b = StateB();
+foo<T>(T x) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..af624a8
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.textual_outline_modelled.expect
@@ -0,0 +1,15 @@
+StateA? a = StateA();
+StateB b = StateB();
+
+class Diagnosticable {}
+
+class SomeClass with Diagnosticable {}
+
+class State<T> with Diagnosticable {}
+
+class StateA extends State {}
+
+class StateB extends State<int> {}
+
+foo<T>(T x) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.expect
new file mode 100644
index 0000000..2ded7f4
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Diagnosticable extends core::Object {
+ synthetic constructor •() → self::Diagnosticable
+ : super core::Object::•()
+ ;
+}
+abstract class _SomeClass&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_SomeClass&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class SomeClass extends self::_SomeClass&Object&Diagnosticable {
+ synthetic constructor •() → self::SomeClass
+ : super self::_SomeClass&Object&Diagnosticable::•()
+ ;
+}
+abstract class _State&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_State&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class State<T extends core::Object? = dynamic> extends self::_State&Object&Diagnosticable {
+ synthetic constructor •() → self::State<self::State::T%>
+ : super self::_State&Object&Diagnosticable::•()
+ ;
+}
+class StateA extends self::State<dynamic> {
+ synthetic constructor •() → self::StateA
+ : super self::State::•()
+ ;
+}
+class StateB extends self::State<core::int> {
+ synthetic constructor •() → self::StateB
+ : super self::State::•()
+ ;
+}
+static field self::StateA? a = new self::StateA::•();
+static field self::StateB b = new self::StateB::•();
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → dynamic {
+ core::print(self::foo::T%);
+}
+static method main() → dynamic {
+ self::Diagnosticable x = let final self::StateA? #t1 = self::a in #t1 == null ?{self::Diagnosticable} self::b : #t1{self::StateA};
+ self::foo<self::Diagnosticable>(x);
+}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.modular.expect
new file mode 100644
index 0000000..2ded7f4
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.modular.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Diagnosticable extends core::Object {
+ synthetic constructor •() → self::Diagnosticable
+ : super core::Object::•()
+ ;
+}
+abstract class _SomeClass&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_SomeClass&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class SomeClass extends self::_SomeClass&Object&Diagnosticable {
+ synthetic constructor •() → self::SomeClass
+ : super self::_SomeClass&Object&Diagnosticable::•()
+ ;
+}
+abstract class _State&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_State&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class State<T extends core::Object? = dynamic> extends self::_State&Object&Diagnosticable {
+ synthetic constructor •() → self::State<self::State::T%>
+ : super self::_State&Object&Diagnosticable::•()
+ ;
+}
+class StateA extends self::State<dynamic> {
+ synthetic constructor •() → self::StateA
+ : super self::State::•()
+ ;
+}
+class StateB extends self::State<core::int> {
+ synthetic constructor •() → self::StateB
+ : super self::State::•()
+ ;
+}
+static field self::StateA? a = new self::StateA::•();
+static field self::StateB b = new self::StateB::•();
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → dynamic {
+ core::print(self::foo::T%);
+}
+static method main() → dynamic {
+ self::Diagnosticable x = let final self::StateA? #t1 = self::a in #t1 == null ?{self::Diagnosticable} self::b : #t1{self::StateA};
+ self::foo<self::Diagnosticable>(x);
+}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.outline.expect
new file mode 100644
index 0000000..86ec65e
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.outline.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Diagnosticable extends core::Object {
+ synthetic constructor •() → self::Diagnosticable
+ ;
+}
+abstract class _SomeClass&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_SomeClass&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class SomeClass extends self::_SomeClass&Object&Diagnosticable {
+ synthetic constructor •() → self::SomeClass
+ ;
+}
+abstract class _State&Object&Diagnosticable = core::Object with self::Diagnosticable /*isAnonymousMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_State&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class State<T extends core::Object? = dynamic> extends self::_State&Object&Diagnosticable {
+ synthetic constructor •() → self::State<self::State::T%>
+ ;
+}
+class StateA extends self::State<dynamic> {
+ synthetic constructor •() → self::StateA
+ ;
+}
+class StateB extends self::State<core::int> {
+ synthetic constructor •() → self::StateB
+ ;
+}
+static field self::StateA? a;
+static field self::StateB b;
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..30ac36f
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_application_lub_2.dart.weak.transformed.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Diagnosticable extends core::Object {
+ synthetic constructor •() → self::Diagnosticable
+ : super core::Object::•()
+ ;
+}
+abstract class _SomeClass&Object&Diagnosticable extends core::Object implements self::Diagnosticable /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_SomeClass&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class SomeClass extends self::_SomeClass&Object&Diagnosticable {
+ synthetic constructor •() → self::SomeClass
+ : super self::_SomeClass&Object&Diagnosticable::•()
+ ;
+}
+abstract class _State&Object&Diagnosticable extends core::Object implements self::Diagnosticable /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
+ const synthetic constructor •() → self::_State&Object&Diagnosticable
+ : super core::Object::•()
+ ;
+}
+class State<T extends core::Object? = dynamic> extends self::_State&Object&Diagnosticable {
+ synthetic constructor •() → self::State<self::State::T%>
+ : super self::_State&Object&Diagnosticable::•()
+ ;
+}
+class StateA extends self::State<dynamic> {
+ synthetic constructor •() → self::StateA
+ : super self::State::•()
+ ;
+}
+class StateB extends self::State<core::int> {
+ synthetic constructor •() → self::StateB
+ : super self::State::•()
+ ;
+}
+static field self::StateA? a = new self::StateA::•();
+static field self::StateB b = new self::StateB::•();
+static method foo<T extends core::Object? = dynamic>(self::foo::T% x) → dynamic {
+ core::print(self::foo::T%);
+}
+static method main() → dynamic {
+ self::Diagnosticable x = let final self::StateA? #t1 = self::a in #t1 == null ?{self::Diagnosticable} self::b : #t1{self::StateA};
+ self::foo<self::Diagnosticable>(x);
+}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart b/pkg/front_end/testcases/general/mixin_application_override.dart
index adfdcab..30b4f19 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// Test error messages for invalid override in a mixin application.
class S {
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
index 0e11e73..ee4aef8 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class S {
foo([x]) {}
}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
index 7875500..6187ae6 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A0 = S with M;
class A0X = S with M, MX;
class A1 = S with M1, M;
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect
index 56cdffa..7d32765 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -126,283 +126,233 @@
import "dart:core" as core;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
method foo([dynamic x = #C1]) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class MX extends core::Object {
- synthetic constructor •() → self::MX*
+ synthetic constructor •() → self::MX
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A0 = self::S with self::M {
- synthetic constructor •() → self::A0*
+ synthetic constructor •() → self::A0
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1&S&M1*
+ synthetic constructor •() → self::_A1&S&M1
: super self::S::•()
;
}
class A1 = self::_A1&S&M1 with self::M {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1*
+ synthetic constructor •() → self::_A2&S&M1
: super self::S::•()
;
}
abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1&M2*
+ synthetic constructor •() → self::_A2&S&M1&M2
: super self::_A2&S&M1::•()
;
}
class A2 = self::_A2&S&M1&M2 with self::M {
- synthetic constructor •() → self::A2*
+ synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A0X&S&M*
+ synthetic constructor •() → self::_A0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A0X = self::_A0X&S&M with self::MX {
- synthetic constructor •() → self::A0X*
+ synthetic constructor •() → self::A0X
: super self::_A0X&S&M::•()
;
}
abstract class _A1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1*
+ synthetic constructor •() → self::_A1X&S&M1
: super self::S::•()
;
}
abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1&M*
+ synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A1X = self::_A1X&S&M1&M with self::MX {
- synthetic constructor •() → self::A1X*
+ synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
}
abstract class _A2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1*
+ synthetic constructor •() → self::_A2X&S&M1
: super self::S::•()
;
}
abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2*
+ synthetic constructor •() → self::_A2X&S&M1&M2
: super self::_A2X&S&M1::•()
;
}
abstract class _A2X&S&M1&M2&M = self::_A2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2&M*
+ synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A2X = self::_A2X&S&M1&M2&M with self::MX {
- synthetic constructor •() → self::A2X*
+ synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
}
abstract class _B0&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0&S&M*
+ synthetic constructor •() → self::_B0&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B0 extends self::_B0&S&M {
- synthetic constructor •() → self::B0*
+ synthetic constructor •() → self::B0
: super self::_B0&S&M::•()
;
}
abstract class _B1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1*
+ synthetic constructor •() → self::_B1&S&M1
: super self::S::•()
;
}
abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1&M*
+ synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B1 extends self::_B1&S&M1&M {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
: super self::_B1&S&M1&M::•()
;
}
abstract class _B2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1*
+ synthetic constructor •() → self::_B2&S&M1
: super self::S::•()
;
}
abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2*
+ synthetic constructor •() → self::_B2&S&M1&M2
: super self::_B2&S&M1::•()
;
}
abstract class _B2&S&M1&M2&M = self::_B2&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2&M*
+ synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B2 extends self::_B2&S&M1&M2&M {
- synthetic constructor •() → self::B2*
+ synthetic constructor •() → self::B2
: super self::_B2&S&M1&M2&M::•()
;
}
abstract class _B0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M*
+ synthetic constructor •() → self::_B0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M&MX*
+ synthetic constructor •() → self::_B0X&S&M&MX
: super self::_B0X&S&M::•()
;
}
class B0X extends self::_B0X&S&M&MX {
- synthetic constructor •() → self::B0X*
+ synthetic constructor •() → self::B0X
: super self::_B0X&S&M&MX::•()
;
}
abstract class _B1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1*
+ synthetic constructor •() → self::_B1X&S&M1
: super self::S::•()
;
}
abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M*
+ synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M&MX*
+ synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
}
class B1X extends self::_B1X&S&M1&M&MX {
- synthetic constructor •() → self::B1X*
+ synthetic constructor •() → self::B1X
: super self::_B1X&S&M1&M&MX::•()
;
}
abstract class _B2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1*
+ synthetic constructor •() → self::_B2X&S&M1
: super self::S::•()
;
}
abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2*
+ synthetic constructor •() → self::_B2X&S&M1&M2
: super self::_B2X&S&M1::•()
;
}
abstract class _B2X&S&M1&M2&M = self::_B2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M&MX*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
- synthetic constructor •() → self::B2X*
+ synthetic constructor •() → self::B2X
: super self::_B2X&S&M1&M2&M&MX::•()
;
}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.modular.expect
index 56cdffa..7d32765 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -126,283 +126,233 @@
import "dart:core" as core;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
method foo([dynamic x = #C1]) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class MX extends core::Object {
- synthetic constructor •() → self::MX*
+ synthetic constructor •() → self::MX
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A0 = self::S with self::M {
- synthetic constructor •() → self::A0*
+ synthetic constructor •() → self::A0
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1&S&M1*
+ synthetic constructor •() → self::_A1&S&M1
: super self::S::•()
;
}
class A1 = self::_A1&S&M1 with self::M {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1*
+ synthetic constructor •() → self::_A2&S&M1
: super self::S::•()
;
}
abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1&M2*
+ synthetic constructor •() → self::_A2&S&M1&M2
: super self::_A2&S&M1::•()
;
}
class A2 = self::_A2&S&M1&M2 with self::M {
- synthetic constructor •() → self::A2*
+ synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A0X&S&M*
+ synthetic constructor •() → self::_A0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A0X = self::_A0X&S&M with self::MX {
- synthetic constructor •() → self::A0X*
+ synthetic constructor •() → self::A0X
: super self::_A0X&S&M::•()
;
}
abstract class _A1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1*
+ synthetic constructor •() → self::_A1X&S&M1
: super self::S::•()
;
}
abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1&M*
+ synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A1X = self::_A1X&S&M1&M with self::MX {
- synthetic constructor •() → self::A1X*
+ synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
}
abstract class _A2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1*
+ synthetic constructor •() → self::_A2X&S&M1
: super self::S::•()
;
}
abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2*
+ synthetic constructor •() → self::_A2X&S&M1&M2
: super self::_A2X&S&M1::•()
;
}
abstract class _A2X&S&M1&M2&M = self::_A2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2&M*
+ synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A2X = self::_A2X&S&M1&M2&M with self::MX {
- synthetic constructor •() → self::A2X*
+ synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
}
abstract class _B0&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0&S&M*
+ synthetic constructor •() → self::_B0&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B0 extends self::_B0&S&M {
- synthetic constructor •() → self::B0*
+ synthetic constructor •() → self::B0
: super self::_B0&S&M::•()
;
}
abstract class _B1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1*
+ synthetic constructor •() → self::_B1&S&M1
: super self::S::•()
;
}
abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1&M*
+ synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B1 extends self::_B1&S&M1&M {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
: super self::_B1&S&M1&M::•()
;
}
abstract class _B2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1*
+ synthetic constructor •() → self::_B2&S&M1
: super self::S::•()
;
}
abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2*
+ synthetic constructor •() → self::_B2&S&M1&M2
: super self::_B2&S&M1::•()
;
}
abstract class _B2&S&M1&M2&M = self::_B2&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2&M*
+ synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B2 extends self::_B2&S&M1&M2&M {
- synthetic constructor •() → self::B2*
+ synthetic constructor •() → self::B2
: super self::_B2&S&M1&M2&M::•()
;
}
abstract class _B0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M*
+ synthetic constructor •() → self::_B0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M&MX*
+ synthetic constructor •() → self::_B0X&S&M&MX
: super self::_B0X&S&M::•()
;
}
class B0X extends self::_B0X&S&M&MX {
- synthetic constructor •() → self::B0X*
+ synthetic constructor •() → self::B0X
: super self::_B0X&S&M&MX::•()
;
}
abstract class _B1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1*
+ synthetic constructor •() → self::_B1X&S&M1
: super self::S::•()
;
}
abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M*
+ synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M&MX*
+ synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
}
class B1X extends self::_B1X&S&M1&M&MX {
- synthetic constructor •() → self::B1X*
+ synthetic constructor •() → self::B1X
: super self::_B1X&S&M1&M&MX::•()
;
}
abstract class _B2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1*
+ synthetic constructor •() → self::_B2X&S&M1
: super self::S::•()
;
}
abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2*
+ synthetic constructor •() → self::_B2X&S&M1&M2
: super self::_B2X&S&M1::•()
;
}
abstract class _B2X&S&M1&M2&M = self::_B2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M&MX*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
- synthetic constructor •() → self::B2X*
+ synthetic constructor •() → self::B2X
: super self::_B2X&S&M1&M2&M&MX::•()
;
}
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect
index db60ecb..a0a1070 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -126,275 +126,225 @@
import "dart:core" as core;
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
;
method foo([dynamic x]) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
method foo() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class MX extends core::Object {
- synthetic constructor •() → self::MX*
+ synthetic constructor •() → self::MX
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class A0 = self::S with self::M {
- synthetic constructor •() → self::A0*
+ synthetic constructor •() → self::A0
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1&S&M1*
+ synthetic constructor •() → self::_A1&S&M1
: super self::S::•()
;
}
class A1 = self::_A1&S&M1 with self::M {
- synthetic constructor •() → self::A1*
+ synthetic constructor •() → self::A1
: super self::_A1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1*
+ synthetic constructor •() → self::_A2&S&M1
: super self::S::•()
;
}
abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2&S&M1&M2*
+ synthetic constructor •() → self::_A2&S&M1&M2
: super self::_A2&S&M1::•()
;
}
class A2 = self::_A2&S&M1&M2 with self::M {
- synthetic constructor •() → self::A2*
+ synthetic constructor •() → self::A2
: super self::_A2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _A0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A0X&S&M*
+ synthetic constructor •() → self::_A0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A0X = self::_A0X&S&M with self::MX {
- synthetic constructor •() → self::A0X*
+ synthetic constructor •() → self::A0X
: super self::_A0X&S&M::•()
;
}
abstract class _A1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1*
+ synthetic constructor •() → self::_A1X&S&M1
: super self::S::•()
;
}
abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A1X&S&M1&M*
+ synthetic constructor •() → self::_A1X&S&M1&M
: super self::_A1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A1X = self::_A1X&S&M1&M with self::MX {
- synthetic constructor •() → self::A1X*
+ synthetic constructor •() → self::A1X
: super self::_A1X&S&M1&M::•()
;
}
abstract class _A2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1*
+ synthetic constructor •() → self::_A2X&S&M1
: super self::S::•()
;
}
abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2*
+ synthetic constructor •() → self::_A2X&S&M1&M2
: super self::_A2X&S&M1::•()
;
}
abstract class _A2X&S&M1&M2&M = self::_A2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A2X&S&M1&M2&M*
+ synthetic constructor •() → self::_A2X&S&M1&M2&M
: super self::_A2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class A2X = self::_A2X&S&M1&M2&M with self::MX {
- synthetic constructor •() → self::A2X*
+ synthetic constructor •() → self::A2X
: super self::_A2X&S&M1&M2&M::•()
;
}
abstract class _B0&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0&S&M*
+ synthetic constructor •() → self::_B0&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B0 extends self::_B0&S&M {
- synthetic constructor •() → self::B0*
+ synthetic constructor •() → self::B0
;
}
abstract class _B1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1*
+ synthetic constructor •() → self::_B1&S&M1
: super self::S::•()
;
}
abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1&S&M1&M*
+ synthetic constructor •() → self::_B1&S&M1&M
: super self::_B1&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B1 extends self::_B1&S&M1&M {
- synthetic constructor •() → self::B1*
+ synthetic constructor •() → self::B1
;
}
abstract class _B2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1*
+ synthetic constructor •() → self::_B2&S&M1
: super self::S::•()
;
}
abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2*
+ synthetic constructor •() → self::_B2&S&M1&M2
: super self::_B2&S&M1::•()
;
}
abstract class _B2&S&M1&M2&M = self::_B2&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2&S&M1&M2&M*
+ synthetic constructor •() → self::_B2&S&M1&M2&M
: super self::_B2&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
class B2 extends self::_B2&S&M1&M2&M {
- synthetic constructor •() → self::B2*
+ synthetic constructor •() → self::B2
;
}
abstract class _B0X&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M*
+ synthetic constructor •() → self::_B0X&S&M
: super self::S::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B0X&S&M&MX*
+ synthetic constructor •() → self::_B0X&S&M&MX
: super self::_B0X&S&M::•()
;
}
class B0X extends self::_B0X&S&M&MX {
- synthetic constructor •() → self::B0X*
+ synthetic constructor •() → self::B0X
;
}
abstract class _B1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1*
+ synthetic constructor •() → self::_B1X&S&M1
: super self::S::•()
;
}
abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M*
+ synthetic constructor •() → self::_B1X&S&M1&M
: super self::_B1X&S&M1::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B1X&S&M1&M&MX*
+ synthetic constructor •() → self::_B1X&S&M1&M&MX
: super self::_B1X&S&M1&M::•()
;
}
class B1X extends self::_B1X&S&M1&M&MX {
- synthetic constructor •() → self::B1X*
+ synthetic constructor •() → self::B1X
;
}
abstract class _B2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1*
+ synthetic constructor •() → self::_B2X&S&M1
: super self::S::•()
;
}
abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2*
+ synthetic constructor •() → self::_B2X&S&M1&M2
: super self::_B2X&S&M1::•()
;
}
abstract class _B2X&S&M1&M2&M = self::_B2X&S&M1&M2 with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M
: super self::_B2X&S&M1&M2::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
}
abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_B2X&S&M1&M2&M&MX*
+ synthetic constructor •() → self::_B2X&S&M1&M2&M&MX
: super self::_B2X&S&M1&M2&M::•()
;
}
class B2X extends self::_B2X&S&M1&M2&M&MX {
- synthetic constructor •() → self::B2X*
+ synthetic constructor •() → self::B2X
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart b/pkg/front_end/testcases/general/mixin_conflicts.dart
index 70cf203..6afebe0 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// This class has no problems.
class M {
foo() {}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
index 2819465..5f79e28 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class M {
foo() {}
}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
index 96f1a87..b2ad75b 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class C3 extends Object with M2 {}
abstract class M2 implements M {
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect
index 94fa4c4..2171271 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,151 +34,71 @@
import "dart:core" as core;
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N = core::Object with self::M /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N*
+ const synthetic constructor •() → self::N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&N*
+ const synthetic constructor •() → self::_C&Object&N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::_C&Object&N {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&N::•()
;
}
abstract class M2 extends core::Object implements self::M {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N2 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N2*
+ const synthetic constructor •() → self::N2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N3*
+ const synthetic constructor •() → self::N3
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C2&Object&M2*
+ const synthetic constructor •() → self::_C2&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C2 extends self::_C2&Object&M2 {
- synthetic constructor •() → self::C2*
+ synthetic constructor •() → self::C2
: super self::_C2&Object&M2::•()
;
}
abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C3&Object&M2*
+ const synthetic constructor •() → self::_C3&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class C3 extends self::_C3&Object&M2 {
- synthetic constructor •() → self::C3*
+ synthetic constructor •() → self::C3
: super self::_C3&Object&M2::•()
;
}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.modular.expect
index 94fa4c4..2171271 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,151 +34,71 @@
import "dart:core" as core;
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N = core::Object with self::M /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N*
+ const synthetic constructor •() → self::N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&N*
+ const synthetic constructor •() → self::_C&Object&N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::_C&Object&N {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&N::•()
;
}
abstract class M2 extends core::Object implements self::M {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N2 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N2*
+ const synthetic constructor •() → self::N2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N3*
+ const synthetic constructor •() → self::N3
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C2&Object&M2*
+ const synthetic constructor •() → self::_C2&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C2 extends self::_C2&Object&M2 {
- synthetic constructor •() → self::C2*
+ synthetic constructor •() → self::C2
: super self::_C2&Object&M2::•()
;
}
abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C3&Object&M2*
+ const synthetic constructor •() → self::_C3&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class C3 extends self::_C3&Object&M2 {
- synthetic constructor •() → self::C3*
+ synthetic constructor •() → self::C3
: super self::_C3&Object&M2::•()
;
}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect
index ffe0ebf..57ca611 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,149 +34,69 @@
import "dart:core" as core;
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
method foo() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N = core::Object with self::M /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N*
+ const synthetic constructor •() → self::N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&N*
+ const synthetic constructor •() → self::_C&Object&N
: super core::Object::•()
;
mixin-super-stub method foo() → dynamic
return super.{self::M::foo}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::_C&Object&N {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
}
abstract class M2 extends core::Object implements self::M {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
;
method bar() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N2 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N2*
+ const synthetic constructor •() → self::N2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/ {
- const synthetic constructor •() → self::N3*
+ const synthetic constructor •() → self::N3
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C2&Object&M2*
+ const synthetic constructor •() → self::_C2&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C2 extends self::_C2&Object&M2 {
- synthetic constructor •() → self::C2*
+ synthetic constructor •() → self::C2
;
}
abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C3&Object&M2*
+ const synthetic constructor •() → self::_C3&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() → dynamic
return super.{self::M2::bar}();
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class C3 extends self::_C3&Object&M2 {
- synthetic constructor •() → self::C3*
+ synthetic constructor •() → self::C3
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect
index fb7371c..badca39 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -34,145 +34,65 @@
import "dart:core" as core;
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N extends core::Object implements self::M /*isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::N*
+ const synthetic constructor •() → self::N
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&N extends core::Object implements self::N /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&N*
+ const synthetic constructor •() → self::_C&Object&N
: super core::Object::•()
;
method foo() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends self::_C&Object&N {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&N::•()
;
}
abstract class M2 extends core::Object implements self::M {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class N2 extends core::Object implements self::M2 /*isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::N2*
+ const synthetic constructor •() → self::N2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N3 extends core::Object implements self::M2 /*isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::N3*
+ const synthetic constructor •() → self::N3
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C2&Object&M2 extends core::Object implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C2&Object&M2*
+ const synthetic constructor •() → self::_C2&Object&M2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C2 extends self::_C2&Object&M2 {
- synthetic constructor •() → self::C2*
+ synthetic constructor •() → self::C2
: super self::_C2&Object&M2::•()
;
}
abstract class _C3&Object&M2 extends core::Object implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C3&Object&M2*
+ const synthetic constructor •() → self::_C3&Object&M2
: super core::Object::•()
;
method bar() → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class C3 extends self::_C3&Object&M2 {
- synthetic constructor •() → self::C3*
+ synthetic constructor •() → self::C3
: super self::_C3&Object&M2::•()
;
}
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
index 2e9efab..011cb34 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
import "package:expect/expect.dart";
class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
index 86ae68a..d671b85 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import "package:expect/expect.dart";
class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
index e69ebaf..452b24b 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import "package:expect/expect.dart";
class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
index 813bde3..beed00c 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,63 +12,43 @@
import "package:expect/expect.dart";
-class C<T extends core::Object* = dynamic> extends core::Object {
- field core::String* trace;
- constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+ field core::String trace;
+ constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T%>
: self::C::trace = "a: ${a}, b: ${b}", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D = self::C<core::String*> with self::M {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
+class D = self::C<core::String> with self::M {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D
: super self::C::•(a: a, b: b)
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
}
-abstract class _F&C&M = self::C<core::int*> with self::M /*isAnonymousMixin*/ {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M*
+abstract class _F&C&M = self::C<core::int> with self::M /*isAnonymousMixin*/ {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M
: super self::C::•(a: a, b: b)
;
}
class F extends self::_F&C&M {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::_F&C&M::•()
;
}
static method main() → dynamic {
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String});
}
constants {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.modular.expect
index 813bde3..beed00c 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,63 +12,43 @@
import "package:expect/expect.dart";
-class C<T extends core::Object* = dynamic> extends core::Object {
- field core::String* trace;
- constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+ field core::String trace;
+ constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T%>
: self::C::trace = "a: ${a}, b: ${b}", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D = self::C<core::String*> with self::M {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
+class D = self::C<core::String> with self::M {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D
: super self::C::•(a: a, b: b)
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
}
-abstract class _F&C&M = self::C<core::int*> with self::M /*isAnonymousMixin*/ {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M*
+abstract class _F&C&M = self::C<core::int> with self::M /*isAnonymousMixin*/ {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M
: super self::C::•(a: a, b: b)
;
}
class F extends self::_F&C&M {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::_F&C&M::•()
;
}
static method main() → dynamic {
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String});
}
constants {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect
index 4244473..d5065f7 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -11,51 +11,31 @@
import "package:expect/expect.dart";
-class C<T extends core::Object* = dynamic> extends core::Object {
- field core::String* trace;
- constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+ field core::String trace;
+ constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::C<self::C::T%>
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D = self::C<core::String*> with self::M {
- synthetic constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::D*
+class D = self::C<core::String> with self::M {
+ synthetic constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::D
: super self::C::•(a: a, b: b)
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
;
}
-abstract class _F&C&M = self::C<core::int*> with self::M /*isAnonymousMixin*/ {
- synthetic constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::_F&C&M*
+abstract class _F&C&M = self::C<core::int> with self::M /*isAnonymousMixin*/ {
+ synthetic constructor •({dynamic a = 0, dynamic b = invalid-type}) → self::_F&C&M
: super self::C::•(a: a, b: b)
;
}
class F extends self::_F&C&M {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
;
}
static method main() → dynamic
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
index ee8735c..98df2eb 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -12,63 +12,43 @@
import "package:expect/expect.dart";
-class C<T extends core::Object* = dynamic> extends core::Object {
- field core::String* trace;
- constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+ field core::String trace;
+ constructor •({dynamic a = #C1, dynamic b = #C2}) → self::C<self::C::T%>
: self::C::trace = "a: ${a}, b: ${b}", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-class D extends self::C<core::String*> implements self::M /*isEliminatedMixin*/ {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
+class D extends self::C<core::String> implements self::M /*isEliminatedMixin*/ {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D
: super self::C::•(a: a, b: b)
;
}
class E extends self::D {
- synthetic constructor •() → self::E*
+ synthetic constructor •() → self::E
: super self::D::•()
;
}
-abstract class _F&C&M extends self::C<core::int*> implements self::M /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M*
+abstract class _F&C&M extends self::C<core::int> implements self::M /*isAnonymousMixin,isEliminatedMixin*/ {
+ synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::_F&C&M
: super self::C::•(a: a, b: b)
;
}
class F extends self::_F&C&M {
- synthetic constructor •() → self::F*
+ synthetic constructor •() → self::F
: super self::_F&C&M::•()
;
}
static method main() → dynamic {
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object*>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String*});
- exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String*});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<core::Object>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace}{core::String});
+ exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace}{core::String});
}
constants {
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart b/pkg/front_end/testcases/general/mixin_covariant.dart
index 77b9cdb..c32fcd5 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart
@@ -1,36 +1,36 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// Derived from language_2/covariant_override/tear_off_type_test
// If a parameter is directly or indirectly a covariant override, its type in
-// the method tear-off should become Object.
+// the method tear-off should become Object?.
-typedef void TakeInts(int a, int b, int c, int d, int e);
-typedef void TakeObjectsAndInts(Object a, int b, Object c, int d, int e);
-typedef void TakeObjects(Object a, Object b, Object c, Object d, Object e);
+typedef void TakeInts(int? a, int? b, int? c, int? d, int? e);
+typedef void TakeObjectsAndInts(Object? a, int? b, Object? c, int? d, int? e);
+typedef void TakeObjects(Object? a, Object? b, Object? c, Object? d, Object? e);
-typedef void TakeOptionalInts([int a, int b, int c, int d]);
-typedef void TakeOptionalObjectsAndInts([Object a, int b, Object c, int d]);
+typedef void TakeOptionalInts([int? a, int? b, int? c, int? d]);
+typedef void TakeOptionalObjectsAndInts([Object? a, int? b, Object? c, int? d]);
-typedef void TakeNamedInts({int a, int b, int c, int d});
-typedef void TakeNamedObjectsAndInts({Object a, int b, Object c, int d});
+typedef void TakeNamedInts({int? a, int? b, int? c, int? d});
+typedef void TakeNamedObjectsAndInts({Object? a, int? b, Object? c, int? d});
class M1 {
- method(covariant int a, int b) {}
+ method(covariant int? a, int? b) {}
}
class M2 {
- method(int a, covariant int b) {}
+ method(int? a, covariant int? b) {}
}
class C extends Object with M1, M2 {}
class Direct {
- void positional(covariant int a, int b, covariant int c, int d, int e) {}
- void optional([covariant int a, int b, covariant int c, int d]) {}
- void named({covariant int a, int b, covariant int c, int d}) {}
+ void positional(covariant int? a, int? b, covariant int? c, int? d, int? e) {}
+ void optional([covariant int? a, int? b, covariant int? c, int? d]) {}
+ void named({covariant int? a, int? b, covariant int? c, int? d}) {}
}
class Inherited extends Direct {}
@@ -38,59 +38,59 @@
// ---
class Override1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Override2 extends Override1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Override3 extends Override2 {
- void method(int a, int b, int c, int d, int e) {}
+ void method(int? a, int? b, int? c, int? d, int? e) {}
}
// ---
abstract class Implement1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Implement2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class Implement3 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Implement4 implements Implement3 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Implement5 implements Implement1, Implement2, Implement4 {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
// ---
class Interface1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Interface2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class Mixin1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Mixin2 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Superclass {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
class Mixed extends Superclass
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
index 5f9d48c..1dbfd18 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
@@ -1,80 +1,79 @@
-// @dart = 2.9
-typedef void TakeInts(int a, int b, int c, int d, int e);
-typedef void TakeObjectsAndInts(Object a, int b, Object c, int d, int e);
-typedef void TakeObjects(Object a, Object b, Object c, Object d, Object e);
-typedef void TakeOptionalInts([int a, int b, int c, int d]);
-typedef void TakeOptionalObjectsAndInts([Object a, int b, Object c, int d]);
-typedef void TakeNamedInts({int a, int b, int c, int d});
-typedef void TakeNamedObjectsAndInts({Object a, int b, Object c, int d});
+typedef void TakeInts(int? a, int? b, int? c, int? d, int? e);
+typedef void TakeObjectsAndInts(Object? a, int? b, Object? c, int? d, int? e);
+typedef void TakeObjects(Object? a, Object? b, Object? c, Object? d, Object? e);
+typedef void TakeOptionalInts([int? a, int? b, int? c, int? d]);
+typedef void TakeOptionalObjectsAndInts([Object? a, int? b, Object? c, int? d]);
+typedef void TakeNamedInts({int? a, int? b, int? c, int? d});
+typedef void TakeNamedObjectsAndInts({Object? a, int? b, Object? c, int? d});
class M1 {
- method(covariant int a, int b) {}
+ method(covariant int? a, int? b) {}
}
class M2 {
- method(int a, covariant int b) {}
+ method(int? a, covariant int? b) {}
}
class C extends Object with M1, M2 {}
class Direct {
- void positional(covariant int a, int b, covariant int c, int d, int e) {}
- void optional([covariant int a, int b, covariant int c, int d]) {}
- void named({covariant int a, int b, covariant int c, int d}) {}
+ void positional(covariant int? a, int? b, covariant int? c, int? d, int? e) {}
+ void optional([covariant int? a, int? b, covariant int? c, int? d]) {}
+ void named({covariant int? a, int? b, covariant int? c, int? d}) {}
}
class Inherited extends Direct {}
class Override1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Override2 extends Override1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Override3 extends Override2 {
- void method(int a, int b, int c, int d, int e) {}
+ void method(int? a, int? b, int? c, int? d, int? e) {}
}
abstract class Implement1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Implement2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class Implement3 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Implement4 implements Implement3 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Implement5 implements Implement1, Implement2, Implement4 {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
class Interface1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Interface2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class Mixin1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Mixin2 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Superclass {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
class Mixed extends Superclass
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
index bd45a1d..c0534c1 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
@@ -1,48 +1,47 @@
-// @dart = 2.9
abstract class Implement1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class C extends Object with M1, M2 {}
class Direct {
- void named({covariant int a, int b, covariant int c, int d}) {}
- void optional([covariant int a, int b, covariant int c, int d]) {}
- void positional(covariant int a, int b, covariant int c, int d, int e) {}
+ void named({covariant int? a, int? b, covariant int? c, int? d}) {}
+ void optional([covariant int? a, int? b, covariant int? c, int? d]) {}
+ void positional(covariant int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Implement2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class Implement3 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Implement4 implements Implement3 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Implement5 implements Implement1, Implement2, Implement4 {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
class Inherited extends Direct {}
class Interface1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Interface2 {
- void method(int a, covariant int b, int c, int d, int e) {}
+ void method(int? a, covariant int? b, int? c, int? d, int? e) {}
}
class M1 {
- method(covariant int a, int b) {}
+ method(covariant int? a, int? b) {}
}
class M2 {
- method(int a, covariant int b) {}
+ method(int? a, covariant int? b) {}
}
class Mixed extends Superclass
@@ -50,36 +49,36 @@
implements Interface1, Interface2 {}
class Mixin1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Mixin2 {
- void method(int a, int b, int c, covariant int d, int e) {}
+ void method(int? a, int? b, int? c, covariant int? d, int? e) {}
}
class Override1 {
- void method(covariant int a, int b, int c, int d, int e) {}
+ void method(covariant int? a, int? b, int? c, int? d, int? e) {}
}
class Override2 extends Override1 {
- void method(int a, int b, covariant int c, int d, int e) {}
+ void method(int? a, int? b, covariant int? c, int? d, int? e) {}
}
class Override3 extends Override2 {
- void method(int a, int b, int c, int d, int e) {}
+ void method(int? a, int? b, int? c, int? d, int? e) {}
}
class Superclass {
- void method(int a, int b, int c, int d, covariant int e) {}
+ void method(int? a, int? b, int? c, int? d, covariant int? e) {}
}
-typedef void TakeInts(int a, int b, int c, int d, int e);
-typedef void TakeNamedInts({int a, int b, int c, int d});
-typedef void TakeNamedObjectsAndInts({Object a, int b, Object c, int d});
-typedef void TakeObjects(Object a, Object b, Object c, Object d, Object e);
-typedef void TakeObjectsAndInts(Object a, int b, Object c, int d, int e);
-typedef void TakeOptionalInts([int a, int b, int c, int d]);
-typedef void TakeOptionalObjectsAndInts([Object a, int b, Object c, int d]);
+typedef void TakeInts(int? a, int? b, int? c, int? d, int? e);
+typedef void TakeNamedInts({int? a, int? b, int? c, int? d});
+typedef void TakeNamedObjectsAndInts({Object? a, int? b, Object? c, int? d});
+typedef void TakeObjects(Object? a, Object? b, Object? c, Object? d, Object? e);
+typedef void TakeObjectsAndInts(Object? a, int? b, Object? c, int? d, int? e);
+typedef void TakeOptionalInts([int? a, int? b, int? c, int? d]);
+typedef void TakeOptionalObjectsAndInts([Object? a, int? b, Object? c, int? d]);
void isTrue(bool value) {}
void main() {}
void testDirect() {}
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
index 503a71e..a1fcbe0 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
@@ -1,305 +1,155 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef TakeInts = (core::int*, core::int*, core::int*, core::int*, core::int*) →* void;
-typedef TakeObjectsAndInts = (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void;
-typedef TakeObjects = (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void;
-typedef TakeOptionalInts = ([core::int*, core::int*, core::int*, core::int*]) →* void;
-typedef TakeOptionalObjectsAndInts = ([core::Object*, core::int*, core::Object*, core::int*]) →* void;
-typedef TakeNamedInts = ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void;
-typedef TakeNamedObjectsAndInts = ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void;
+typedef TakeInts = (core::int?, core::int?, core::int?, core::int?, core::int?) → void;
+typedef TakeObjectsAndInts = (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void;
+typedef TakeObjects = (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void;
+typedef TakeOptionalInts = ([core::int?, core::int?, core::int?, core::int?]) → void;
+typedef TakeOptionalObjectsAndInts = ([core::Object?, core::int?, core::Object?, core::int?]) → void;
+typedef TakeNamedInts = ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void;
+typedef TakeNamedObjectsAndInts = ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void;
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b) → dynamic {}
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b) → dynamic {}
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
- mixin-super-stub method method(covariant-by-declaration core::int* a, core::int* b) → dynamic
+ mixin-super-stub method method(covariant-by-declaration core::int? a, core::int? b) → dynamic
return super.{self::M1::method}(a, b);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b) → dynamic
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b) → dynamic
return super.{self::M2::method}(a, b);
}
class C extends self::_C&Object&M1&M2 {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&M1&M2::•()
;
}
class Direct extends core::Object {
- synthetic constructor •() → self::Direct*
+ synthetic constructor •() → self::Direct
: super core::Object::•()
;
- method positional(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- method optional([covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1]) → void {}
- method named({covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1}) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method positional(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
+ method optional([covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1]) → void {}
+ method named({covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1}) → void {}
}
class Inherited extends self::Direct {
- synthetic constructor •() → self::Inherited*
+ synthetic constructor •() → self::Inherited
: super self::Direct::•()
;
}
class Override1 extends core::Object {
- synthetic constructor •() → self::Override1*
+ synthetic constructor •() → self::Override1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Override2 extends self::Override1 {
- synthetic constructor •() → self::Override2*
+ synthetic constructor •() → self::Override2
: super self::Override1::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Override3 extends self::Override2 {
- synthetic constructor •() → self::Override3*
+ synthetic constructor •() → self::Override3
: super self::Override2::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
abstract class Implement1 extends core::Object {
- synthetic constructor •() → self::Implement1*
+ synthetic constructor •() → self::Implement1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement2 extends core::Object {
- synthetic constructor •() → self::Implement2*
+ synthetic constructor •() → self::Implement2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement3 extends core::Object {
- synthetic constructor •() → self::Implement3*
+ synthetic constructor •() → self::Implement3
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Implement4 extends core::Object implements self::Implement3 {
- synthetic constructor •() → self::Implement4*
+ synthetic constructor •() → self::Implement4
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 {
- synthetic constructor •() → self::Implement5*
+ synthetic constructor •() → self::Implement5
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void {}
}
class Interface1 extends core::Object {
- synthetic constructor •() → self::Interface1*
+ synthetic constructor •() → self::Interface1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin1 extends core::Object {
- synthetic constructor •() → self::Mixin1*
+ synthetic constructor •() → self::Mixin1
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin2 extends core::Object {
- synthetic constructor •() → self::Mixin2*
+ synthetic constructor •() → self::Mixin2
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, core::int? d, covariant-by-declaration core::int? e) → void {}
}
abstract class _Mixed&Superclass&Mixin1 = self::Superclass with self::Mixin1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1
: super self::Superclass::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin1::method}(a, b, c, d, e);
}
abstract class _Mixed&Superclass&Mixin1&Mixin2 = self::_Mixed&Superclass&Mixin1 with self::Mixin2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2
: super self::_Mixed&Superclass&Mixin1::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 {
- synthetic constructor •() → self::Mixed*
+ synthetic constructor •() → self::Mixed
: super self::_Mixed&Superclass&Mixin1&Mixin2::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
static method main() → void {
@@ -310,46 +160,46 @@
self::testMixed();
}
static method testDirect() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Direct::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Direct::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Direct::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testInherited() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Inherited::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Inherited::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Inherited::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testOverridden() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method2 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method2 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method3 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method3 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method2 = new self::Override2::•().{self::Override2::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method3 = new self::Override3::•().{self::Override3::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
}
static method testImplemented() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Implement5::•().{self::Implement5::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
static method testMixed() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Mixed::•().{self::Mixed::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
-static method isTrue(core::bool* value) → void {
+static method isTrue(core::bool value) → void {
if(!value)
throw "Expected true";
}
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.modular.expect
index 503a71e..a1fcbe0 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.modular.expect
@@ -1,305 +1,155 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef TakeInts = (core::int*, core::int*, core::int*, core::int*, core::int*) →* void;
-typedef TakeObjectsAndInts = (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void;
-typedef TakeObjects = (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void;
-typedef TakeOptionalInts = ([core::int*, core::int*, core::int*, core::int*]) →* void;
-typedef TakeOptionalObjectsAndInts = ([core::Object*, core::int*, core::Object*, core::int*]) →* void;
-typedef TakeNamedInts = ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void;
-typedef TakeNamedObjectsAndInts = ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void;
+typedef TakeInts = (core::int?, core::int?, core::int?, core::int?, core::int?) → void;
+typedef TakeObjectsAndInts = (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void;
+typedef TakeObjects = (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void;
+typedef TakeOptionalInts = ([core::int?, core::int?, core::int?, core::int?]) → void;
+typedef TakeOptionalObjectsAndInts = ([core::Object?, core::int?, core::Object?, core::int?]) → void;
+typedef TakeNamedInts = ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void;
+typedef TakeNamedObjectsAndInts = ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void;
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b) → dynamic {}
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b) → dynamic {}
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
- mixin-super-stub method method(covariant-by-declaration core::int* a, core::int* b) → dynamic
+ mixin-super-stub method method(covariant-by-declaration core::int? a, core::int? b) → dynamic
return super.{self::M1::method}(a, b);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b) → dynamic
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b) → dynamic
return super.{self::M2::method}(a, b);
}
class C extends self::_C&Object&M1&M2 {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&M1&M2::•()
;
}
class Direct extends core::Object {
- synthetic constructor •() → self::Direct*
+ synthetic constructor •() → self::Direct
: super core::Object::•()
;
- method positional(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- method optional([covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1]) → void {}
- method named({covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1}) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method positional(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
+ method optional([covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1]) → void {}
+ method named({covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1}) → void {}
}
class Inherited extends self::Direct {
- synthetic constructor •() → self::Inherited*
+ synthetic constructor •() → self::Inherited
: super self::Direct::•()
;
}
class Override1 extends core::Object {
- synthetic constructor •() → self::Override1*
+ synthetic constructor •() → self::Override1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Override2 extends self::Override1 {
- synthetic constructor •() → self::Override2*
+ synthetic constructor •() → self::Override2
: super self::Override1::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Override3 extends self::Override2 {
- synthetic constructor •() → self::Override3*
+ synthetic constructor •() → self::Override3
: super self::Override2::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
abstract class Implement1 extends core::Object {
- synthetic constructor •() → self::Implement1*
+ synthetic constructor •() → self::Implement1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement2 extends core::Object {
- synthetic constructor •() → self::Implement2*
+ synthetic constructor •() → self::Implement2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement3 extends core::Object {
- synthetic constructor •() → self::Implement3*
+ synthetic constructor •() → self::Implement3
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Implement4 extends core::Object implements self::Implement3 {
- synthetic constructor •() → self::Implement4*
+ synthetic constructor •() → self::Implement4
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 {
- synthetic constructor •() → self::Implement5*
+ synthetic constructor •() → self::Implement5
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void {}
}
class Interface1 extends core::Object {
- synthetic constructor •() → self::Interface1*
+ synthetic constructor •() → self::Interface1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin1 extends core::Object {
- synthetic constructor •() → self::Mixin1*
+ synthetic constructor •() → self::Mixin1
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin2 extends core::Object {
- synthetic constructor •() → self::Mixin2*
+ synthetic constructor •() → self::Mixin2
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, core::int? d, covariant-by-declaration core::int? e) → void {}
}
abstract class _Mixed&Superclass&Mixin1 = self::Superclass with self::Mixin1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1
: super self::Superclass::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin1::method}(a, b, c, d, e);
}
abstract class _Mixed&Superclass&Mixin1&Mixin2 = self::_Mixed&Superclass&Mixin1 with self::Mixin2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2
: super self::_Mixed&Superclass&Mixin1::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 {
- synthetic constructor •() → self::Mixed*
+ synthetic constructor •() → self::Mixed
: super self::_Mixed&Superclass&Mixin1&Mixin2::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
static method main() → void {
@@ -310,46 +160,46 @@
self::testMixed();
}
static method testDirect() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Direct::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Direct::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Direct::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testInherited() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Inherited::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Inherited::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Inherited::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testOverridden() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method2 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method2 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method3 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method3 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method2 = new self::Override2::•().{self::Override2::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method3 = new self::Override3::•().{self::Override3::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
}
static method testImplemented() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Implement5::•().{self::Implement5::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
static method testMixed() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Mixed::•().{self::Mixed::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
-static method isTrue(core::bool* value) → void {
+static method isTrue(core::bool value) → void {
if(!value)
throw "Expected true";
}
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect
index cb1a866..40e7e6a 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect
@@ -1,304 +1,154 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef TakeInts = (core::int*, core::int*, core::int*, core::int*, core::int*) →* void;
-typedef TakeObjectsAndInts = (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void;
-typedef TakeObjects = (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void;
-typedef TakeOptionalInts = ([core::int*, core::int*, core::int*, core::int*]) →* void;
-typedef TakeOptionalObjectsAndInts = ([core::Object*, core::int*, core::Object*, core::int*]) →* void;
-typedef TakeNamedInts = ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void;
-typedef TakeNamedObjectsAndInts = ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void;
+typedef TakeInts = (core::int?, core::int?, core::int?, core::int?, core::int?) → void;
+typedef TakeObjectsAndInts = (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void;
+typedef TakeObjects = (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void;
+typedef TakeOptionalInts = ([core::int?, core::int?, core::int?, core::int?]) → void;
+typedef TakeOptionalObjectsAndInts = ([core::Object?, core::int?, core::Object?, core::int?]) → void;
+typedef TakeNamedInts = ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void;
+typedef TakeNamedObjectsAndInts = ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void;
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
;
- method method(covariant-by-declaration core::int* a, core::int* b) → dynamic
+ method method(covariant-by-declaration core::int? a, core::int? b) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
;
- method method(core::int* a, covariant-by-declaration core::int* b) → dynamic
+ method method(core::int? a, covariant-by-declaration core::int? b) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
- mixin-super-stub method method(covariant-by-declaration core::int* a, core::int* b) → dynamic
+ mixin-super-stub method method(covariant-by-declaration core::int? a, core::int? b) → dynamic
return super.{self::M1::method}(a, b);
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b) → dynamic
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b) → dynamic
return super.{self::M2::method}(a, b);
}
class C extends self::_C&Object&M1&M2 {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
}
class Direct extends core::Object {
- synthetic constructor •() → self::Direct*
+ synthetic constructor •() → self::Direct
;
- method positional(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void
+ method positional(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void
;
- method optional([covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d]) → void
+ method optional([covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d]) → void
;
- method named({covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d}) → void
+ method named({covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d}) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Inherited extends self::Direct {
- synthetic constructor •() → self::Inherited*
+ synthetic constructor •() → self::Inherited
;
}
class Override1 extends core::Object {
- synthetic constructor •() → self::Override1*
+ synthetic constructor •() → self::Override1
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Override2 extends self::Override1 {
- synthetic constructor •() → self::Override2*
+ synthetic constructor •() → self::Override2
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void
;
}
class Override3 extends self::Override2 {
- synthetic constructor •() → self::Override3*
+ synthetic constructor •() → self::Override3
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void
;
}
abstract class Implement1 extends core::Object {
- synthetic constructor •() → self::Implement1*
+ synthetic constructor •() → self::Implement1
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Implement2 extends core::Object {
- synthetic constructor •() → self::Implement2*
+ synthetic constructor •() → self::Implement2
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Implement3 extends core::Object {
- synthetic constructor •() → self::Implement3*
+ synthetic constructor •() → self::Implement3
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Implement4 extends core::Object implements self::Implement3 {
- synthetic constructor •() → self::Implement4*
+ synthetic constructor •() → self::Implement4
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, core::int* e) → void
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 {
- synthetic constructor •() → self::Implement5*
+ synthetic constructor •() → self::Implement5
;
- method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Interface1 extends core::Object {
- synthetic constructor •() → self::Interface1*
+ synthetic constructor •() → self::Interface1
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin1 extends core::Object {
- synthetic constructor •() → self::Mixin1*
+ synthetic constructor •() → self::Mixin1
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin2 extends core::Object {
- synthetic constructor •() → self::Mixin2*
+ synthetic constructor •() → self::Mixin2
;
- method method(core::int* a, core::int* b, core::int* c, covariant-by-declaration core::int* d, core::int* e) → void
+ method method(core::int? a, core::int? b, core::int? c, covariant-by-declaration core::int? d, core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
;
- method method(core::int* a, core::int* b, core::int* c, core::int* d, covariant-by-declaration core::int* e) → void
+ method method(core::int? a, core::int? b, core::int? c, core::int? d, covariant-by-declaration core::int? e) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Mixed&Superclass&Mixin1 = self::Superclass with self::Mixin1 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1
: super self::Superclass::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin1::method}(a, b, c, d, e);
}
abstract class _Mixed&Superclass&Mixin1&Mixin2 = self::_Mixed&Superclass&Mixin1 with self::Mixin2 /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2
: super self::_Mixed&Superclass&Mixin1::•()
;
- forwarding-stub method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 {
- synthetic constructor •() → self::Mixed*
+ synthetic constructor •() → self::Mixed
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
static method main() → void
@@ -313,5 +163,5 @@
;
static method testMixed() → void
;
-static method isTrue(core::bool* value) → void
+static method isTrue(core::bool value) → void
;
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
index 29fba4a..89e3789 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
@@ -1,301 +1,151 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-typedef TakeInts = (core::int*, core::int*, core::int*, core::int*, core::int*) →* void;
-typedef TakeObjectsAndInts = (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void;
-typedef TakeObjects = (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void;
-typedef TakeOptionalInts = ([core::int*, core::int*, core::int*, core::int*]) →* void;
-typedef TakeOptionalObjectsAndInts = ([core::Object*, core::int*, core::Object*, core::int*]) →* void;
-typedef TakeNamedInts = ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void;
-typedef TakeNamedObjectsAndInts = ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void;
+typedef TakeInts = (core::int?, core::int?, core::int?, core::int?, core::int?) → void;
+typedef TakeObjectsAndInts = (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void;
+typedef TakeObjects = (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void;
+typedef TakeOptionalInts = ([core::int?, core::int?, core::int?, core::int?]) → void;
+typedef TakeOptionalObjectsAndInts = ([core::Object?, core::int?, core::Object?, core::int?]) → void;
+typedef TakeNamedInts = ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void;
+typedef TakeNamedObjectsAndInts = ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void;
class M1 extends core::Object {
- synthetic constructor •() → self::M1*
+ synthetic constructor •() → self::M1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b) → dynamic {}
}
class M2 extends core::Object {
- synthetic constructor •() → self::M2*
+ synthetic constructor •() → self::M2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b) → dynamic {}
}
abstract class _C&Object&M1 extends core::Object implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1*
+ const synthetic constructor •() → self::_C&Object&M1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b) → dynamic {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b) → dynamic {}
}
abstract class _C&Object&M1&M2 extends self::_C&Object&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
- const synthetic constructor •() → self::_C&Object&M1&M2*
+ const synthetic constructor •() → self::_C&Object&M1&M2
: super self::_C&Object&M1::•()
;
- method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b) → dynamic {}
+ method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b) → dynamic {}
}
class C extends self::_C&Object&M1&M2 {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super self::_C&Object&M1&M2::•()
;
}
class Direct extends core::Object {
- synthetic constructor •() → self::Direct*
+ synthetic constructor •() → self::Direct
: super core::Object::•()
;
- method positional(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- method optional([covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1]) → void {}
- method named({covariant-by-declaration core::int* a = #C1, core::int* b = #C1, covariant-by-declaration core::int* c = #C1, core::int* d = #C1}) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method positional(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
+ method optional([covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1]) → void {}
+ method named({covariant-by-declaration core::int? a = #C1, core::int? b = #C1, covariant-by-declaration core::int? c = #C1, core::int? d = #C1}) → void {}
}
class Inherited extends self::Direct {
- synthetic constructor •() → self::Inherited*
+ synthetic constructor •() → self::Inherited
: super self::Direct::•()
;
}
class Override1 extends core::Object {
- synthetic constructor •() → self::Override1*
+ synthetic constructor •() → self::Override1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Override2 extends self::Override1 {
- synthetic constructor •() → self::Override2*
+ synthetic constructor •() → self::Override2
: super self::Override1::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Override3 extends self::Override2 {
- synthetic constructor •() → self::Override3*
+ synthetic constructor •() → self::Override3
: super self::Override2::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
+ method method(covariant-by-declaration core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
abstract class Implement1 extends core::Object {
- synthetic constructor •() → self::Implement1*
+ synthetic constructor •() → self::Implement1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement2 extends core::Object {
- synthetic constructor •() → self::Implement2*
+ synthetic constructor •() → self::Implement2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Implement3 extends core::Object {
- synthetic constructor •() → self::Implement3*
+ synthetic constructor •() → self::Implement3
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Implement4 extends core::Object implements self::Implement3 {
- synthetic constructor •() → self::Implement4*
+ synthetic constructor •() → self::Implement4
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 {
- synthetic constructor •() → self::Implement5*
+ synthetic constructor •() → self::Implement5
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void {}
}
class Interface1 extends core::Object {
- synthetic constructor •() → self::Interface1*
+ synthetic constructor •() → self::Interface1
: super core::Object::•()
;
- method method(covariant-by-declaration core::int* a, core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(covariant-by-declaration core::int? a, core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Interface2 extends core::Object {
- synthetic constructor •() → self::Interface2*
+ synthetic constructor •() → self::Interface2
: super core::Object::•()
;
- method method(core::int* a, covariant-by-declaration core::int* b, core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, covariant-by-declaration core::int? b, core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin1 extends core::Object {
- synthetic constructor •() → self::Mixin1*
+ synthetic constructor •() → self::Mixin1
: super core::Object::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, core::int? e) → void {}
}
class Mixin2 extends core::Object {
- synthetic constructor •() → self::Mixin2*
+ synthetic constructor •() → self::Mixin2
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, covariant-by-declaration core::int* d, core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, covariant-by-declaration core::int? d, core::int? e) → void {}
}
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method(core::int* a, core::int* b, core::int* c, core::int* d, covariant-by-declaration core::int* e) → void {}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ method method(core::int? a, core::int? b, core::int? c, core::int? d, covariant-by-declaration core::int? e) → void {}
}
abstract class _Mixed&Superclass&Mixin1 extends self::Superclass implements self::Mixin1 /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1
: super self::Superclass::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, core::int* d, covariant-by-declaration core::int* e) → void {}
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, core::int? d, covariant-by-declaration core::int? e) → void {}
}
abstract class _Mixed&Superclass&Mixin1&Mixin2 extends self::_Mixed&Superclass&Mixin1 implements self::Mixin2 /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2*
+ synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2
: super self::_Mixed&Superclass&Mixin1::•()
;
- method method(core::int* a, core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void {}
+ method method(core::int? a, core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void {}
}
class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 {
- synthetic constructor •() → self::Mixed*
+ synthetic constructor •() → self::Mixed
: super self::_Mixed&Superclass&Mixin1&Mixin2::•()
;
- forwarding-stub method method(covariant-by-declaration core::int* a, covariant-by-declaration core::int* b, covariant-by-declaration core::int* c, covariant-by-declaration core::int* d, covariant-by-declaration core::int* e) → void
+ forwarding-stub method method(covariant-by-declaration core::int? a, covariant-by-declaration core::int? b, covariant-by-declaration core::int? c, covariant-by-declaration core::int? d, covariant-by-declaration core::int? e) → void
return super.{self::Mixin2::method}(a, b, c, d, e);
}
static method main() → void {
@@ -306,46 +156,46 @@
self::testMixed();
}
static method testDirect() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Direct::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Direct::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Direct::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Direct::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Direct::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Direct::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testInherited() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void positional = new self::Inherited::•().{self::Direct::positional}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(positional is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(positional is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- ([core::int*, core::int*, core::int*, core::int*]) →* void optional = new self::Inherited::•().{self::Direct::optional}{([core::int*, core::int*, core::int*, core::int*]) →* void};
- self::isTrue(optional is ([core::int*, core::int*, core::int*, core::int*]) →* void);
- self::isTrue(optional is ([core::Object*, core::int*, core::Object*, core::int*]) →* void);
- ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void named = new self::Inherited::•().{self::Direct::named}{({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void};
- self::isTrue(named is ({a: core::int*, b: core::int*, c: core::int*, d: core::int*}) →* void);
- self::isTrue(named is ({a: core::Object*, b: core::int*, c: core::Object*, d: core::int*}) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void positional = new self::Inherited::•().{self::Direct::positional}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(positional is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(positional is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ ([core::int?, core::int?, core::int?, core::int?]) → void optional = new self::Inherited::•().{self::Direct::optional}{([core::int?, core::int?, core::int?, core::int?]) → void};
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::int?, core::int?, core::int?, core::int?]) → void);
+ self::isTrue(optional is{ForNonNullableByDefault} ([core::Object?, core::int?, core::Object?, core::int?]) → void);
+ ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void named = new self::Inherited::•().{self::Direct::named}{({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void};
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::int?, b: core::int?, c: core::int?, d: core::int?}) → void);
+ self::isTrue(named is{ForNonNullableByDefault} ({a: core::Object?, b: core::int?, c: core::Object?, d: core::int?}) → void);
}
static method testOverridden() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method2 = new self::Override2::•().{self::Override2::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method2 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method2 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method3 = new self::Override3::•().{self::Override3::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method3 is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method3 is (core::Object*, core::int*, core::Object*, core::int*, core::int*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method2 = new self::Override2::•().{self::Override2::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method2 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method3 = new self::Override3::•().{self::Override3::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method3 is{ForNonNullableByDefault} (core::Object?, core::int?, core::Object?, core::int?, core::int?) → void);
}
static method testImplemented() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Implement5::•().{self::Implement5::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Implement5::•().{self::Implement5::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
static method testMixed() → void {
- (core::int*, core::int*, core::int*, core::int*, core::int*) →* void method = new self::Mixed::•().{self::Mixed::method}{(core::int*, core::int*, core::int*, core::int*, core::int*) →* void};
- self::isTrue(method is (core::int*, core::int*, core::int*, core::int*, core::int*) →* void);
- self::isTrue(method is (core::Object*, core::Object*, core::Object*, core::Object*, core::Object*) →* void);
+ (core::int?, core::int?, core::int?, core::int?, core::int?) → void method = new self::Mixed::•().{self::Mixed::method}{(core::int?, core::int?, core::int?, core::int?, core::int?) → void};
+ self::isTrue(method is{ForNonNullableByDefault} (core::int?, core::int?, core::int?, core::int?, core::int?) → void);
+ self::isTrue(method is{ForNonNullableByDefault} (core::Object?, core::Object?, core::Object?, core::Object?, core::Object?) → void);
}
-static method isTrue(core::bool* value) → void {
+static method isTrue(core::bool value) → void {
if(!value)
throw "Expected true";
}
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart b/pkg/front_end/testcases/general/mixin_covariant2.dart
index 51720ec..8454114 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Superclass {
String method1(num argument1, num argument2) => "Superclass";
String method2(num argument1, num argument2) => "Superclass";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
index 4e542eb..6f22d96 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Superclass {
String method1(num argument1, num argument2) => "Superclass";
String method2(num argument1, num argument2) => "Superclass";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
index ba9c54c..9f3d0b4 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Class extends Superclass with Mixin {}
class Mixin {
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
index 8a65e36..ebd8305 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
@@ -1,98 +1,78 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method2(core::num* argument1, core::num* argument2) → core::String*
+ method method2(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method3(core::num* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ method method3(core::num argument1, covariant-by-declaration core::int argument2) → core::String
return "Superclass";
- method method4(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ method method4(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return "Superclass";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return "Mixin";
- method method3(core::num* argument1, core::num* argument2) → core::String*
+ method method3(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method4(covariant-by-declaration core::int* argument1, core::int* argument2) → core::String*
+ method method4(covariant-by-declaration core::int argument1, core::int argument2) → core::String
return "Mixin";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Class&Superclass&Mixin = self::Superclass with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Class&Superclass&Mixin*
+ synthetic constructor •() → self::_Class&Superclass&Mixin
: super self::Superclass::•()
;
- mixin-super-stub method method1(core::num* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method1(core::num argument1, core::num argument2) → core::String
return super.{self::Mixin::method1}(argument1, argument2);
- mixin-super-stub method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return super.{self::Mixin::method2}(argument1, argument2);
- forwarding-stub method method3(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ forwarding-stub method method3(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return super.{self::Mixin::method3}(argument1, argument2);
- forwarding-stub method method4(covariant-by-declaration core::int* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ forwarding-stub method method4(covariant-by-declaration core::int argument1, covariant-by-declaration core::int argument2) → core::String
return super.{self::Mixin::method4}(argument1, argument2);
}
class Class extends self::_Class&Superclass&Mixin {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::_Class&Superclass&Mixin::•()
;
}
static method main() → dynamic {
- self::Class* c = new self::Class::•();
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
- self::Superclass* s = c;
- self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num*, core::int*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num*, core::num*) →* core::String*});
- self::Mixin* m = c;
- self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
+ self::Class c = new self::Class::•();
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int, core::int) → core::String});
+ self::Superclass s = c;
+ self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::throws(() → void => s.{self::Superclass::method2}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num, core::int) → core::String});
+ self::throws(() → void => s.{self::Superclass::method4}(0.5, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num, core::num) → core::String});
+ self::Mixin m = c;
+ self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int, core::int) → core::String});
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic _) {
+ on core::Object catch(final core::Object _) {
return;
}
throw "Expected exception";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.modular.expect
index 8a65e36..ebd8305 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.modular.expect
@@ -1,98 +1,78 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method2(core::num* argument1, core::num* argument2) → core::String*
+ method method2(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method3(core::num* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ method method3(core::num argument1, covariant-by-declaration core::int argument2) → core::String
return "Superclass";
- method method4(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ method method4(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return "Superclass";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return "Mixin";
- method method3(core::num* argument1, core::num* argument2) → core::String*
+ method method3(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method4(covariant-by-declaration core::int* argument1, core::int* argument2) → core::String*
+ method method4(covariant-by-declaration core::int argument1, core::int argument2) → core::String
return "Mixin";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Class&Superclass&Mixin = self::Superclass with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Class&Superclass&Mixin*
+ synthetic constructor •() → self::_Class&Superclass&Mixin
: super self::Superclass::•()
;
- mixin-super-stub method method1(core::num* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method1(core::num argument1, core::num argument2) → core::String
return super.{self::Mixin::method1}(argument1, argument2);
- mixin-super-stub method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return super.{self::Mixin::method2}(argument1, argument2);
- forwarding-stub method method3(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ forwarding-stub method method3(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return super.{self::Mixin::method3}(argument1, argument2);
- forwarding-stub method method4(covariant-by-declaration core::int* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ forwarding-stub method method4(covariant-by-declaration core::int argument1, covariant-by-declaration core::int argument2) → core::String
return super.{self::Mixin::method4}(argument1, argument2);
}
class Class extends self::_Class&Superclass&Mixin {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::_Class&Superclass&Mixin::•()
;
}
static method main() → dynamic {
- self::Class* c = new self::Class::•();
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
- self::Superclass* s = c;
- self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num*, core::int*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num*, core::num*) →* core::String*});
- self::Mixin* m = c;
- self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
+ self::Class c = new self::Class::•();
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int, core::int) → core::String});
+ self::Superclass s = c;
+ self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::throws(() → void => s.{self::Superclass::method2}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num, core::int) → core::String});
+ self::throws(() → void => s.{self::Superclass::method4}(0.5, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num, core::num) → core::String});
+ self::Mixin m = c;
+ self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int, core::int) → core::String});
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic _) {
+ on core::Object catch(final core::Object _) {
return;
}
throw "Expected exception";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect
index 64d87c4..a2ed6ce 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect
@@ -1,71 +1,51 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
;
- method method2(core::num* argument1, core::num* argument2) → core::String*
+ method method2(core::num argument1, core::num argument2) → core::String
;
- method method3(core::num* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ method method3(core::num argument1, covariant-by-declaration core::int argument2) → core::String
;
- method method4(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ method method4(core::num argument1, covariant-by-declaration core::num argument2) → core::String
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
;
- method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
;
- method method3(core::num* argument1, core::num* argument2) → core::String*
+ method method3(core::num argument1, core::num argument2) → core::String
;
- method method4(covariant-by-declaration core::int* argument1, core::int* argument2) → core::String*
+ method method4(covariant-by-declaration core::int argument1, core::int argument2) → core::String
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Class&Superclass&Mixin = self::Superclass with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Class&Superclass&Mixin*
+ synthetic constructor •() → self::_Class&Superclass&Mixin
: super self::Superclass::•()
;
- mixin-super-stub method method1(core::num* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method1(core::num argument1, core::num argument2) → core::String
return super.{self::Mixin::method1}(argument1, argument2);
- mixin-super-stub method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ mixin-super-stub method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return super.{self::Mixin::method2}(argument1, argument2);
- forwarding-stub method method3(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ forwarding-stub method method3(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return super.{self::Mixin::method3}(argument1, argument2);
- forwarding-stub method method4(covariant-by-declaration core::int* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ forwarding-stub method method4(covariant-by-declaration core::int argument1, covariant-by-declaration core::int argument2) → core::String
return super.{self::Mixin::method4}(argument1, argument2);
}
class Class extends self::_Class&Superclass&Mixin {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
;
}
static method main() → dynamic
;
static method expect(dynamic expected, dynamic actual) → void
;
-static method throws(() →* void f) → void
+static method throws(() → void f) → void
;
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
index 11ed4b8..2122e28 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
@@ -1,98 +1,78 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Superclass extends core::Object {
- synthetic constructor •() → self::Superclass*
+ synthetic constructor •() → self::Superclass
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method2(core::num* argument1, core::num* argument2) → core::String*
+ method method2(core::num argument1, core::num argument2) → core::String
return "Superclass";
- method method3(core::num* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ method method3(core::num argument1, covariant-by-declaration core::int argument2) → core::String
return "Superclass";
- method method4(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ method method4(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return "Superclass";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Mixin extends core::Object {
- synthetic constructor •() → self::Mixin*
+ synthetic constructor •() → self::Mixin
: super core::Object::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return "Mixin";
- method method3(core::num* argument1, core::num* argument2) → core::String*
+ method method3(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method4(covariant-by-declaration core::int* argument1, core::int* argument2) → core::String*
+ method method4(covariant-by-declaration core::int argument1, core::int argument2) → core::String
return "Mixin";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Class&Superclass&Mixin extends self::Superclass implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_Class&Superclass&Mixin*
+ synthetic constructor •() → self::_Class&Superclass&Mixin
: super self::Superclass::•()
;
- method method1(core::num* argument1, core::num* argument2) → core::String*
+ method method1(core::num argument1, core::num argument2) → core::String
return "Mixin";
- method method2(covariant-by-declaration core::int* argument1, core::num* argument2) → core::String*
+ method method2(covariant-by-declaration core::int argument1, core::num argument2) → core::String
return "Mixin";
- method method3(core::num* argument1, covariant-by-declaration core::num* argument2) → core::String*
+ method method3(core::num argument1, covariant-by-declaration core::num argument2) → core::String
return "Mixin";
- method method4(covariant-by-declaration core::int* argument1, covariant-by-declaration core::int* argument2) → core::String*
+ method method4(covariant-by-declaration core::int argument1, covariant-by-declaration core::int argument2) → core::String
return "Mixin";
}
class Class extends self::_Class&Superclass&Mixin {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super self::_Class&Superclass&Mixin::•()
;
}
static method main() → dynamic {
- self::Class* c = new self::Class::•();
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
- self::Superclass* s = c;
- self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method2}(0.5, 1.5){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num*, core::int*) →* core::String*});
- self::throws(() → core::String* => s.{self::Superclass::method4}(0.5, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num*, core::num*) →* core::String*});
- self::Mixin* m = c;
- self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num*, core::num*) →* core::String*});
- self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int*, core::int*) →* core::String*});
+ self::Class c = new self::Class::•();
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", c.{self::_Class&Superclass&Mixin::method4}(0, 1){(core::int, core::int) → core::String});
+ self::Superclass s = c;
+ self::expect("Mixin", s.{self::Superclass::method1}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::throws(() → void => s.{self::Superclass::method2}(0.5, 1.5){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method3}(0.5, 1){(core::num, core::int) → core::String});
+ self::throws(() → void => s.{self::Superclass::method4}(0.5, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", s.{self::Superclass::method4}(1, 0.5){(core::num, core::num) → core::String});
+ self::Mixin m = c;
+ self::expect("Mixin", m.{self::Mixin::method1}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method2}(0, 1){(core::int, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method3}(0, 1){(core::num, core::num) → core::String});
+ self::expect("Mixin", m.{self::Mixin::method4}(0, 1){(core::int, core::int) → core::String});
}
static method expect(dynamic expected, dynamic actual) → void {
- if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
+ if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
-static method throws(() →* void f) → void {
+static method throws(() → void f) → void {
try {
- f(){() →* void};
+ f(){() → void};
}
- on dynamic catch(final dynamic _) {
+ on core::Object catch(final core::Object _) {
return;
}
throw "Expected exception";
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
index 7e4d936..890f7b5 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE.md file.
+
// @dart=2.9
+
class A {}
class C<T extends A> {
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart
new file mode 100644
index 0000000..2cd6db2
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart
@@ -0,0 +1,24 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE.md file.
+
+class A {}
+
+class C<T extends A> {
+ late T _field;
+
+ foo(T x) {
+ _field = x;
+ }
+}
+
+class D extends C<B> {}
+
+class Foo extends Object with C<B> {}
+
+class B extends A {}
+
+main() {
+ var foo = new Foo();
+ foo.foo(new B());
+}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline.expect
new file mode 100644
index 0000000..1c97b57
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline.expect
@@ -0,0 +1,14 @@
+class A {}
+
+class C<T extends A> {
+ late T _field;
+ foo(T x) {}
+}
+
+class D extends C<B> {}
+
+class Foo extends Object with C<B> {}
+
+class B extends A {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..f367e69
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.textual_outline_modelled.expect
@@ -0,0 +1,12 @@
+class A {}
+class B extends A {}
+class C<T extends A> {
+ ---- unknown chunk starts ----
+late
+---- unknown chunk ends ----
+ T _field;
+ foo(T x) {}
+}
+class D extends C<B> {}
+class Foo extends Object with C<B> {}
+main() {}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.expect
new file mode 100644
index 0000000..ef14d3e
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+class C<T extends self::A> extends core::Object {
+ late covariant-by-class field self::C::T _field;
+ synthetic constructor •() → self::C<self::C::T>
+ : super core::Object::•()
+ ;
+ method foo(covariant-by-class self::C::T x) → dynamic {
+ this.{self::C::_field} = x;
+ }
+}
+class D extends self::C<self::B> {
+ synthetic constructor •() → self::D
+ : super self::C::•()
+ ;
+}
+abstract class _Foo&Object&C = core::Object with self::C<self::B> /*isAnonymousMixin*/ {
+ synthetic constructor •() → self::_Foo&Object&C
+ : super core::Object::•()
+ ;
+ mixin-super-stub get _field() → self::B
+ return super.{self::C::_field};
+ mixin-super-stub set _field(covariant-by-class self::B value) → void
+ return super.{self::C::_field} = value;
+ mixin-super-stub method foo(covariant-by-class self::B x) → dynamic
+ return super.{self::C::foo}(x);
+}
+class Foo extends self::_Foo&Object&C {
+ synthetic constructor •() → self::Foo
+ : super self::_Foo&Object&C::•()
+ ;
+}
+class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+static method main() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ foo.{self::_Foo&Object&C::foo}(new self::B::•()){(self::B) → dynamic};
+}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.modular.expect
new file mode 100644
index 0000000..ef14d3e
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.modular.expect
@@ -0,0 +1,48 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+class C<T extends self::A> extends core::Object {
+ late covariant-by-class field self::C::T _field;
+ synthetic constructor •() → self::C<self::C::T>
+ : super core::Object::•()
+ ;
+ method foo(covariant-by-class self::C::T x) → dynamic {
+ this.{self::C::_field} = x;
+ }
+}
+class D extends self::C<self::B> {
+ synthetic constructor •() → self::D
+ : super self::C::•()
+ ;
+}
+abstract class _Foo&Object&C = core::Object with self::C<self::B> /*isAnonymousMixin*/ {
+ synthetic constructor •() → self::_Foo&Object&C
+ : super core::Object::•()
+ ;
+ mixin-super-stub get _field() → self::B
+ return super.{self::C::_field};
+ mixin-super-stub set _field(covariant-by-class self::B value) → void
+ return super.{self::C::_field} = value;
+ mixin-super-stub method foo(covariant-by-class self::B x) → dynamic
+ return super.{self::C::foo}(x);
+}
+class Foo extends self::_Foo&Object&C {
+ synthetic constructor •() → self::Foo
+ : super self::_Foo&Object&C::•()
+ ;
+}
+class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+static method main() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ foo.{self::_Foo&Object&C::foo}(new self::B::•()){(self::B) → dynamic};
+}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.outline.expect
new file mode 100644
index 0000000..9a6b3bb
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.outline.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ ;
+}
+class C<T extends self::A> extends core::Object {
+ late covariant-by-class field self::C::T _field;
+ synthetic constructor •() → self::C<self::C::T>
+ ;
+ method foo(covariant-by-class self::C::T x) → dynamic
+ ;
+}
+class D extends self::C<self::B> {
+ synthetic constructor •() → self::D
+ ;
+}
+abstract class _Foo&Object&C = core::Object with self::C<self::B> /*isAnonymousMixin*/ {
+ synthetic constructor •() → self::_Foo&Object&C
+ : super core::Object::•()
+ ;
+ mixin-super-stub get _field() → self::B
+ return super.{self::C::_field};
+ mixin-super-stub set _field(covariant-by-class self::B value) → void
+ return super.{self::C::_field} = value;
+ mixin-super-stub method foo(covariant-by-class self::B x) → dynamic
+ return super.{self::C::foo}(x);
+}
+class Foo extends self::_Foo&Object&C {
+ synthetic constructor •() → self::Foo
+ ;
+}
+class B extends self::A {
+ synthetic constructor •() → self::B
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.transformed.expect
new file mode 100644
index 0000000..a68dbaf
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field2.dart.weak.transformed.expect
@@ -0,0 +1,46 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ synthetic constructor •() → self::A
+ : super core::Object::•()
+ ;
+}
+class C<T extends self::A> extends core::Object {
+ late covariant-by-class field self::C::T _field;
+ synthetic constructor •() → self::C<self::C::T>
+ : super core::Object::•()
+ ;
+ method foo(covariant-by-class self::C::T x) → dynamic {
+ this.{self::C::_field} = x;
+ }
+}
+class D extends self::C<self::B> {
+ synthetic constructor •() → self::D
+ : super self::C::•()
+ ;
+}
+abstract class _Foo&Object&C extends core::Object implements self::C<self::B> /*isAnonymousMixin,isEliminatedMixin*/ {
+ late covariant-by-class field self::B _field;
+ synthetic constructor •() → self::_Foo&Object&C
+ : super core::Object::•()
+ ;
+ method foo(covariant-by-class self::B x) → dynamic {
+ this.{self::C::_field} = x;
+ }
+}
+class Foo extends self::_Foo&Object&C {
+ synthetic constructor •() → self::Foo
+ : super self::_Foo&Object&C::•()
+ ;
+}
+class B extends self::A {
+ synthetic constructor •() → self::B
+ : super self::A::•()
+ ;
+}
+static method main() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ foo.{self::_Foo&Object&C::foo}(new self::B::•()){(self::B) → dynamic};
+}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart b/pkg/front_end/testcases/general/mixin_interface_conflict.dart
index 5382f6e..767bf52 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class B {
int get n => 1;
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
index 49f94cd..d373953 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class B {
int get n => 1;
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
index c6ed9f3..e2a50a1 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class B {
int get n => 1;
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect
index 194538f..7cbf184 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,53 +17,23 @@
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get n() → core::int*
+ get n() → core::int
return 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- get n() → core::double*
+ get n() → core::double
return 2.0;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _M&B&C extends core::Object implements self::B, self::C /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_M&B&C*
+ synthetic constructor •() → self::_M&B&C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M extends self::_M&B&C /*isMixinDeclaration*/ {
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.modular.expect
index 194538f..7cbf184 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,53 +17,23 @@
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get n() → core::int*
+ get n() → core::int
return 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- get n() → core::double*
+ get n() → core::double
return 2.0;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _M&B&C extends core::Object implements self::B, self::C /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_M&B&C*
+ synthetic constructor •() → self::_M&B&C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M extends self::_M&B&C /*isMixinDeclaration*/ {
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect
index e77f24e..5ff43cf 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,50 +17,20 @@
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
;
- get n() → core::int*
+ get n() → core::int
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
- get n() → core::double*
+ get n() → core::double
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _M&B&C extends core::Object implements self::B, self::C /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_M&B&C*
+ synthetic constructor •() → self::_M&B&C
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M extends self::_M&B&C /*isMixinDeclaration*/ {
}
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect
index 194538f..7cbf184 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -17,53 +17,23 @@
import "dart:core" as core;
class B extends core::Object {
- synthetic constructor •() → self::B*
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- get n() → core::int*
+ get n() → core::int
return 1;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
- get n() → core::double*
+ get n() → core::double
return 2.0;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _M&B&C extends core::Object implements self::B, self::C /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_M&B&C*
+ synthetic constructor •() → self::_M&B&C
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class M extends self::_M&B&C /*isMixinDeclaration*/ {
}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart b/pkg/front_end/testcases/general/mixin_stubs.dart
index 22e5bb1..59f0691 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class Super {
void concreteExtendsConcreteMixin() {}
void concreteExtendsAbstractMixin() {}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
index 4f42b33..9a72527 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Super {
void concreteExtendsConcreteMixin() {}
void concreteExtendsAbstractMixin() {}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
index 44714c6..b8362ad 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class ClassEqMixin = Super with Mixin;
abstract class ClassEqMixinClass = Super with MixinClass;
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
index 32aae43..6132859 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Super extends core::Object {
- synthetic constructor •() → self::Super*
+ synthetic constructor •() → self::Super
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
method concreteExtendsAbstractMixin() → void {}
abstract method abstractExtendsConcreteMixin() → void;
abstract method abstractExtendsAbstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class MixinClass extends core::Object {
- synthetic constructor •() → self::MixinClass*
+ synthetic constructor •() → self::MixinClass
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -31,16 +21,6 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
method concreteExtendsConcreteMixin() → void {}
@@ -49,19 +29,9 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ClassEqMixinClass = self::Super with self::MixinClass {
- synthetic constructor •() → self::ClassEqMixinClass*
+ synthetic constructor •() → self::ClassEqMixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -75,7 +45,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class _ClassExtendsMixinClass&Super&MixinClass = self::Super with self::MixinClass /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass*
+ synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -89,12 +59,12 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class ClassExtendsMixinClass extends self::_ClassExtendsMixinClass&Super&MixinClass {
- synthetic constructor •() → self::ClassExtendsMixinClass*
+ synthetic constructor •() → self::ClassExtendsMixinClass
: super self::_ClassExtendsMixinClass&Super&MixinClass::•()
;
}
abstract class ClassEqMixin = self::Super with self::Mixin {
- synthetic constructor •() → self::ClassEqMixin*
+ synthetic constructor •() → self::ClassEqMixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -108,7 +78,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class _ClassExtendsMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin*
+ synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -122,21 +92,21 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class ClassExtendsMixin extends self::_ClassExtendsMixin&Super&Mixin {
- synthetic constructor •() → self::ClassExtendsMixin*
+ synthetic constructor •() → self::ClassExtendsMixin
: super self::_ClassExtendsMixin&Super&Mixin::•()
;
}
abstract class SubclassEqMixinClass extends self::ClassEqMixinClass {
- synthetic constructor •() → self::SubclassEqMixinClass*
+ synthetic constructor •() → self::SubclassEqMixinClass
: super self::ClassEqMixinClass::•()
;
method method() → dynamic {
- this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractMixin}(){() → void};
super.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixinClass::concreteMixin}();
@@ -144,16 +114,16 @@
}
}
abstract class SubclassExtendsMixinClass extends self::ClassExtendsMixinClass {
- synthetic constructor •() → self::SubclassExtendsMixinClass*
+ synthetic constructor •() → self::SubclassExtendsMixinClass
: super self::ClassExtendsMixinClass::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
@@ -161,16 +131,16 @@
}
}
abstract class SubclassEqMixin extends self::ClassEqMixin {
- synthetic constructor •() → self::SubclassEqMixin*
+ synthetic constructor •() → self::SubclassEqMixin
: super self::ClassEqMixin::•()
;
method method() → dynamic {
- this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractMixin}(){() → void};
super.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixin::concreteMixin}();
@@ -178,16 +148,16 @@
}
}
abstract class SubclassExtendsMixin extends self::ClassExtendsMixin {
- synthetic constructor •() → self::SubclassExtendsMixin*
+ synthetic constructor •() → self::SubclassExtendsMixin
: super self::ClassExtendsMixin::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.modular.expect
index 32aae43..6132859 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.modular.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Super extends core::Object {
- synthetic constructor •() → self::Super*
+ synthetic constructor •() → self::Super
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
method concreteExtendsAbstractMixin() → void {}
abstract method abstractExtendsConcreteMixin() → void;
abstract method abstractExtendsAbstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class MixinClass extends core::Object {
- synthetic constructor •() → self::MixinClass*
+ synthetic constructor •() → self::MixinClass
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -31,16 +21,6 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
method concreteExtendsConcreteMixin() → void {}
@@ -49,19 +29,9 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ClassEqMixinClass = self::Super with self::MixinClass {
- synthetic constructor •() → self::ClassEqMixinClass*
+ synthetic constructor •() → self::ClassEqMixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -75,7 +45,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class _ClassExtendsMixinClass&Super&MixinClass = self::Super with self::MixinClass /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass*
+ synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -89,12 +59,12 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class ClassExtendsMixinClass extends self::_ClassExtendsMixinClass&Super&MixinClass {
- synthetic constructor •() → self::ClassExtendsMixinClass*
+ synthetic constructor •() → self::ClassExtendsMixinClass
: super self::_ClassExtendsMixinClass&Super&MixinClass::•()
;
}
abstract class ClassEqMixin = self::Super with self::Mixin {
- synthetic constructor •() → self::ClassEqMixin*
+ synthetic constructor •() → self::ClassEqMixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -108,7 +78,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class _ClassExtendsMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin*
+ synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -122,21 +92,21 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class ClassExtendsMixin extends self::_ClassExtendsMixin&Super&Mixin {
- synthetic constructor •() → self::ClassExtendsMixin*
+ synthetic constructor •() → self::ClassExtendsMixin
: super self::_ClassExtendsMixin&Super&Mixin::•()
;
}
abstract class SubclassEqMixinClass extends self::ClassEqMixinClass {
- synthetic constructor •() → self::SubclassEqMixinClass*
+ synthetic constructor •() → self::SubclassEqMixinClass
: super self::ClassEqMixinClass::•()
;
method method() → dynamic {
- this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractMixin}(){() → void};
super.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixinClass::concreteMixin}();
@@ -144,16 +114,16 @@
}
}
abstract class SubclassExtendsMixinClass extends self::ClassExtendsMixinClass {
- synthetic constructor •() → self::SubclassExtendsMixinClass*
+ synthetic constructor •() → self::SubclassExtendsMixinClass
: super self::ClassExtendsMixinClass::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
@@ -161,16 +131,16 @@
}
}
abstract class SubclassEqMixin extends self::ClassEqMixin {
- synthetic constructor •() → self::SubclassEqMixin*
+ synthetic constructor •() → self::SubclassEqMixin
: super self::ClassEqMixin::•()
;
method method() → dynamic {
- this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractMixin}(){() → void};
super.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixin::concreteMixin}();
@@ -178,16 +148,16 @@
}
}
abstract class SubclassExtendsMixin extends self::ClassExtendsMixin {
- synthetic constructor •() → self::SubclassExtendsMixin*
+ synthetic constructor •() → self::SubclassExtendsMixin
: super self::ClassExtendsMixin::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect
index 8f9542d..781d4f5 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Super extends core::Object {
- synthetic constructor •() → self::Super*
+ synthetic constructor •() → self::Super
;
method concreteExtendsConcreteMixin() → void
;
@@ -11,19 +11,9 @@
;
abstract method abstractExtendsConcreteMixin() → void;
abstract method abstractExtendsAbstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class MixinClass extends core::Object {
- synthetic constructor •() → self::MixinClass*
+ synthetic constructor •() → self::MixinClass
;
method concreteExtendsConcreteMixin() → void
;
@@ -34,16 +24,6 @@
;
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
method concreteExtendsConcreteMixin() → void
@@ -55,19 +35,9 @@
;
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ClassEqMixinClass = self::Super with self::MixinClass {
- synthetic constructor •() → self::ClassEqMixinClass*
+ synthetic constructor •() → self::ClassEqMixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -81,7 +51,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class _ClassExtendsMixinClass&Super&MixinClass = self::Super with self::MixinClass /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass*
+ synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -95,11 +65,11 @@
abstract mixin-stub method abstractMixin() → void; -> self::MixinClass::abstractMixin
}
abstract class ClassExtendsMixinClass extends self::_ClassExtendsMixinClass&Super&MixinClass {
- synthetic constructor •() → self::ClassExtendsMixinClass*
+ synthetic constructor •() → self::ClassExtendsMixinClass
;
}
abstract class ClassEqMixin = self::Super with self::Mixin {
- synthetic constructor •() → self::ClassEqMixin*
+ synthetic constructor •() → self::ClassEqMixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -113,7 +83,7 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class _ClassExtendsMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin*
+ synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin
: super self::Super::•()
;
mixin-super-stub method concreteExtendsConcreteMixin() → void
@@ -127,29 +97,29 @@
abstract mixin-stub method abstractMixin() → void; -> self::Mixin::abstractMixin
}
abstract class ClassExtendsMixin extends self::_ClassExtendsMixin&Super&Mixin {
- synthetic constructor •() → self::ClassExtendsMixin*
+ synthetic constructor •() → self::ClassExtendsMixin
;
}
abstract class SubclassEqMixinClass extends self::ClassEqMixinClass {
- synthetic constructor •() → self::SubclassEqMixinClass*
+ synthetic constructor •() → self::SubclassEqMixinClass
;
method method() → dynamic
;
}
abstract class SubclassExtendsMixinClass extends self::ClassExtendsMixinClass {
- synthetic constructor •() → self::SubclassExtendsMixinClass*
+ synthetic constructor •() → self::SubclassExtendsMixinClass
;
method method() → dynamic
;
}
abstract class SubclassEqMixin extends self::ClassEqMixin {
- synthetic constructor •() → self::SubclassEqMixin*
+ synthetic constructor •() → self::SubclassEqMixin
;
method method() → dynamic
;
}
abstract class SubclassExtendsMixin extends self::ClassExtendsMixin {
- synthetic constructor •() → self::SubclassExtendsMixin*
+ synthetic constructor •() → self::SubclassExtendsMixin
;
method method() → dynamic
;
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
index 3b87509..1350fad 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
@@ -1,28 +1,18 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class Super extends core::Object {
- synthetic constructor •() → self::Super*
+ synthetic constructor •() → self::Super
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
method concreteExtendsAbstractMixin() → void {}
abstract method abstractExtendsConcreteMixin() → void;
abstract method abstractExtendsAbstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class MixinClass extends core::Object {
- synthetic constructor •() → self::MixinClass*
+ synthetic constructor •() → self::MixinClass
: super core::Object::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -31,16 +21,6 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
method concreteExtendsConcreteMixin() → void {}
@@ -49,19 +29,9 @@
method abstractExtendsConcreteMixin() → void {}
abstract method abstractExtendsAbstractMixin() → void;
abstract method abstractMixin() → void;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class ClassEqMixinClass extends self::Super implements self::MixinClass /*isEliminatedMixin*/ {
- synthetic constructor •() → self::ClassEqMixinClass*
+ synthetic constructor •() → self::ClassEqMixinClass
: super self::Super::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -72,7 +42,7 @@
abstract method abstractMixin() → void;
}
abstract class _ClassExtendsMixinClass&Super&MixinClass extends self::Super implements self::MixinClass /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass*
+ synthetic constructor •() → self::_ClassExtendsMixinClass&Super&MixinClass
: super self::Super::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -83,12 +53,12 @@
abstract method abstractMixin() → void;
}
abstract class ClassExtendsMixinClass extends self::_ClassExtendsMixinClass&Super&MixinClass {
- synthetic constructor •() → self::ClassExtendsMixinClass*
+ synthetic constructor •() → self::ClassExtendsMixinClass
: super self::_ClassExtendsMixinClass&Super&MixinClass::•()
;
}
abstract class ClassEqMixin extends self::Super implements self::Mixin /*isEliminatedMixin*/ {
- synthetic constructor •() → self::ClassEqMixin*
+ synthetic constructor •() → self::ClassEqMixin
: super self::Super::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -99,7 +69,7 @@
abstract method abstractMixin() → void;
}
abstract class _ClassExtendsMixin&Super&Mixin extends self::Super implements self::Mixin /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin*
+ synthetic constructor •() → self::_ClassExtendsMixin&Super&Mixin
: super self::Super::•()
;
method concreteExtendsConcreteMixin() → void {}
@@ -110,21 +80,21 @@
abstract method abstractMixin() → void;
}
abstract class ClassExtendsMixin extends self::_ClassExtendsMixin&Super&Mixin {
- synthetic constructor •() → self::ClassExtendsMixin*
+ synthetic constructor •() → self::ClassExtendsMixin
: super self::_ClassExtendsMixin&Super&Mixin::•()
;
}
abstract class SubclassEqMixinClass extends self::ClassEqMixinClass {
- synthetic constructor •() → self::SubclassEqMixinClass*
+ synthetic constructor •() → self::SubclassEqMixinClass
: super self::ClassEqMixinClass::•()
;
method method() → dynamic {
- this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::concreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixinClass::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::concreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixinClass::abstractMixin}(){() → void};
super.{self::ClassEqMixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixinClass::concreteMixin}();
@@ -132,16 +102,16 @@
}
}
abstract class SubclassExtendsMixinClass extends self::ClassExtendsMixinClass {
- synthetic constructor •() → self::SubclassExtendsMixinClass*
+ synthetic constructor •() → self::SubclassExtendsMixinClass
: super self::ClassExtendsMixinClass::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixinClass&Super&MixinClass::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixinClass&Super&MixinClass::concreteMixin}();
@@ -149,16 +119,16 @@
}
}
abstract class SubclassEqMixin extends self::ClassEqMixin {
- synthetic constructor •() → self::SubclassEqMixin*
+ synthetic constructor •() → self::SubclassEqMixin
: super self::ClassEqMixin::•()
;
method method() → dynamic {
- this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::concreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::ClassEqMixin::abstractMixin}(){() →* void};
+ this.{self::ClassEqMixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::concreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::ClassEqMixin::abstractMixin}(){() → void};
super.{self::ClassEqMixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::ClassEqMixin::concreteMixin}();
@@ -166,16 +136,16 @@
}
}
abstract class SubclassExtendsMixin extends self::ClassExtendsMixin {
- synthetic constructor •() → self::SubclassExtendsMixin*
+ synthetic constructor •() → self::SubclassExtendsMixin
: super self::ClassExtendsMixin::•()
;
method method() → dynamic {
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() →* void};
- this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() →* void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsConcreteMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractExtendsAbstractMixin}(){() → void};
+ this.{self::_ClassExtendsMixin&Super&Mixin::abstractMixin}(){() → void};
super.{self::_ClassExtendsMixin&Super&Mixin::concreteExtendsConcreteMixin}();
super.{self::Super::concreteExtendsAbstractMixin}();
super.{self::_ClassExtendsMixin&Super&Mixin::concreteMixin}();
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart b/pkg/front_end/testcases/general/mixin_super_repeated.dart
index f8fcad7..e9453fd 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class M {
var m;
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
index 9975f5c..e92d32e 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class M {
var m;
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
index 5f64874..2d9c4d4 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class M {
var m;
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
index 526ec74..5ed308d 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class M extends core::Object {
field dynamic m = null;
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N extends self::M {
- synthetic constructor •() → self::N*
+ synthetic constructor •() → self::N
: super self::M::•()
;
set superM(dynamic value) → void {
@@ -29,22 +19,12 @@
return super.{self::M::m};
}
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M*
+ synthetic constructor •() → self::_Named&S&M
: super self::S::•()
;
mixin-super-stub get m() → dynamic
@@ -53,7 +33,7 @@
return super.{self::M::m} = value;
}
abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M&N*
+ synthetic constructor •() → self::_Named&S&M&N
: super self::_Named&S&M::•()
;
mixin-super-stub get superM() → dynamic
@@ -62,7 +42,7 @@
return super.{self::N::superM} = value;
}
class Named = self::_Named&S&M&N with self::M {
- synthetic constructor •() → self::Named*
+ synthetic constructor •() → self::Named
: super self::_Named&S&M&N::•()
;
mixin-super-stub get m() → dynamic
@@ -71,13 +51,13 @@
return super.{self::M::m} = value;
}
static method main() → dynamic {
- self::Named* named = new self::Named::•();
+ self::Named named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
- if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 42)) {
+ if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 42)) {
throw "Bad mixin translation of set:superM";
}
- if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 87)) {
+ if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 87)) {
throw "Bad mixin translation of get:superM";
}
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.modular.expect
index 526ec74..5ed308d 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.modular.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class M extends core::Object {
field dynamic m = null;
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N extends self::M {
- synthetic constructor •() → self::N*
+ synthetic constructor •() → self::N
: super self::M::•()
;
set superM(dynamic value) → void {
@@ -29,22 +19,12 @@
return super.{self::M::m};
}
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M*
+ synthetic constructor •() → self::_Named&S&M
: super self::S::•()
;
mixin-super-stub get m() → dynamic
@@ -53,7 +33,7 @@
return super.{self::M::m} = value;
}
abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M&N*
+ synthetic constructor •() → self::_Named&S&M&N
: super self::_Named&S&M::•()
;
mixin-super-stub get superM() → dynamic
@@ -62,7 +42,7 @@
return super.{self::N::superM} = value;
}
class Named = self::_Named&S&M&N with self::M {
- synthetic constructor •() → self::Named*
+ synthetic constructor •() → self::Named
: super self::_Named&S&M&N::•()
;
mixin-super-stub get m() → dynamic
@@ -71,13 +51,13 @@
return super.{self::M::m} = value;
}
static method main() → dynamic {
- self::Named* named = new self::Named::•();
+ self::Named named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
- if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 42)) {
+ if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 42)) {
throw "Bad mixin translation of set:superM";
}
- if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 87)) {
+ if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 87)) {
throw "Bad mixin translation of get:superM";
}
}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect
index 1a4626c..48f57f8 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect
@@ -1,24 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class M extends core::Object {
field dynamic m;
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N extends self::M {
- synthetic constructor •() → self::N*
+ synthetic constructor •() → self::N
;
set superM(dynamic value) → void
;
@@ -26,21 +16,11 @@
;
}
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M*
+ synthetic constructor •() → self::_Named&S&M
: super self::S::•()
;
mixin-super-stub get m() → dynamic
@@ -49,7 +29,7 @@
return super.{self::M::m} = value;
}
abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_Named&S&M&N*
+ synthetic constructor •() → self::_Named&S&M&N
: super self::_Named&S&M::•()
;
mixin-super-stub get superM() → dynamic
@@ -58,7 +38,7 @@
return super.{self::N::superM} = value;
}
class Named = self::_Named&S&M&N with self::M {
- synthetic constructor •() → self::Named*
+ synthetic constructor •() → self::Named
: super self::_Named&S&M&N::•()
;
mixin-super-stub get m() → dynamic
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
index e0aa9ba..94d7058 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
@@ -1,25 +1,15 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class M extends core::Object {
field dynamic m = null;
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class N extends self::M {
- synthetic constructor •() → self::N*
+ synthetic constructor •() → self::N
: super self::M::•()
;
set superM(dynamic value) → void {
@@ -29,28 +19,18 @@
return super.{self::M::m};
}
class S extends core::Object {
- synthetic constructor •() → self::S*
+ synthetic constructor •() → self::S
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class _Named&S&M extends self::S implements self::M /*isAnonymousMixin,isEliminatedMixin*/ {
field dynamic m = null;
- synthetic constructor •() → self::_Named&S&M*
+ synthetic constructor •() → self::_Named&S&M
: super self::S::•()
;
}
abstract class _Named&S&M&N extends self::_Named&S&M implements self::N /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_Named&S&M&N*
+ synthetic constructor •() → self::_Named&S&M&N
: super self::_Named&S&M::•()
;
get superM() → dynamic
@@ -61,18 +41,18 @@
}
class Named extends self::_Named&S&M&N implements self::M /*isEliminatedMixin*/ {
field dynamic m = null;
- synthetic constructor •() → self::Named*
+ synthetic constructor •() → self::Named
: super self::_Named&S&M&N::•()
;
}
static method main() → dynamic {
- self::Named* named = new self::Named::•();
+ self::Named named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
- if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 42)) {
+ if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 42)) {
throw "Bad mixin translation of set:superM";
}
- if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} 87)) {
+ if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object) → core::bool} 87)) {
throw "Bad mixin translation of get:superM";
}
}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart b/pkg/front_end/testcases/general/mixin_with_static_member.dart
index 2737bb4..954d649 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart
@@ -1,15 +1,15 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class A extends B with M {}
class B {
- final Object m = null;
+ final Object m = new Object();
}
class M {
- static Object m() => null;
+ static Object m() => new Object();
}
main() {
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
index 4b1e84f..460aed5 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
@@ -1,12 +1,11 @@
-// @dart = 2.9
class A extends B with M {}
class B {
- final Object m = null;
+ final Object m = new Object();
}
class M {
- static Object m() => null;
+ static Object m() => new Object();
}
main() {}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
index 4b1e84f..460aed5 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
@@ -1,12 +1,11 @@
-// @dart = 2.9
class A extends B with M {}
class B {
- final Object m = null;
+ final Object m = new Object();
}
class M {
- static Object m() => null;
+ static Object m() => new Object();
}
main() {}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect
index e89e537..bfa8188 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A&B&M*
+ synthetic constructor •() → self::_A&B&M
: super self::B::•()
;
}
class A extends self::_A&B&M {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::_A&B&M::•()
;
}
class B extends core::Object {
- final field core::Object* m = null;
- synthetic constructor •() → self::B*
+ final field core::Object m = new core::Object::•();
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- static method m() → core::Object*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static method m() → core::Object
+ return new core::Object::•();
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.modular.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.modular.expect
index e89e537..bfa8188 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.modular.expect
@@ -1,49 +1,29 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A&B&M*
+ synthetic constructor •() → self::_A&B&M
: super self::B::•()
;
}
class A extends self::_A&B&M {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::_A&B&M::•()
;
}
class B extends core::Object {
- final field core::Object* m = null;
- synthetic constructor •() → self::B*
+ final field core::Object m = new core::Object::•();
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- static method m() → core::Object*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static method m() → core::Object
+ return new core::Object::•();
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect
index 8799c3a..2b5e162 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect
@@ -1,46 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/ {
- synthetic constructor •() → self::_A&B&M*
+ synthetic constructor •() → self::_A&B&M
: super self::B::•()
;
}
class A extends self::_A&B&M {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
;
}
class B extends core::Object {
- final field core::Object* m;
- synthetic constructor •() → self::B*
+ final field core::Object m;
+ synthetic constructor •() → self::B
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
;
- static method m() → core::Object*
+ static method m() → core::Object
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect
index 29e0464..d81db03 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect
@@ -1,51 +1,31 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class _A&B&M extends self::B implements self::M /*isAnonymousMixin,isEliminatedMixin*/ {
- synthetic constructor •() → self::_A&B&M*
+ synthetic constructor •() → self::_A&B&M
: super self::B::•()
;
- static method m() → core::Object*
- return null;
+ static method m() → core::Object
+ return new core::Object::•();
}
class A extends self::_A&B&M {
- synthetic constructor •() → self::A*
+ synthetic constructor •() → self::A
: super self::_A&B&M::•()
;
}
class B extends core::Object {
- final field core::Object* m = null;
- synthetic constructor •() → self::B*
+ final field core::Object m = new core::Object::•();
+ synthetic constructor •() → self::B
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class M extends core::Object {
- synthetic constructor •() → self::M*
+ synthetic constructor •() → self::M
: super core::Object::•()
;
- static method m() → core::Object*
- return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ static method m() → core::Object
+ return new core::Object::•();
}
static method main() → dynamic {
new self::A::•();
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart b/pkg/front_end/testcases/general/named_function_scope.dart
index 0a78452..bfb0a73 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart
+++ b/pkg/front_end/testcases/general/named_function_scope.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class T {}
class V {}
@@ -53,17 +53,17 @@
}
{
T t;
- T T() {}
+ T T() => throw '';
}
{
- T T() {}
+ T T() => throw '';
}
{
T t;
- T T(T t) {}
+ T T(T t) => t;
}
{
- T T(T t) {}
+ T T(T t) => t;
}
{
void T(T t) {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
index 9fe26ce..b05a61b 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class T {}
class V {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
index 9fe26ce..b05a61b 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class T {}
class V {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.weak.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.expect
index 8ae3c40..18cd85e 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.weak.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -50,31 +50,31 @@
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:55:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:59:5: Context: Previous use of 'T'.
-// T T() {}
+// T T() => throw '';
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:62:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:66:5: Context: Previous use of 'T'.
-// T T(T t) {}
+// T T(T t) => t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:69:12: Error: 'T' isn't a type.
@@ -85,38 +85,18 @@
import "dart:core" as core;
class T extends core::Object {
- synthetic constructor •() → self::T*
+ synthetic constructor •() → self::T
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class V extends core::Object {
- synthetic constructor •() → self::V*
+ synthetic constructor •() → self::V
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- self::T* t;
- self::V* v;
+ self::T t;
+ self::V v;
{
function T() → Null {}
}
@@ -124,68 +104,72 @@
dynamic v;
}
{
- self::T* t;
- () →* Null x = let final () →* Null T = () → Null {} in T;
+ self::T t;
+ () → Null x = let final () → Null T = () → Null {} in T;
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
var V;
^";
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
var V = null;
^" in null;
}
{
- () →* Null x = let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
+ () → Null x = let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
var x = T T() {};
- ^" in let final () →* Null T = () → Null {} in T;
+ ^" in let final () → Null T = () → Null {} in T;
}
{
- self::V* V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
+ self::V V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
V V;
^";
}
{
- <T extends core::Object* = dynamic>() →* Null x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
+ <T extends core::Object? = dynamic>() → Null x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
var x = T<T>() {};
- ^" in let final <T extends core::Object* = dynamic>() →* Null T = <T extends core::Object* = dynamic>() → Null {} in T;
+ ^" in let final <T extends core::Object? = dynamic>() → Null T = <T extends core::Object? = dynamic>() → Null {} in T;
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.weak.modular.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.modular.expect
index 8ae3c40..18cd85e 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -50,31 +50,31 @@
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:55:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:59:5: Context: Previous use of 'T'.
-// T T() {}
+// T T() => throw '';
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:62:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:66:5: Context: Previous use of 'T'.
-// T T(T t) {}
+// T T(T t) => t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:69:12: Error: 'T' isn't a type.
@@ -85,38 +85,18 @@
import "dart:core" as core;
class T extends core::Object {
- synthetic constructor •() → self::T*
+ synthetic constructor •() → self::T
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class V extends core::Object {
- synthetic constructor •() → self::V*
+ synthetic constructor •() → self::V
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- self::T* t;
- self::V* v;
+ self::T t;
+ self::V v;
{
function T() → Null {}
}
@@ -124,68 +104,72 @@
dynamic v;
}
{
- self::T* t;
- () →* Null x = let final () →* Null T = () → Null {} in T;
+ self::T t;
+ () → Null x = let final () → Null T = () → Null {} in T;
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
var V;
^";
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
var V = null;
^" in null;
}
{
- () →* Null x = let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
+ () → Null x = let final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
var x = T T() {};
- ^" in let final () →* Null T = () → Null {} in T;
+ ^" in let final () → Null T = () → Null {} in T;
}
{
- self::V* V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
+ self::V V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
V V;
^";
}
{
- <T extends core::Object* = dynamic>() →* Null x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
+ <T extends core::Object? = dynamic>() → Null x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
var x = T<T>() {};
- ^" in let final <T extends core::Object* = dynamic>() →* Null T = <T extends core::Object* = dynamic>() → Null {} in T;
+ ^" in let final <T extends core::Object? = dynamic>() → Null T = <T extends core::Object? = dynamic>() → Null {} in T;
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect
index 7d88d26..6730729 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect
@@ -1,34 +1,14 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class T extends core::Object {
- synthetic constructor •() → self::T*
+ synthetic constructor •() → self::T
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class V extends core::Object {
- synthetic constructor •() → self::V*
+ synthetic constructor •() → self::V
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic
;
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect
index c14d8e6..b2b67d2 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
//
// Problems in library:
//
@@ -50,31 +50,31 @@
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:55:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T() {}
+// T T() => throw '';
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:59:5: Context: Previous use of 'T'.
-// T T() {}
+// T T() => throw '';
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:62:5: Context: Previous use of 'T'.
// T t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
-// T T(T t) {}
+// T T(T t) => t;
// ^
// pkg/front_end/testcases/general/named_function_scope.dart:66:5: Context: Previous use of 'T'.
-// T T(T t) {}
+// T T(T t) => t;
// ^
//
// pkg/front_end/testcases/general/named_function_scope.dart:69:12: Error: 'T' isn't a type.
@@ -85,38 +85,18 @@
import "dart:core" as core;
class T extends core::Object {
- synthetic constructor •() → self::T*
+ synthetic constructor •() → self::T
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class V extends core::Object {
- synthetic constructor •() → self::V*
+ synthetic constructor •() → self::V
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method test() → dynamic {
- self::T* t;
- self::V* v;
+ self::T t;
+ self::V v;
{
function T() → Null {}
}
@@ -124,68 +104,72 @@
dynamic v;
}
{
- self::T* t;
- () →* Null x = let final () →* Null T = () → Null {} in T;
+ self::T t;
+ () → Null x = let final () → Null T = () → Null {} in T;
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:31:9: Error: Can't declare 'V' because it was already used in this scope.
var V;
^";
}
{
- self::V* v;
+ self::V v;
invalid-type V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:36:9: Error: Can't declare 'V' because it was already used in this scope.
var V = null;
^" in null;
}
{
- () →* Null x = let final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
+ () → Null x = let final invalid-type #t1 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:41:15: Error: Can't declare 'T' because it was already used in this scope.
var x = T T() {};
- ^" in let final () →* Null T = () → Null {} in T;
+ ^" in let final () → Null T = () → Null {} in T;
}
{
- self::V* V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
+ self::V V = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:47:7: Error: Can't declare 'V' because it was already used in this scope.
V V;
^";
}
{
- <T extends core::Object* = dynamic>() →* Null x = let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
+ <T extends core::Object? = dynamic>() → Null x = let final invalid-type #t2 = invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:52:13: Error: 'T' is already declared in this scope.
var x = T<T>() {};
- ^" in let final <T extends core::Object* = dynamic>() →* Null T = <T extends core::Object* = dynamic>() → Null {} in T;
+ ^" in let final <T extends core::Object? = dynamic>() → Null T = <T extends core::Object? = dynamic>() → Null {} in T;
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:56:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:59:7: Error: Can't declare 'T' because it was already used in this scope.
- T T() {}
+ T T() => throw '';
^";
- function T() → self::T* {}
+ function T() → self::T
+ return throw "";
}
}
{
- self::T* t;
+ self::T t;
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:63:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
{
invalid-expression "pkg/front_end/testcases/general/named_function_scope.dart:66:7: Error: Can't declare 'T' because it was already used in this scope.
- T T(T t) {}
+ T T(T t) => t;
^";
- function T(self::T* t) → self::T* {}
+ function T(self::T t) → self::T
+ return t;
}
}
{
diff --git a/pkg/front_end/testcases/general/named_parameters.dart b/pkg/front_end/testcases/general/named_parameters.dart
index a2685613..a1892c6 100644
--- a/pkg/front_end/testcases/general/named_parameters.dart
+++ b/pkg/front_end/testcases/general/named_parameters.dart
@@ -1,10 +1,10 @@
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
class Superclass {
foo({alpha, beta}) {}
bar({beta, alpha}) {}
-// @dart=2.9
namedCallback(callback({String alpha, int beta})) {
callback(alpha: 'one', beta: 2);
callback(beta: 1, alpha: 'two');
diff --git a/pkg/front_end/testcases/general/native_as_name.dart b/pkg/front_end/testcases/general/native_as_name.dart
index 02e4156..f22c361a 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart
+++ b/pkg/front_end/testcases/general/native_as_name.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
main() {
print(new W().native);
print(new X().native());
@@ -29,5 +29,5 @@
class Z {
set native(String s) => f = s;
- String f;
+ String? f;
}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
index 30a7550..7617a87 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
main() {}
class W {
@@ -21,5 +20,5 @@
class Z {
set native(String s) => f = s;
- String f;
+ String? f;
}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
index 0517e7f..d44851f 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
abstract class Y1 {
String get native;
}
@@ -18,7 +17,7 @@
}
class Z {
- String f;
+ String? f;
set native(String s) => f = s;
}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
index f85423d..236f30c 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
@@ -1,89 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class W extends core::Object {
- field core::String* native;
- constructor •() → self::W*
+ field core::String native;
+ constructor •() → self::W
: self::W::native = "field", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- method native() → core::String*
+ method native() → core::String
return "method";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Y1 extends core::Object {
- synthetic constructor •() → self::Y1*
+ synthetic constructor •() → self::Y1
: super core::Object::•()
;
- abstract get native() → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get native() → core::String;
}
class Y2 extends self::Y1 {
- synthetic constructor •() → self::Y2*
+ synthetic constructor •() → self::Y2
: super self::Y1::•()
;
@#C1
- get native() → core::String*
+ get native() → core::String
return "getter";
}
class Z extends core::Object {
- field core::String* f = null;
- synthetic constructor •() → self::Z*
+ field core::String? f = null;
+ synthetic constructor •() → self::Z
: super core::Object::•()
;
- set native(core::String* s) → void
+ set native(core::String s) → void
return this.{self::Z::f} = s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::W::•().{self::W::native}{core::String*});
- core::print(new self::X::•().{self::X::native}(){() →* core::String*});
- core::print(new self::Y2::•().{self::Y2::native}{core::String*});
- core::print((let final self::Z* #t1 = new self::Z::•() in block {
+ core::print(new self::W::•().{self::W::native}{core::String});
+ core::print(new self::X::•().{self::X::native}(){() → core::String});
+ core::print(new self::Y2::•().{self::Y2::native}{core::String});
+ core::print((let final self::Z #t1 = new self::Z::•() in block {
#t1.{self::Z::native} = "setter";
- } =>#t1).{self::Z::f}{core::String*});
+ } =>#t1).{self::Z::f}{core::String?});
}
constants {
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.modular.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.modular.expect
index f85423d..236f30c 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.modular.expect
@@ -1,89 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class W extends core::Object {
- field core::String* native;
- constructor •() → self::W*
+ field core::String native;
+ constructor •() → self::W
: self::W::native = "field", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- method native() → core::String*
+ method native() → core::String
return "method";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Y1 extends core::Object {
- synthetic constructor •() → self::Y1*
+ synthetic constructor •() → self::Y1
: super core::Object::•()
;
- abstract get native() → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get native() → core::String;
}
class Y2 extends self::Y1 {
- synthetic constructor •() → self::Y2*
+ synthetic constructor •() → self::Y2
: super self::Y1::•()
;
@#C1
- get native() → core::String*
+ get native() → core::String
return "getter";
}
class Z extends core::Object {
- field core::String* f = null;
- synthetic constructor •() → self::Z*
+ field core::String? f = null;
+ synthetic constructor •() → self::Z
: super core::Object::•()
;
- set native(core::String* s) → void
+ set native(core::String s) → void
return this.{self::Z::f} = s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::W::•().{self::W::native}{core::String*});
- core::print(new self::X::•().{self::X::native}(){() →* core::String*});
- core::print(new self::Y2::•().{self::Y2::native}{core::String*});
- core::print((let final self::Z* #t1 = new self::Z::•() in block {
+ core::print(new self::W::•().{self::W::native}{core::String});
+ core::print(new self::X::•().{self::X::native}(){() → core::String});
+ core::print(new self::Y2::•().{self::Y2::native}{core::String});
+ core::print((let final self::Z #t1 = new self::Z::•() in block {
#t1.{self::Z::native} = "setter";
- } =>#t1).{self::Z::f}{core::String*});
+ } =>#t1).{self::Z::f}{core::String?});
}
constants {
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect
index 27aedb4..bbae0cc 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect
@@ -1,76 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class W extends core::Object {
- field core::String* native;
- constructor •() → self::W*
+ field core::String native;
+ constructor •() → self::W
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
;
- method native() → core::String*
+ method native() → core::String
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Y1 extends core::Object {
- synthetic constructor •() → self::Y1*
+ synthetic constructor •() → self::Y1
;
- abstract get native() → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get native() → core::String;
}
class Y2 extends self::Y1 {
- synthetic constructor •() → self::Y2*
+ synthetic constructor •() → self::Y2
;
@core::override
- get native() → core::String*
+ get native() → core::String
;
}
class Z extends core::Object {
- field core::String* f;
- synthetic constructor •() → self::Z*
+ field core::String? f;
+ synthetic constructor •() → self::Z
;
- set native(core::String* s) → void
+ set native(core::String s) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
index f85423d..236f30c 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
@@ -1,89 +1,49 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class W extends core::Object {
- field core::String* native;
- constructor •() → self::W*
+ field core::String native;
+ constructor •() → self::W
: self::W::native = "field", super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
- method native() → core::String*
+ method native() → core::String
return "method";
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
abstract class Y1 extends core::Object {
- synthetic constructor •() → self::Y1*
+ synthetic constructor •() → self::Y1
: super core::Object::•()
;
- abstract get native() → core::String*;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract get native() → core::String;
}
class Y2 extends self::Y1 {
- synthetic constructor •() → self::Y2*
+ synthetic constructor •() → self::Y2
: super self::Y1::•()
;
@#C1
- get native() → core::String*
+ get native() → core::String
return "getter";
}
class Z extends core::Object {
- field core::String* f = null;
- synthetic constructor •() → self::Z*
+ field core::String? f = null;
+ synthetic constructor •() → self::Z
: super core::Object::•()
;
- set native(core::String* s) → void
+ set native(core::String s) → void
return this.{self::Z::f} = s;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- core::print(new self::W::•().{self::W::native}{core::String*});
- core::print(new self::X::•().{self::X::native}(){() →* core::String*});
- core::print(new self::Y2::•().{self::Y2::native}{core::String*});
- core::print((let final self::Z* #t1 = new self::Z::•() in block {
+ core::print(new self::W::•().{self::W::native}{core::String});
+ core::print(new self::X::•().{self::X::native}(){() → core::String});
+ core::print(new self::Y2::•().{self::Y2::native}{core::String});
+ core::print((let final self::Z #t1 = new self::Z::•() in block {
#t1.{self::Z::native} = "setter";
- } =>#t1).{self::Z::f}{core::String*});
+ } =>#t1).{self::Z::f}{core::String?});
}
constants {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
index 915e7dc..e797b0e 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
const int foo = const int.fromEnvironment("fisk");
class A {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
index 31ede27..0bad45d 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
const int foo = const int.fromEnvironment("fisk");
class A {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
index 6e81cb6..c2ae67e 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class A {
const A(this.bar);
final int bar;
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect
index ddcf830..e401da0 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect
@@ -1,58 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- final field core::int* bar;
- const constructor •(core::int* bar) → self::A*
+ final field core::int bar;
+ const constructor •(core::int bar) → self::A
: self::A::bar = bar, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object /*hasConstConstructor*/ {
- final field self::A* baz;
- const constructor •(self::A* baz) → self::B*
+ final field self::A baz;
+ const constructor •(self::A baz) → self::B
: self::B::baz = baz, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
method fun() → dynamic {
new self::B::•(new self::A::•(#C1));
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* foo = #C1;
+static const field core::int foo = #C1;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.modular.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.modular.expect
index ddcf830..e401da0 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.modular.expect
@@ -1,58 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- final field core::int* bar;
- const constructor •(core::int* bar) → self::A*
+ final field core::int bar;
+ const constructor •(core::int bar) → self::A
: self::A::bar = bar, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object /*hasConstConstructor*/ {
- final field self::A* baz;
- const constructor •(self::A* baz) → self::B*
+ final field self::A baz;
+ const constructor •(self::A baz) → self::B
: self::B::baz = baz, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
method fun() → dynamic {
new self::B::•(new self::A::•(#C1));
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* foo = #C1;
+static const field core::int foo = #C1;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect
index 2c8cde5..fdbe3e3 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect
@@ -1,56 +1,26 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- final field core::int* bar;
- const constructor •(core::int* bar) → self::A*
+ final field core::int bar;
+ const constructor •(core::int bar) → self::A
: self::A::bar = bar, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object /*hasConstConstructor*/ {
- final field self::A* baz;
- const constructor •(self::A* baz) → self::B*
+ final field self::A baz;
+ const constructor •(self::A baz) → self::B
: self::B::baz = baz, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
;
method fun() → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* foo = const core::int::fromEnvironment("fisk");
+static const field core::int foo = const core::int::fromEnvironment("fisk");
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect
index ddcf830..e401da0 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect
@@ -1,58 +1,28 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class A extends core::Object /*hasConstConstructor*/ {
- final field core::int* bar;
- const constructor •(core::int* bar) → self::A*
+ final field core::int bar;
+ const constructor •(core::int bar) → self::A
: self::A::bar = bar, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class B extends core::Object /*hasConstConstructor*/ {
- final field self::A* baz;
- const constructor •(self::A* baz) → self::B*
+ final field self::A baz;
+ const constructor •(self::A baz) → self::B
: self::B::baz = baz, super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class C extends core::Object {
- synthetic constructor •() → self::C*
+ synthetic constructor •() → self::C
: super core::Object::•()
;
method fun() → dynamic {
new self::B::•(new self::A::•(#C1));
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static const field core::int* foo = #C1;
+static const field core::int foo = #C1;
static method main() → dynamic {}
constants {
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart b/pkg/front_end/testcases/general/nested_property_set.dart
index 52559f0..ba6989b 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart
+++ b/pkg/front_end/testcases/general/nested_property_set.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
class NumField {
num field;
}
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart b/pkg/front_end/testcases/general/nested_variable_set.dart
index b0fc13d..915afb3 100644
--- a/pkg/front_end/testcases/general/nested_variable_set.dart
+++ b/pkg/front_end/testcases/general/nested_variable_set.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
main() {
int intLocal1;
int intLocal2;
diff --git a/pkg/front_end/testcases/general/nested_variance.dart b/pkg/front_end/testcases/general/nested_variance.dart
index 94f1a05..c1d23d3 100644
--- a/pkg/front_end/testcases/general/nested_variance.dart
+++ b/pkg/front_end/testcases/general/nested_variance.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
// Testing that i2b and checks for correct super-boundedness are applied
// to type arguments, taking the variance of type parameters into account.
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart b/pkg/front_end/testcases/general/nested_variance2.dart
new file mode 100644
index 0000000..e5d8f3c
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart
@@ -0,0 +1,242 @@
+// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Testing that i2b and checks for correct super-boundedness are applied
+// to type arguments, taking the variance of type parameters into account.
+
+// Standard type comparison support.
+
+typedef F<X> = void Function<Y extends X>();
+F<X> toF<X>(X x) => throw '';
+
+// Material specific to this test.
+
+typedef Fcov<X> = X Function();
+typedef Fcon<X> = Function(X);
+typedef Finv<X> = X Function(X);
+
+class Acov<X extends Fcov<Y>, Y> {}
+
+class Acon<X extends Fcon<Y>, Y> {}
+
+class Ainv<X extends Finv<Y>, Y> {}
+
+typedef FcovBound<X extends num> = X Function();
+typedef FconBound<X extends num> = Function(X);
+typedef FinvBound<X extends num> = X Function(X);
+
+class AcovBound<X extends FcovBound<Y>, Y extends num> {}
+
+class AconBound<X extends FconBound<Y>, Y extends num> {}
+
+class AinvBound<X extends FinvBound<Y>, Y extends num> {}
+
+class A<X> {}
+
+typedef FcovCyclicBound<X extends A<X>> = X Function();
+typedef FconCyclicBound<X extends A<X>> = Function(X);
+typedef FinvCyclicBound<X extends A<X>> = X Function(X);
+
+class AcovCyclicBound<X extends FcovCyclicBound<Y>, Y extends A<Y>> {}
+
+class AconCyclicBound<X extends FconCyclicBound<Y>, Y extends A<Y>> {}
+
+class AinvCyclicBound<X extends FinvCyclicBound<Y>, Y extends A<Y>> {}
+
+typedef FcovCyclicCoBound<X extends Function(X)> = X Function();
+typedef FconCyclicCoBound<X extends Function(X)> = Function(X);
+typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+
+class AcovCyclicCoBound<X extends FcovCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class AconCyclicCoBound<X extends FconCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class B<X> {}
+
+void testTypeAliasAsTypeArgument(
+ Acov source1,
+ Acon source2,
+ Ainv source3,
+ AcovBound source4,
+ AconBound source5,
+ AinvBound source6,
+ AcovCyclicBound source7,
+ AconCyclicBound source8,
+ AcovCyclicCoBound source10,
+ AconCyclicCoBound source11,
+) {
+ // I2b: Use bounds (Fcov<Y>, dynamic), then replace covariant occurrence
+ // (of `Y` in `Acov<Fcov<Y>, _>`) by `Y`s value `dynamic`. Resulting type
+ // `Acov<Fcov<dynamic>, dynamic>` is regular-bounded.
+ var fsource1 = toF(source1);
+ F<Acov<Fcov<dynamic>, dynamic>> target1 = fsource1;
+
+ // I2b: Use bounds (Fcon<Y>, dynamic), then replace contravariant occurrence
+ // (of `Y` in `Acon<Fcon<Y>, _>`) by `Null`. Resulting type
+ // is super-bounded: Acon<Fcon<Object>, Null> is regular-bounded.
+ var fsource2 = toF(source2);
+ F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+
+ // I2b: Use bounds (Finv<Y>, dynamic) then replace invariant occurrence
+ // (of `Y` in `Ainv<Finv<Y>, _>`) by `Y`s value `dynamic`. Resulting type
+ // `Ainv<Finv<dynamic>, dynamic>` is regular-bounded.
+ var fsource3 = toF(source3);
+ F<Ainv<Finv<dynamic>, dynamic>> target3 = fsource3;
+
+ // I2b: Use bounds (FcovBound<Y>, num), then replace covariant occurrence
+ // (of `Y` in `AcovBound<FcovBound<Y>, _>`) by `Y`s value `num`.
+ // Resulting type `AcovBound<FcovBound<num>, num>` is regular-bounded.
+ var fsource4 = toF(source4);
+ F<AcovBound<FcovBound<num>, num>> target4 = fsource4;
+
+ // I2b: Use bounds (FconBound<Y>, num), then replace contravariant occurrence
+ // of `Y` in `AconBound<FconBound<Y>, _>` by `Never`. Resulting type is
+ // super-bounded: AconBound<FconBound<Object>, num> is regular-bounded.
+ var fsource5 = toF(source5);
+ F<AconBound<FconBound<Never>, num>> target5 = fsource5;
+
+ // I2b: Use bounds (FinvBound<Y>, num), then replace invariant occurrence
+ // of `Y` in `AinvBound<FinvBound<Y>, _>` by `Y`s value `num`. Resulting
+ // type `AinvBound<FinvBound<num>, num>` is regular-bounded.
+ var fsource6 = toF(source6);
+ F<AinvBound<FinvBound<num>, num>> target6 = fsource6;
+
+ // I2b: Use bounds (FcovCyclicBound<Y>, A<Y>), then break cycle {Y} by
+ // replacing covariant occurrence of `Y` in `AcovCyclicBound<_, A<Y>>`
+ // by `dynamic`; then replace covariant occurrence of `Y` in
+ // `AcovCyclicBound<FcovCyclicBound<Y>, _>` by `Y`s value `A<dynamic>`.
+ // Resulting type `AcovCyclicBound<FcovCyclicBound<A<dynamic>>, A<dynamic>>>`
+ // is regular-bounded.
+ var fsource7 = toF(source7);
+ F<AcovCyclicBound<FcovCyclicBound<A<dynamic>>, A<dynamic>>> target7 =
+ fsource7;
+
+ // I2b: Use bounds (FconCyclicBound<Y>, A<Y>), then break cycle {Y} by
+ // replacing covariant occurrence of `Y` in `AconCyclicBound<_, A<Y>>`
+ // by `dynamic`; then replace contravariant occurrence of `Y` in
+ // `AconCyclicBound<FconCyclicBound<Y>, _>` by `Never`.
+ // Resulting type `AconCyclicBound<FconCyclicBound<Never>, A<dynamic>>>` is
+ // super-bounded because `AconCyclicBound<FconCyclicBound<Object>, A<Null>>>`
+ // is regular-bounded.
+ var fsource8 = toF(source8);
+ F<AconCyclicBound<FconCyclicBound<Never>, A<dynamic>>> target8 = fsource8;
+
+ // I2b: Use bounds (FinvCyclicBound<Y>, A<Y>), then break cycle {Y} by
+ // replacing covariant occurrence of `Y` in `AinvCyclicBound<_, A<Y>>`
+ // by `dynamic`; then replace invariant occurrence of `Y` in
+ // `AinvCyclicBound<FinvCyclicBound<Y>, _>` by `Y`s value `A<dynamic>`.
+ // Resulting type `AinvCyclicBound<FinvCyclicBound<A<dynamic>>, A<dynamic>>>`
+ // looks regular-bounded, but contains `FinvCyclicBound<A<dynamic>>` which
+ // is not well-bounded.
+ AinvCyclicBound source9 = throw ''; //# 01: compile-time error
+ // var fsource9 = toF(source9);
+ // F<AinvCyclicBound<FinvCyclicBound<A<dynamic>>, A<dynamic>>> target9 =
+ // fsource9;
+
+ // I2b: Use bounds (FcovCyclicCoBound<Y>, Function(Y)), then break cycle {Y}
+ // by replacing contravariant occurrence of `Y` in
+ // `AcovCyclicCoBound<_, Function(Y)>` by `Never`; then replace covariant
+ // occurrence of `Y` in `AcovCyclicCoBound<FcovCyclicCoBound<Y>, _>` by `Y`s
+ // value `Function(Never)`. Resulting type
+ // `AcovCyclicCoBound<FcovCyclicCoBound<Function(Null)>, Function(Null)>`
+ // is regular-bounded, with subterm `FcovCyclicCoBound<Function(Never)>` which
+ // is super-bounded because `FcovCyclicCoBound<Function(Object)>` is
+ // regular-bounded.
+ var fsource10 = toF(source10);
+ F<AcovCyclicCoBound<FcovCyclicCoBound<Function(Never)>, Function(Never)>>
+ target10 = fsource10;
+
+ // I2b: Use bounds (FconCyclicCoBound<Y>, Function(Y)), then break cycle {Y}
+ // by replacing contravariant occurrence of `Y` in
+ // `AconCyclicCoBound<_, Function(Y)>` by `Never`; then replace contravariant
+ // occurrence of `Y` in `AconCyclicCoBound<FconCyclicCoBound<Y>, _>` by
+ // `Never`. Resulting type
+ // `AconCyclicCoBound<FconCyclicCoBound<Never>, Function(Never)>` is
+ // super-bounded because
+ // `AconCyclicCoBound<FconCyclicCoBound<Object>, Function(Object)>` is
+ // regular-bounded.
+ var fsource11 = toF(source11);
+ F<AconCyclicCoBound<FconCyclicCoBound<Never>, Function(Never)>> target11 =
+ fsource11;
+
+ // I2b: Use bounds (FinvCyclicCoBound<Y>, Function(Y)), then break cycle {Y}
+ // by replacing contravariant occurrence of `Y` in
+ // `AinvCyclicCoBound<_, Function(Y)>` by `Null`; then replace invariant
+ // occurrence of `Y` in `AinvCyclicCoBound<FinvCyclicCoBound<Y>, _>` by `Y`s
+ // value `Function(Null)`.
+ // Resulting type
+ // `AinvCyclicCoBound<FinvCyclicCoBound<Function(Null)>, Function(Null)>>`
+ // looks regular-bounded, but contains `FinvCyclicCoBound<Function(Null)>`
+ // which is not well-bounded.
+ AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+ // var fsource12 = toF(source12);
+ // F<AinvCyclicCoBound<FinvCyclicCoBound<Function(Null)>, Function(Null)>>
+ // target12 = fsource12;
+}
+
+void testNested(
+ B<Acov> source1,
+ B<Acon> source2,
+ B<Ainv> source3,
+ B<AcovBound> source4,
+ B<AconBound> source5,
+ B<AinvBound> source6,
+ B<AcovCyclicBound> source7,
+ B<AconCyclicBound> source8,
+ B<AcovCyclicCoBound> source10,
+ B<AconCyclicCoBound> source11,
+) {
+ // Everything gets the same treatment when the cases from `testTopLevel`
+ // are duplicated at the nested level in a covariant position.
+
+ var fsource1 = toF(source1);
+ F<B<Acov<Fcov<dynamic>, dynamic>>> target1 = fsource1;
+
+ var fsource2 = toF(source2);
+ F<B<Acon<Fcon<Never>, dynamic>>> target2 = fsource2;
+
+ var fsource3 = toF(source3);
+ F<B<Ainv<Finv<dynamic>, dynamic>>> target3 = fsource3;
+
+ var fsource4 = toF(source4);
+ F<B<AcovBound<FcovBound<num>, num>>> target4 = fsource4;
+
+ var fsource5 = toF(source5);
+ F<B<AconBound<FconBound<Never>, num>>> target5 = fsource5;
+
+ var fsource6 = toF(source6);
+ F<B<AinvBound<FinvBound<num>, num>>> target6 = fsource6;
+
+ var fsource7 = toF(source7);
+ F<B<AcovCyclicBound<FcovCyclicBound<A<dynamic>>, A<dynamic>>>> target7 =
+ fsource7;
+
+ var fsource8 = toF(source8);
+ F<B<AconCyclicBound<FconCyclicBound<Never>, A<dynamic>>>> target8 = fsource8;
+
+ B<AinvCyclicBound> source9 = throw ''; //# 03: compile-time error
+ // var fsource9 = toF(source9);
+ // F<B<AinvCyclicBound<FinvCyclicBound<A<dynamic>>, A<dynamic>>>> target9 =
+ // fsource9;
+
+ var fsource10 = toF(source10);
+ F<B<AcovCyclicCoBound<FcovCyclicCoBound<Function(Never)>, Function(Never)>>>
+ target10 = fsource10;
+
+ var fsource11 = toF(source11);
+ F<B<AconCyclicCoBound<FconCyclicCoBound<Never>, Function(Never)>>> target11 =
+ fsource11;
+
+ B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+ // var fsource12 = toF(source12);
+ // F<B<AinvCyclicCoBound<FinvCyclicCoBound<Function(Null)>, Function(Null)>>>
+ // target12 = fsource12;
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline.expect
new file mode 100644
index 0000000..68a9030
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline.expect
@@ -0,0 +1,74 @@
+typedef F<X> = void Function<Y extends X>();
+F<X> toF<X>(X x) => throw '';
+typedef Fcov<X> = X Function();
+typedef Fcon<X> = Function(X);
+typedef Finv<X> = X Function(X);
+
+class Acov<X extends Fcov<Y>, Y> {}
+
+class Acon<X extends Fcon<Y>, Y> {}
+
+class Ainv<X extends Finv<Y>, Y> {}
+
+typedef FcovBound<X extends num> = X Function();
+typedef FconBound<X extends num> = Function(X);
+typedef FinvBound<X extends num> = X Function(X);
+
+class AcovBound<X extends FcovBound<Y>, Y extends num> {}
+
+class AconBound<X extends FconBound<Y>, Y extends num> {}
+
+class AinvBound<X extends FinvBound<Y>, Y extends num> {}
+
+class A<X> {}
+
+typedef FcovCyclicBound<X extends A<X>> = X Function();
+typedef FconCyclicBound<X extends A<X>> = Function(X);
+typedef FinvCyclicBound<X extends A<X>> = X Function(X);
+
+class AcovCyclicBound<X extends FcovCyclicBound<Y>, Y extends A<Y>> {}
+
+class AconCyclicBound<X extends FconCyclicBound<Y>, Y extends A<Y>> {}
+
+class AinvCyclicBound<X extends FinvCyclicBound<Y>, Y extends A<Y>> {}
+
+typedef FcovCyclicCoBound<X extends Function(X)> = X Function();
+typedef FconCyclicCoBound<X extends Function(X)> = Function(X);
+typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+
+class AcovCyclicCoBound<X extends FcovCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class AconCyclicCoBound<X extends FconCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class B<X> {}
+
+void testTypeAliasAsTypeArgument(
+ Acov source1,
+ Acon source2,
+ Ainv source3,
+ AcovBound source4,
+ AconBound source5,
+ AinvBound source6,
+ AcovCyclicBound source7,
+ AconCyclicBound source8,
+ AcovCyclicCoBound source10,
+ AconCyclicCoBound source11,
+) {}
+void testNested(
+ B<Acov> source1,
+ B<Acon> source2,
+ B<Ainv> source3,
+ B<AcovBound> source4,
+ B<AconBound> source5,
+ B<AinvBound> source6,
+ B<AcovCyclicBound> source7,
+ B<AconCyclicBound> source8,
+ B<AcovCyclicCoBound> source10,
+ B<AconCyclicCoBound> source11,
+) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..b9ddca8
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.textual_outline_modelled.expect
@@ -0,0 +1,71 @@
+F<X> toF<X>(X x) => throw '';
+
+class A<X> {}
+
+class Acon<X extends Fcon<Y>, Y> {}
+
+class AconBound<X extends FconBound<Y>, Y extends num> {}
+
+class AconCyclicBound<X extends FconCyclicBound<Y>, Y extends A<Y>> {}
+
+class AconCyclicCoBound<X extends FconCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class Acov<X extends Fcov<Y>, Y> {}
+
+class AcovBound<X extends FcovBound<Y>, Y extends num> {}
+
+class AcovCyclicBound<X extends FcovCyclicBound<Y>, Y extends A<Y>> {}
+
+class AcovCyclicCoBound<X extends FcovCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class Ainv<X extends Finv<Y>, Y> {}
+
+class AinvBound<X extends FinvBound<Y>, Y extends num> {}
+
+class AinvCyclicBound<X extends FinvCyclicBound<Y>, Y extends A<Y>> {}
+
+class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+}
+
+class B<X> {}
+
+main() {}
+typedef F<X> = void Function<Y extends X>();
+typedef Fcon<X> = Function(X);
+typedef FconBound<X extends num> = Function(X);
+typedef FconCyclicBound<X extends A<X>> = Function(X);
+typedef FconCyclicCoBound<X extends Function(X)> = Function(X);
+typedef Fcov<X> = X Function();
+typedef FcovBound<X extends num> = X Function();
+typedef FcovCyclicBound<X extends A<X>> = X Function();
+typedef FcovCyclicCoBound<X extends Function(X)> = X Function();
+typedef Finv<X> = X Function(X);
+typedef FinvBound<X extends num> = X Function(X);
+typedef FinvCyclicBound<X extends A<X>> = X Function(X);
+typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+void testNested(
+ B<Acov> source1,
+ B<Acon> source2,
+ B<Ainv> source3,
+ B<AcovBound> source4,
+ B<AconBound> source5,
+ B<AinvBound> source6,
+ B<AcovCyclicBound> source7,
+ B<AconCyclicBound> source8,
+ B<AcovCyclicCoBound> source10,
+ B<AconCyclicCoBound> source11,
+) {}
+void testTypeAliasAsTypeArgument(
+ Acov source1,
+ Acon source2,
+ Ainv source3,
+ AcovBound source4,
+ AconBound source5,
+ AinvBound source6,
+ AcovCyclicBound source7,
+ AconCyclicBound source8,
+ AcovCyclicCoBound source10,
+ AconCyclicCoBound source11,
+) {}
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.weak.expect b/pkg/front_end/testcases/general/nested_variance2.dart.weak.expect
new file mode 100644
index 0000000..8c5790b
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.weak.expect
@@ -0,0 +1,203 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+// - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<invariant X extends core::Object? = dynamic> = <Y extends X% = dynamic>() → void;
+typedef Fcov<X extends core::Object? = dynamic> = () → X%;
+typedef Fcon<contravariant X extends core::Object? = dynamic> = (X%) → dynamic;
+typedef Finv<invariant X extends core::Object? = dynamic> = (X%) → X%;
+typedef FcovBound<X extends core::num> = () → X;
+typedef FconBound<contravariant X extends core::num> = (X) → dynamic;
+typedef FinvBound<invariant X extends core::num> = (X) → X;
+typedef FcovCyclicBound<X extends self::A<X> = self::A<dynamic>> = () → X;
+typedef FconCyclicBound<contravariant X extends self::A<X> = self::A<Never>> = (X) → dynamic;
+typedef FinvCyclicBound<invariant X extends self::A<X> = self::A<dynamic>> = (X) → X;
+typedef FcovCyclicCoBound<X extends (X) → dynamic = (Never) → dynamic> = () → X;
+typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → dynamic;
+typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → X;
+class Acov<X extends () → self::Acov::Y% = () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y%>
+ : super core::Object::•()
+ ;
+}
+class Acon<X extends (self::Acon::Y%) → dynamic = (Never) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y%>
+ : super core::Object::•()
+ ;
+}
+class Ainv<X extends (self::Ainv::Y%) → self::Ainv::Y% = (dynamic) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y%>
+ : super core::Object::•()
+ ;
+}
+class AcovBound<X extends () → self::AcovBound::Y = () → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconBound<X extends (self::AconBound::Y) → dynamic = (Never) → dynamic, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = (core::num) → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
+ : super core::Object::•()
+ ;
+}
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = () → self::A<dynamic>, Y extends self::A<self::AcovCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = (Never) → dynamic, Y extends self::A<self::AconCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = (self::A<dynamic>) → self::A<dynamic>, Y extends self::A<self::AinvCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = () → (Never) → dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = ((Never) → dynamic) → (Never) → dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class B<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::B<self::B::X%>
+ : super core::Object::•()
+ ;
+}
+static method toF<X extends core::Object? = dynamic>(self::toF::X% x) → <Y extends self::toF::X% = dynamic>() → void
+ return throw "";
+static method testTypeAliasAsTypeArgument(self::Acov<() → dynamic, dynamic> source1, self::Acon<(Never) → dynamic, dynamic> source2, self::Ainv<(dynamic) → dynamic, dynamic> source3, self::AcovBound<() → core::num, core::num> source4, self::AconBound<(Never) → dynamic, core::num> source5, self::AinvBound<(core::num) → core::num, core::num> source6, self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> source7, self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> source8, self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> source10, self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> source11) → void {
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void fsource1 = self::toF<self::Acov<() → dynamic, dynamic>>(source1);
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
+ <Y extends self::Acon<(Never) → dynamic, dynamic> = dynamic>() → void fsource2 = self::toF<self::Acon<(Never) → dynamic, dynamic>>(source2);
+ <Y extends self::Acon<(Null) → dynamic, dynamic> = dynamic>() → void target2 = invalid-expression "pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+ - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+ F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+ ^" in fsource2 as{TypeError,ForNonNullableByDefault} <Y extends self::Acon<(Null) → dynamic, dynamic> = dynamic>() → void;
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void fsource3 = self::toF<self::Ainv<(dynamic) → dynamic, dynamic>>(source3);
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void fsource4 = self::toF<self::AcovBound<() → core::num, core::num>>(source4);
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void fsource5 = self::toF<self::AconBound<(Never) → dynamic, core::num>>(source5);
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void fsource6 = self::toF<self::AinvBound<(core::num) → core::num, core::num>>(source6);
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void fsource7 = self::toF<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>(source7);
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void fsource8 = self::toF<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>(source8);
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
+ self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>> source9 = throw "";
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource10 = self::toF<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>(source10);
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void target10 = fsource10;
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource11 = self::toF<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>(source11);
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void target11 = fsource11;
+ self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic> source12 = throw "";
+}
+static method testNested(self::B<self::Acov<() → dynamic, dynamic>> source1, self::B<self::Acon<(Never) → dynamic, dynamic>> source2, self::B<self::Ainv<(dynamic) → dynamic, dynamic>> source3, self::B<self::AcovBound<() → core::num, core::num>> source4, self::B<self::AconBound<(Never) → dynamic, core::num>> source5, self::B<self::AinvBound<(core::num) → core::num, core::num>> source6, self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> source7, self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> source8, self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> source10, self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> source11) → void {
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void fsource1 = self::toF<self::B<self::Acov<() → dynamic, dynamic>>>(source1);
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void fsource2 = self::toF<self::B<self::Acon<(Never) → dynamic, dynamic>>>(source2);
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void fsource3 = self::toF<self::B<self::Ainv<(dynamic) → dynamic, dynamic>>>(source3);
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void fsource4 = self::toF<self::B<self::AcovBound<() → core::num, core::num>>>(source4);
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void fsource5 = self::toF<self::B<self::AconBound<(Never) → dynamic, core::num>>>(source5);
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void fsource6 = self::toF<self::B<self::AinvBound<(core::num) → core::num, core::num>>>(source6);
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void fsource7 = self::toF<self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>>(source7);
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void fsource8 = self::toF<self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>>(source8);
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
+ self::B<self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>>> source9 = throw "";
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource10 = self::toF<self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>>(source10);
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target10 = fsource10;
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource11 = self::toF<self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>>(source11);
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target11 = fsource11;
+ self::B<self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic>> source12 = throw "";
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.weak.modular.expect b/pkg/front_end/testcases/general/nested_variance2.dart.weak.modular.expect
new file mode 100644
index 0000000..8c5790b
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.weak.modular.expect
@@ -0,0 +1,203 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+// - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<invariant X extends core::Object? = dynamic> = <Y extends X% = dynamic>() → void;
+typedef Fcov<X extends core::Object? = dynamic> = () → X%;
+typedef Fcon<contravariant X extends core::Object? = dynamic> = (X%) → dynamic;
+typedef Finv<invariant X extends core::Object? = dynamic> = (X%) → X%;
+typedef FcovBound<X extends core::num> = () → X;
+typedef FconBound<contravariant X extends core::num> = (X) → dynamic;
+typedef FinvBound<invariant X extends core::num> = (X) → X;
+typedef FcovCyclicBound<X extends self::A<X> = self::A<dynamic>> = () → X;
+typedef FconCyclicBound<contravariant X extends self::A<X> = self::A<Never>> = (X) → dynamic;
+typedef FinvCyclicBound<invariant X extends self::A<X> = self::A<dynamic>> = (X) → X;
+typedef FcovCyclicCoBound<X extends (X) → dynamic = (Never) → dynamic> = () → X;
+typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → dynamic;
+typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → X;
+class Acov<X extends () → self::Acov::Y% = () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y%>
+ : super core::Object::•()
+ ;
+}
+class Acon<X extends (self::Acon::Y%) → dynamic = (Never) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y%>
+ : super core::Object::•()
+ ;
+}
+class Ainv<X extends (self::Ainv::Y%) → self::Ainv::Y% = (dynamic) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y%>
+ : super core::Object::•()
+ ;
+}
+class AcovBound<X extends () → self::AcovBound::Y = () → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconBound<X extends (self::AconBound::Y) → dynamic = (Never) → dynamic, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = (core::num) → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
+ : super core::Object::•()
+ ;
+}
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = () → self::A<dynamic>, Y extends self::A<self::AcovCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = (Never) → dynamic, Y extends self::A<self::AconCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = (self::A<dynamic>) → self::A<dynamic>, Y extends self::A<self::AinvCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = () → (Never) → dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = ((Never) → dynamic) → (Never) → dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class B<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::B<self::B::X%>
+ : super core::Object::•()
+ ;
+}
+static method toF<X extends core::Object? = dynamic>(self::toF::X% x) → <Y extends self::toF::X% = dynamic>() → void
+ return throw "";
+static method testTypeAliasAsTypeArgument(self::Acov<() → dynamic, dynamic> source1, self::Acon<(Never) → dynamic, dynamic> source2, self::Ainv<(dynamic) → dynamic, dynamic> source3, self::AcovBound<() → core::num, core::num> source4, self::AconBound<(Never) → dynamic, core::num> source5, self::AinvBound<(core::num) → core::num, core::num> source6, self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> source7, self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> source8, self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> source10, self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> source11) → void {
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void fsource1 = self::toF<self::Acov<() → dynamic, dynamic>>(source1);
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
+ <Y extends self::Acon<(Never) → dynamic, dynamic> = dynamic>() → void fsource2 = self::toF<self::Acon<(Never) → dynamic, dynamic>>(source2);
+ <Y extends self::Acon<(Null) → dynamic, dynamic> = dynamic>() → void target2 = invalid-expression "pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+ - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+ F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+ ^" in fsource2 as{TypeError,ForNonNullableByDefault} <Y extends self::Acon<(Null) → dynamic, dynamic> = dynamic>() → void;
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void fsource3 = self::toF<self::Ainv<(dynamic) → dynamic, dynamic>>(source3);
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void fsource4 = self::toF<self::AcovBound<() → core::num, core::num>>(source4);
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void fsource5 = self::toF<self::AconBound<(Never) → dynamic, core::num>>(source5);
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void fsource6 = self::toF<self::AinvBound<(core::num) → core::num, core::num>>(source6);
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void fsource7 = self::toF<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>(source7);
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void fsource8 = self::toF<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>(source8);
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
+ self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>> source9 = throw "";
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource10 = self::toF<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>(source10);
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void target10 = fsource10;
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource11 = self::toF<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>(source11);
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void target11 = fsource11;
+ self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic> source12 = throw "";
+}
+static method testNested(self::B<self::Acov<() → dynamic, dynamic>> source1, self::B<self::Acon<(Never) → dynamic, dynamic>> source2, self::B<self::Ainv<(dynamic) → dynamic, dynamic>> source3, self::B<self::AcovBound<() → core::num, core::num>> source4, self::B<self::AconBound<(Never) → dynamic, core::num>> source5, self::B<self::AinvBound<(core::num) → core::num, core::num>> source6, self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> source7, self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> source8, self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> source10, self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> source11) → void {
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void fsource1 = self::toF<self::B<self::Acov<() → dynamic, dynamic>>>(source1);
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void fsource2 = self::toF<self::B<self::Acon<(Never) → dynamic, dynamic>>>(source2);
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void fsource3 = self::toF<self::B<self::Ainv<(dynamic) → dynamic, dynamic>>>(source3);
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void fsource4 = self::toF<self::B<self::AcovBound<() → core::num, core::num>>>(source4);
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void fsource5 = self::toF<self::B<self::AconBound<(Never) → dynamic, core::num>>>(source5);
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void fsource6 = self::toF<self::B<self::AinvBound<(core::num) → core::num, core::num>>>(source6);
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void fsource7 = self::toF<self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>>(source7);
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void fsource8 = self::toF<self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>>(source8);
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
+ self::B<self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>>> source9 = throw "";
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource10 = self::toF<self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>>(source10);
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target10 = fsource10;
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource11 = self::toF<self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>>(source11);
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target11 = fsource11;
+ self::B<self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic>> source12 = throw "";
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.weak.outline.expect b/pkg/front_end/testcases/general/nested_variance2.dart.weak.outline.expect
new file mode 100644
index 0000000..0cf1a6b
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+typedef F<invariant X extends core::Object? = dynamic> = <Y extends X% = dynamic>() → void;
+typedef Fcov<X extends core::Object? = dynamic> = () → X%;
+typedef Fcon<contravariant X extends core::Object? = dynamic> = (X%) → dynamic;
+typedef Finv<invariant X extends core::Object? = dynamic> = (X%) → X%;
+typedef FcovBound<X extends core::num> = () → X;
+typedef FconBound<contravariant X extends core::num> = (X) → dynamic;
+typedef FinvBound<invariant X extends core::num> = (X) → X;
+typedef FcovCyclicBound<X extends self::A<X> = self::A<dynamic>> = () → X;
+typedef FconCyclicBound<contravariant X extends self::A<X> = self::A<Never>> = (X) → dynamic;
+typedef FinvCyclicBound<invariant X extends self::A<X> = self::A<dynamic>> = (X) → X;
+typedef FcovCyclicCoBound<X extends (X) → dynamic = (Never) → dynamic> = () → X;
+typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → dynamic;
+typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → X;
+class Acov<X extends () → self::Acov::Y% = () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y%>
+ ;
+}
+class Acon<X extends (self::Acon::Y%) → dynamic = (Never) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y%>
+ ;
+}
+class Ainv<X extends (self::Ainv::Y%) → self::Ainv::Y% = (dynamic) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y%>
+ ;
+}
+class AcovBound<X extends () → self::AcovBound::Y = () → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
+ ;
+}
+class AconBound<X extends (self::AconBound::Y) → dynamic = (Never) → dynamic, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
+ ;
+}
+class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = (core::num) → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
+ ;
+}
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ ;
+}
+class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = () → self::A<dynamic>, Y extends self::A<self::AcovCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
+ ;
+}
+class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = (Never) → dynamic, Y extends self::A<self::AconCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
+ ;
+}
+class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = (self::A<dynamic>) → self::A<dynamic>, Y extends self::A<self::AinvCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
+ ;
+}
+class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = () → (Never) → dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
+ ;
+}
+class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
+ ;
+}
+class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = ((Never) → dynamic) → (Never) → dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
+ ;
+}
+class B<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::B<self::B::X%>
+ ;
+}
+static method toF<X extends core::Object? = dynamic>(self::toF::X% x) → <Y extends self::toF::X% = dynamic>() → void
+ ;
+static method testTypeAliasAsTypeArgument(self::Acov<() → dynamic, dynamic> source1, self::Acon<(Never) → dynamic, dynamic> source2, self::Ainv<(dynamic) → dynamic, dynamic> source3, self::AcovBound<() → core::num, core::num> source4, self::AconBound<(Never) → dynamic, core::num> source5, self::AinvBound<(core::num) → core::num, core::num> source6, self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> source7, self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> source8, self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> source10, self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> source11) → void
+ ;
+static method testNested(self::B<self::Acov<() → dynamic, dynamic>> source1, self::B<self::Acon<(Never) → dynamic, dynamic>> source2, self::B<self::Ainv<(dynamic) → dynamic, dynamic>> source3, self::B<self::AcovBound<() → core::num, core::num>> source4, self::B<self::AconBound<(Never) → dynamic, core::num>> source5, self::B<self::AinvBound<(core::num) → core::num, core::num>> source6, self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> source7, self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> source8, self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> source10, self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> source11) → void
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/nested_variance2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/nested_variance2.dart.weak.transformed.expect
new file mode 100644
index 0000000..77f1c4c
--- /dev/null
+++ b/pkg/front_end/testcases/general/nested_variance2.dart.weak.transformed.expect
@@ -0,0 +1,203 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:177:21: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// AinvCyclicCoBound source12 = throw ''; //# 02: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+// - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(Y)' of the type variable 'Y' on 'AinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:57:57: Context: This is the type variable whose bound isn't conformed to.
+// class AinvCyclicCoBound<X extends FinvCyclicCoBound<Y>, Y extends Function(Y)> {
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'AinvCyclicCoBound<dynamic Function(Never) Function(dynamic Function(Never)), dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Error: Type argument 'dynamic Function(Never)' doesn't conform to the bound 'dynamic Function(X)' of the type variable 'X' on 'FinvCyclicCoBound'.
+// Try changing type arguments so that they conform to the bounds.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:49:27: Context: This is the type variable whose bound isn't conformed to.
+// typedef FinvCyclicCoBound<X extends Function(X)> = X Function(X);
+// ^
+// pkg/front_end/testcases/general/nested_variance2.dart:236:24: Context: If you want 'FinvCyclicCoBound<dynamic Function(Never)>' to be a super-bounded type, note that the inverted type 'B<AinvCyclicCoBound<FinvCyclicCoBound<Never Function(Never)>, Never Function(Object?)>>' must then satisfy its bounds, which it does not.
+// - 'B' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'AinvCyclicCoBound' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+// - 'Object' is from 'dart:core'.
+// B<AinvCyclicCoBound> source12 = throw ''; //# 04: compile-time error
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<invariant X extends core::Object? = dynamic> = <Y extends X% = dynamic>() → void;
+typedef Fcov<X extends core::Object? = dynamic> = () → X%;
+typedef Fcon<contravariant X extends core::Object? = dynamic> = (X%) → dynamic;
+typedef Finv<invariant X extends core::Object? = dynamic> = (X%) → X%;
+typedef FcovBound<X extends core::num> = () → X;
+typedef FconBound<contravariant X extends core::num> = (X) → dynamic;
+typedef FinvBound<invariant X extends core::num> = (X) → X;
+typedef FcovCyclicBound<X extends self::A<X> = self::A<dynamic>> = () → X;
+typedef FconCyclicBound<contravariant X extends self::A<X> = self::A<Never>> = (X) → dynamic;
+typedef FinvCyclicBound<invariant X extends self::A<X> = self::A<dynamic>> = (X) → X;
+typedef FcovCyclicCoBound<X extends (X) → dynamic = (Never) → dynamic> = () → X;
+typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → dynamic;
+typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = (dynamic) → dynamic> = (X) → X;
+class Acov<X extends () → self::Acov::Y% = () → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y%>
+ : super core::Object::•()
+ ;
+}
+class Acon<X extends (self::Acon::Y%) → dynamic = (Never) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y%>
+ : super core::Object::•()
+ ;
+}
+class Ainv<X extends (self::Ainv::Y%) → self::Ainv::Y% = (dynamic) → dynamic, Y extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y%>
+ : super core::Object::•()
+ ;
+}
+class AcovBound<X extends () → self::AcovBound::Y = () → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconBound<X extends (self::AconBound::Y) → dynamic = (Never) → dynamic, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = (core::num) → core::num, Y extends core::num> extends core::Object {
+ synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
+ : super core::Object::•()
+ ;
+}
+class A<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::A<self::A::X%>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = () → self::A<dynamic>, Y extends self::A<self::AcovCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = (Never) → dynamic, Y extends self::A<self::AconCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = (self::A<dynamic>) → self::A<dynamic>, Y extends self::A<self::AinvCyclicBound::Y> = self::A<dynamic>> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = () → (Never) → dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = ((Never) → dynamic) → (Never) → dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = (Never) → dynamic> extends core::Object {
+ synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
+ : super core::Object::•()
+ ;
+}
+class B<X extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → self::B<self::B::X%>
+ : super core::Object::•()
+ ;
+}
+static method toF<X extends core::Object? = dynamic>(self::toF::X% x) → <Y extends self::toF::X% = dynamic>() → void
+ return throw "";
+static method testTypeAliasAsTypeArgument(self::Acov<() → dynamic, dynamic> source1, self::Acon<(Never) → dynamic, dynamic> source2, self::Ainv<(dynamic) → dynamic, dynamic> source3, self::AcovBound<() → core::num, core::num> source4, self::AconBound<(Never) → dynamic, core::num> source5, self::AinvBound<(core::num) → core::num, core::num> source6, self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> source7, self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> source8, self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> source10, self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> source11) → void {
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void fsource1 = self::toF<self::Acov<() → dynamic, dynamic>>(source1);
+ <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
+ <Y extends self::Acon<(Never) → dynamic, dynamic> = dynamic>() → void fsource2 = self::toF<self::Acon<(Never) → dynamic, dynamic>>(source2);
+ <Y extends self::Acon<(Null) → dynamic, dynamic> = dynamic>() → void target2 = invalid-expression "pkg/front_end/testcases/general/nested_variance2.dart:84:42: Error: A value of type 'void Function<Y extends Acon<dynamic Function(Never), dynamic>>()' can't be assigned to a variable of type 'void Function<Y extends Acon<dynamic Function(Null), dynamic>>()' because 'Null' is nullable and 'Never' isn't.
+ - 'Acon' is from 'pkg/front_end/testcases/general/nested_variance2.dart'.
+ F<Acon<Fcon<Null>, dynamic>> target2 = fsource2;
+ ^" in fsource2;
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void fsource3 = self::toF<self::Ainv<(dynamic) → dynamic, dynamic>>(source3);
+ <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void fsource4 = self::toF<self::AcovBound<() → core::num, core::num>>(source4);
+ <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void fsource5 = self::toF<self::AconBound<(Never) → dynamic, core::num>>(source5);
+ <Y extends self::AconBound<(Never) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void fsource6 = self::toF<self::AinvBound<(core::num) → core::num, core::num>>(source6);
+ <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void fsource7 = self::toF<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>(source7);
+ <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void fsource8 = self::toF<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>(source8);
+ <Y extends self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
+ self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>> source9 = throw "";
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource10 = self::toF<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>(source10);
+ <Y extends self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic> = dynamic>() → void target10 = fsource10;
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void fsource11 = self::toF<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>(source11);
+ <Y extends self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic> = dynamic>() → void target11 = fsource11;
+ self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic> source12 = throw "";
+}
+static method testNested(self::B<self::Acov<() → dynamic, dynamic>> source1, self::B<self::Acon<(Never) → dynamic, dynamic>> source2, self::B<self::Ainv<(dynamic) → dynamic, dynamic>> source3, self::B<self::AcovBound<() → core::num, core::num>> source4, self::B<self::AconBound<(Never) → dynamic, core::num>> source5, self::B<self::AinvBound<(core::num) → core::num, core::num>> source6, self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> source7, self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> source8, self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> source10, self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> source11) → void {
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void fsource1 = self::toF<self::B<self::Acov<() → dynamic, dynamic>>>(source1);
+ <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void fsource2 = self::toF<self::B<self::Acon<(Never) → dynamic, dynamic>>>(source2);
+ <Y extends self::B<self::Acon<(Never) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void fsource3 = self::toF<self::B<self::Ainv<(dynamic) → dynamic, dynamic>>>(source3);
+ <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void fsource4 = self::toF<self::B<self::AcovBound<() → core::num, core::num>>>(source4);
+ <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void fsource5 = self::toF<self::B<self::AconBound<(Never) → dynamic, core::num>>>(source5);
+ <Y extends self::B<self::AconBound<(Never) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void fsource6 = self::toF<self::B<self::AinvBound<(core::num) → core::num, core::num>>>(source6);
+ <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void fsource7 = self::toF<self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>>>(source7);
+ <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void fsource8 = self::toF<self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>>>(source8);
+ <Y extends self::B<self::AconCyclicBound<(Never) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
+ self::B<self::AinvCyclicBound<(self::A<dynamic>) → self::A<dynamic>, self::A<dynamic>>> source9 = throw "";
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource10 = self::toF<self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>>>(source10);
+ <Y extends self::B<self::AcovCyclicCoBound<() → (Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target10 = fsource10;
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void fsource11 = self::toF<self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>>>(source11);
+ <Y extends self::B<self::AconCyclicCoBound<(Never) → dynamic, (Never) → dynamic>> = dynamic>() → void target11 = fsource11;
+ self::B<self::AinvCyclicCoBound<((Never) → dynamic) → (Never) → dynamic, (Never) → dynamic>> source12 = throw "";
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart b/pkg/front_end/testcases/general/no_such_method_forwarder.dart
index b2938fc..2d3319a 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
class X {
void _foo() async {
await null;
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
index bf31270..1caa183 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class X {
void _foo() async {}
void foo() => _foo();
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
index bf31270..1caa183 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class X {
void _foo() async {}
void foo() => _foo();
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
index 2fd6b9d..c43b411 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
method _foo() → void async {
@@ -11,42 +11,23 @@
core::print("hello");
}
method foo() → void
- return this.{self::X::_foo}(){() →* void};
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return this.{self::X::_foo}(){() → void};
}
class Y extends core::Object implements self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → void {
+ method noSuchMethod(core::Invocation _) → void {
core::print("Hello from noSuchMethod");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
}
static method main() → dynamic {
- self::Y* y = new self::Y::•();
- y.{self::X::foo}(){() →* void};
+ self::Y y = new self::Y::•();
+ y.{self::X::foo}(){() → void};
}
constants {
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.modular.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.modular.expect
index 2fd6b9d..c43b411 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.modular.expect
@@ -1,9 +1,9 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
method _foo() → void async {
@@ -11,42 +11,23 @@
core::print("hello");
}
method foo() → void
- return this.{self::X::_foo}(){() →* void};
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return this.{self::X::_foo}(){() → void};
}
class Y extends core::Object implements self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → void {
+ method noSuchMethod(core::Invocation _) → void {
core::print("Hello from noSuchMethod");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
}
static method main() → dynamic {
- self::Y* y = new self::Y::•();
- y.{self::X::foo}(){() →* void};
+ self::Y y = new self::Y::•();
+ y.{self::X::foo}(){() → void};
}
constants {
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
index a58f8ef..d466ed3 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
@@ -1,55 +1,36 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
;
method _foo() → void async
;
method foo() → void
;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
class Y extends core::Object implements self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
;
- method noSuchMethod(core::Invocation* _) → void
+ method noSuchMethod(core::Invocation _) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#_foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → void};
}
static method main() → dynamic
;
Extra constant evaluation status:
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:8:8 -> SymbolConstant(#_foo)
-Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:8:8 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:8:8 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:8:8 -> MapConstant(const <Symbol*, dynamic>{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:13:8 -> SymbolConstant(#foo)
-Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:13:8 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:13:8 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:13:8 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:6:8 -> SymbolConstant(#_foo)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:6:8 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:11:8 -> SymbolConstant(#foo)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:11:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:11:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_forwarder.dart:11:8 -> MapConstant(const <Symbol*, dynamic>{})
Extra constant evaluation: evaluated: 16, effectively constant: 8
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 ad020a3..f1d1f67 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
@@ -1,20 +1,20 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:_internal" as _in;
class X extends core::Object {
- synthetic constructor •() → self::X*
+ synthetic constructor •() → self::X
: super core::Object::•()
;
method _foo() → void /* originally async */ {
- final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+ final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
- (dynamic) →* dynamic :async_op_then;
- (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
- core::int* :await_jump_var = 0;
+ (dynamic) → dynamic :async_op_then;
+ (core::Object, core::StackTrace) → dynamic :async_op_error;
+ core::int :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
@@ -28,52 +28,33 @@
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
- on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+ on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
- :async_op(null, null){() →* dynamic};
+ :async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
}
method foo() → void
- return this.{self::X::_foo}(){() →* void};
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ return this.{self::X::_foo}(){() → void};
}
class Y extends core::Object implements self::X {
- synthetic constructor •() → self::Y*
+ synthetic constructor •() → self::Y
: super core::Object::•()
;
- method noSuchMethod(core::Invocation* _) → void {
+ method noSuchMethod(core::Invocation _) → void {
core::print("Hello from noSuchMethod");
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
no-such-method-forwarder method _foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
no-such-method-forwarder method foo() → void
- return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* void};
+ return this.{self::Y::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → void};
}
static method main() → dynamic {
- self::Y* y = new self::Y::•();
- y.{self::X::foo}(){() →* void};
+ self::Y y = new self::Y::•();
+ y.{self::X::foo}(){() → void};
}
constants {
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart b/pkg/front_end/testcases/general/no_such_method_private_setter.dart
index 88c4614..9d026b5 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
import './no_such_method_private_setter_lib.dart';
// `Bar' contains a private setter `_x'. The generated Kernel code for `Foo'
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
index b9a6d13..8aa3b3b 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './no_such_method_private_setter_lib.dart';
class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
index b9a6d13..8aa3b3b 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import './no_such_method_private_setter_lib.dart';
class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
index 180ea5a..ad96a5d 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "no_such_method_private_setter_lib.dart" as no_;
@@ -6,49 +6,36 @@
import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
class Foo extends core::Object implements no_::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
- no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int value) → void
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
no_::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart:8:7: Error: Field '_x' should be initialized because its type 'int' doesn't allow null.
+// int _x;
+// ^^
+//
import self as no_;
import "dart:core" as core;
class Bar extends core::Object {
- field core::int* _x = null;
- synthetic constructor •() → no_::Bar*
+ field core::int _x = null;
+ synthetic constructor •() → no_::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(no_::Bar* bar) → void {
+static method baz(no_::Bar bar) → void {
return;
}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.modular.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.modular.expect
index 180ea5a..ad96a5d 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.modular.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "no_such_method_private_setter_lib.dart" as no_;
@@ -6,49 +6,36 @@
import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
class Foo extends core::Object implements no_::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
- no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int value) → void
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
no_::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart:8:7: Error: Field '_x' should be initialized because its type 'int' doesn't allow null.
+// int _x;
+// ^^
+//
import self as no_;
import "dart:core" as core;
class Bar extends core::Object {
- field core::int* _x = null;
- synthetic constructor •() → no_::Bar*
+ field core::int _x = null;
+ synthetic constructor •() → no_::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(no_::Bar* bar) → void {
+static method baz(no_::Bar bar) → void {
return;
}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
index 882f03b..9750dcc 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "no_such_method_private_setter_lib.dart" as no_;
@@ -6,46 +6,26 @@
import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
class Foo extends core::Object implements no_::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
- no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int value) → void
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
}
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as no_;
import "dart:core" as core;
class Bar extends core::Object {
- field core::int* _x;
- synthetic constructor •() → no_::Bar*
+ field core::int _x;
+ synthetic constructor •() → no_::Bar
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(no_::Bar* bar) → void
+static method baz(no_::Bar bar) → void
;
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
index bc8c75f..48b88df 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
@@ -1,4 +1,4 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "no_such_method_private_setter_lib.dart" as no_;
@@ -6,49 +6,36 @@
import "org-dartlang-testcase:///no_such_method_private_setter_lib.dart";
class Foo extends core::Object implements no_::Bar {
- synthetic constructor •() → self::Foo*
+ synthetic constructor •() → self::Foo
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic} as{TypeError,ForDynamic} core::int*;
- no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int* value) → void
- return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic} as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+ no-such-method-forwarder set /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x(core::int value) → void
+ return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(value)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))){(core::Invocation) → dynamic};
}
static method main() → dynamic {
no_::baz(new self::Foo::•());
}
-library;
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart:8:7: Error: Field '_x' should be initialized because its type 'int' doesn't allow null.
+// int _x;
+// ^^
+//
import self as no_;
import "dart:core" as core;
class Bar extends core::Object {
- field core::int* _x = null;
- synthetic constructor •() → no_::Bar*
+ field core::int _x = null;
+ synthetic constructor •() → no_::Bar
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
-static method baz(no_::Bar* bar) → void {
+static method baz(no_::Bar bar) → void {
return;
}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart b/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
index c2d04f0..b4f3e2c 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
// Companion library to no_such_method_private_setter.dart.
class Bar {
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart b/pkg/front_end/testcases/general/non_covariant_checks.dart
index 17c1225..a46e84f 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
/*@testedFeatures=checks*/
class C<T> {
@@ -16,7 +16,7 @@
field9 = ((void Function(T) f) => field1),
field10 = ((T Function(T) f) {}),
field11 = ((T Function(T) f) => field1),
- field12 = <S extends T>() => null,
+ field12 = <S extends T>() => throw '',
field13 = <S extends T>(S s) {},
field14 = <S extends T>(S s) => s,
field15 = ((S Function<S extends T>() f) {});
@@ -185,26 +185,26 @@
c.field1;
c.field2;
try {
- c. /*@ checkReturn=(num*) ->* void */ field3;
+ c. /*@checkReturn=(num) -> void*/ field3;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(num*) ->* num* */ field4;
+ c. /*@checkReturn=(num) -> num*/ field4;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
c.field5;
try {
- c. /*@ checkReturn=(() ->* num*) ->* void */ field6;
+ c. /*@checkReturn=(() -> num) -> void*/ field6;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(() ->* num*) ->* num* */ field7;
+ c. /*@checkReturn=(() -> num) -> num*/ field7;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
@@ -212,37 +212,37 @@
c.field8;
c.field9;
try {
- c. /*@ checkReturn=((num*) ->* num*) ->* void */ field10;
+ c. /*@checkReturn=((num) -> num) -> void*/ field10;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=((num*) ->* num*) ->* num* */ field11;
+ c. /*@checkReturn=((num) -> num) -> num*/ field11;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>() ->* S* */ field12;
+ c. /*@checkReturn=<S extends num = dynamic>() -> S*/ field12;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>(S*) ->* void */ field13;
+ c. /*@checkReturn=<S extends num = dynamic>(S) -> void*/ field13;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>(S*) ->* S* */ field14;
+ c. /*@checkReturn=<S extends num = dynamic>(S) -> S*/ field14;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(<S extends num* = dynamic>() ->* S*) ->* void */ field15;
+ c. /*@checkReturn=(<S extends num = dynamic>() -> S) -> void*/ field15;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
@@ -251,26 +251,26 @@
c.getter1;
c.getter2;
try {
- c. /*@ checkReturn=(num*) ->* void */ getter3;
+ c. /*@checkReturn=(num) -> void*/ getter3;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(num*) ->* num* */ getter4;
+ c. /*@checkReturn=(num) -> num*/ getter4;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
c.getter5;
try {
- c. /*@ checkReturn=(() ->* num*) ->* void */ getter6;
+ c. /*@checkReturn=(() -> num) -> void*/ getter6;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(() ->* num*) ->* num* */ getter7;
+ c. /*@checkReturn=(() -> num) -> num*/ getter7;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
@@ -278,37 +278,37 @@
c.getter8;
c.getter9;
try {
- c. /*@ checkReturn=((num*) ->* num*) ->* void */ getter10;
+ c. /*@checkReturn=((num) -> num) -> void*/ getter10;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=((num*) ->* num*) ->* num* */ getter11;
+ c. /*@checkReturn=((num) -> num) -> num*/ getter11;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>() ->* S* */ getter12;
+ c. /*@checkReturn=<S extends num = dynamic>() -> S*/ getter12;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>(S*) ->* void */ getter13;
+ c. /*@checkReturn=<S extends num = dynamic>(S) -> void*/ getter13;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=<S extends num* = dynamic>(S*) ->* S* */ getter14;
+ c. /*@checkReturn=<S extends num = dynamic>(S) -> S*/ getter14;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
}
try {
- c. /*@ checkReturn=(<S extends num* = dynamic>() ->* S*) ->* void */ getter15;
+ c. /*@checkReturn=(<S extends num = dynamic>() -> S) -> void*/ getter15;
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
@@ -371,7 +371,7 @@
print(e);
}
try {
- c.setter12 = <S extends num>() => null;
+ c.setter12 = <S extends num>() => throw '';
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
@@ -452,7 +452,7 @@
print(e);
}
try {
- c.method12(<S extends num>() => null);
+ c.method12(<S extends num>() => throw '');
throw 'TypeError expected';
} on TypeError catch (e) {
print(e);
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
index e25dc03..9c7f737 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C<T> {
C(this.field1)
: field2 = (() => field1),
@@ -11,7 +10,7 @@
field9 = ((void Function(T) f) => field1),
field10 = ((T Function(T) f) {}),
field11 = ((T Function(T) f) => field1),
- field12 = <S extends T>() => null,
+ field12 = <S extends T>() => throw '',
field13 = <S extends T>(S s) {},
field14 = <S extends T>(S s) => s,
field15 = ((S Function<S extends T>() f) {});
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
index 506de49..f9b68a1 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class C<T> {
C(this.field1)
: field2 = (() => field1),
@@ -11,7 +10,7 @@
field9 = ((void Function(T) f) => field1),
field10 = ((T Function(T) f) {}),
field11 = ((T Function(T) f) => field1),
- field12 = <S extends T>() => null,
+ field12 = <S extends T>() => throw '',
field13 = <S extends T>(S s) {},
field14 = <S extends T>(S s) => s,
field15 = ((S Function<S extends T>() f) {});
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
index 5f06498..f80ffa1 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
@@ -1,493 +1,483 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class C<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::C::T* field1;
- covariant-by-class field () →* self::C::T* field2;
- field (self::C::T*) →* void field3;
- covariant-by-class field (self::C::T*) →* self::C::T* field4;
- covariant-by-class field () →* () →* self::C::T* field5;
- field (() →* self::C::T*) →* void field6;
- covariant-by-class field (() →* self::C::T*) →* self::C::T* field7;
- covariant-by-class field ((self::C::T*) →* void) →* void field8;
- covariant-by-class field ((self::C::T*) →* void) →* self::C::T* field9;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* void field10;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
- covariant-by-class field <S extends self::C::T* = dynamic>() →* S* field12;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* void field13;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* S* field14;
- covariant-by-class field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
- constructor •(self::C::T* field1) → self::C<self::C::T*>*
- : self::C::field1 = field1, self::C::field2 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → Null {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → Null {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → Null {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → Null {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T*>() → Null => null, self::C::field13 = <S extends self::C::T*>(S* s) → Null {}, self::C::field14 = <S extends self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T*>() →* S* f) → Null {}, super core::Object::•()
+class C<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::C::T% field1;
+ covariant-by-class field () → self::C::T% field2;
+ field (self::C::T%) → void field3;
+ covariant-by-class field (self::C::T%) → self::C::T% field4;
+ covariant-by-class field () → () → self::C::T% field5;
+ field (() → self::C::T%) → void field6;
+ covariant-by-class field (() → self::C::T%) → self::C::T% field7;
+ covariant-by-class field ((self::C::T%) → void) → void field8;
+ covariant-by-class field ((self::C::T%) → void) → self::C::T% field9;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → void field10;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → self::C::T% field11;
+ covariant-by-class field <S extends self::C::T% = dynamic>() → S% field12;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → void field13;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → S% field14;
+ covariant-by-class field (<S extends self::C::T% = dynamic>() → S%) → void field15;
+ constructor •(self::C::T% field1) → self::C<self::C::T%>
+ : self::C::field1 = field1, self::C::field2 = () → self::C::T% => field1, self::C::field3 = (self::C::T% t) → void {}, self::C::field4 = (self::C::T% t) → self::C::T% => t, self::C::field5 = () → () → self::C::T% => () → self::C::T% => field1, self::C::field6 = (() → self::C::T% f) → void {}, self::C::field7 = (() → self::C::T% f) → self::C::T% => field1, self::C::field8 = ((self::C::T%) → void f) → void {}, self::C::field9 = ((self::C::T%) → void f) → self::C::T% => field1, self::C::field10 = ((self::C::T%) → self::C::T% f) → void {}, self::C::field11 = ((self::C::T%) → self::C::T% f) → self::C::T% => field1, self::C::field12 = <S extends self::C::T%>() → Never => throw "", self::C::field13 = <S extends self::C::T%>(S% s) → void {}, self::C::field14 = <S extends self::C::T%>(S% s) → S% => s, self::C::field15 = (<S extends self::C::T%>() → S% f) → void {}, super core::Object::•()
;
- get getter1() → self::C::T*
- return this.{self::C::field1}{self::C::T*};
- get getter2() → () →* self::C::T*
- return this.{self::C::field2}{() →* self::C::T*};
- get getter3() → (self::C::T*) →* void
- return this.{self::C::field3}{(self::C::T*) →* void};
- get getter4() → (self::C::T*) →* self::C::T*
- return this.{self::C::field4}{(self::C::T*) →* self::C::T*};
- get getter5() → () →* () →* self::C::T*
- return this.{self::C::field5}{() →* () →* self::C::T*};
- get getter6() → (() →* self::C::T*) →* void
- return this.{self::C::field6}{(() →* self::C::T*) →* void};
- get getter7() → (() →* self::C::T*) →* self::C::T*
- return this.{self::C::field7}{(() →* self::C::T*) →* self::C::T*};
- get getter8() → ((self::C::T*) →* void) →* void
- return this.{self::C::field8}{((self::C::T*) →* void) →* void};
- get getter9() → ((self::C::T*) →* void) →* self::C::T*
- return this.{self::C::field9}{((self::C::T*) →* void) →* self::C::T*};
- get getter10() → ((self::C::T*) →* self::C::T*) →* void
- return this.{self::C::field10}{((self::C::T*) →* self::C::T*) →* void};
- get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
- return this.{self::C::field11}{((self::C::T*) →* self::C::T*) →* self::C::T*};
- get getter12() → <S extends self::C::T* = dynamic>() →* S*
- return this.{self::C::field12}{<S extends self::C::T* = dynamic>() →* S*};
- get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
- return this.{self::C::field13}{<S extends self::C::T* = dynamic>(S*) →* void};
- get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
- return this.{self::C::field14}{<S extends self::C::T* = dynamic>(S*) →* S*};
- get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
- return this.{self::C::field15}{(<S extends self::C::T* = dynamic>() →* S*) →* void};
- set setter1(covariant-by-class self::C::T* value) → void {
+ get getter1() → self::C::T%
+ return this.{self::C::field1}{self::C::T%};
+ get getter2() → () → self::C::T%
+ return this.{self::C::field2}{() → self::C::T%};
+ get getter3() → (self::C::T%) → void
+ return this.{self::C::field3}{(self::C::T%) → void};
+ get getter4() → (self::C::T%) → self::C::T%
+ return this.{self::C::field4}{(self::C::T%) → self::C::T%};
+ get getter5() → () → () → self::C::T%
+ return this.{self::C::field5}{() → () → self::C::T%};
+ get getter6() → (() → self::C::T%) → void
+ return this.{self::C::field6}{(() → self::C::T%) → void};
+ get getter7() → (() → self::C::T%) → self::C::T%
+ return this.{self::C::field7}{(() → self::C::T%) → self::C::T%};
+ get getter8() → ((self::C::T%) → void) → void
+ return this.{self::C::field8}{((self::C::T%) → void) → void};
+ get getter9() → ((self::C::T%) → void) → self::C::T%
+ return this.{self::C::field9}{((self::C::T%) → void) → self::C::T%};
+ get getter10() → ((self::C::T%) → self::C::T%) → void
+ return this.{self::C::field10}{((self::C::T%) → self::C::T%) → void};
+ get getter11() → ((self::C::T%) → self::C::T%) → self::C::T%
+ return this.{self::C::field11}{((self::C::T%) → self::C::T%) → self::C::T%};
+ get getter12() → <S extends self::C::T% = dynamic>() → S%
+ return this.{self::C::field12}{<S extends self::C::T% = dynamic>() → S%};
+ get getter13() → <S extends self::C::T% = dynamic>(S%) → void
+ return this.{self::C::field13}{<S extends self::C::T% = dynamic>(S%) → void};
+ get getter14() → <S extends self::C::T% = dynamic>(S%) → S%
+ return this.{self::C::field14}{<S extends self::C::T% = dynamic>(S%) → S%};
+ get getter15() → (<S extends self::C::T% = dynamic>() → S%) → void
+ return this.{self::C::field15}{(<S extends self::C::T% = dynamic>() → S%) → void};
+ set setter1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- set setter2(covariant-by-class () →* self::C::T* value) → void {
+ set setter2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- set setter3((self::C::T*) →* void value) → void {
+ set setter3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- set setter4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ set setter4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- set setter5(covariant-by-class () →* () →* self::C::T* value) → void {
+ set setter5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- set setter6((() →* self::C::T*) →* void value) → void {
+ set setter6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- set setter7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ set setter7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- set setter8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ set setter8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- set setter9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ set setter9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- set setter10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ set setter10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- set setter11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ set setter11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- set setter12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ set setter12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- set setter13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ set setter13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- set setter14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ set setter14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- set setter15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ set setter15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- method method1(covariant-by-class self::C::T* value) → void {
+ method method1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- method method2(covariant-by-class () →* self::C::T* value) → void {
+ method method2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- method method3((self::C::T*) →* void value) → void {
+ method method3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- method method4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ method method4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- method method5(covariant-by-class () →* () →* self::C::T* value) → void {
+ method method5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- method method6((() →* self::C::T*) →* void value) → void {
+ method method6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- method method7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ method method7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- method method8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ method method8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- method method9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ method method9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- method method10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ method method10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- method method11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ method method11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- method method12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ method method12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- method method13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ method method13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- method method14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ method method14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- method method15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ method method15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::C<core::num*>* c = new self::C::•<core::int*>(0);
- c.{self::C::field1}{core::num*};
- c.{self::C::field2}{() →* core::num*};
+ self::C<core::num> c = new self::C::•<core::int>(0);
+ c.{self::C::field1}{core::num};
+ c.{self::C::field2}{() → core::num};
try {
- c.{self::C::field3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::field3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::field4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field5}{() →* () →* core::num*};
+ c.{self::C::field5}{() → () → core::num};
try {
- c.{self::C::field6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::field6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::field7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field8}{((core::num*) →* void) →* void};
- c.{self::C::field9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::field8}{((core::num) → void) → void};
+ c.{self::C::field9}{((core::num) → void) → core::num};
try {
- c.{self::C::field10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::field10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::field11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::field12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::field13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::field14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::field15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter1}{core::num*};
- c.{self::C::getter2}{() →* core::num*};
+ c.{self::C::getter1}{core::num};
+ c.{self::C::getter2}{() → core::num};
try {
- c.{self::C::getter3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::getter3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::getter4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter5}{() →* () →* core::num*};
+ c.{self::C::getter5}{() → () → core::num};
try {
- c.{self::C::getter6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::getter6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::getter7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter8}{((core::num*) →* void) →* void};
- c.{self::C::getter9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::getter8}{((core::num) → void) → void};
+ c.{self::C::getter9}{((core::num) → void) → core::num};
try {
- c.{self::C::getter10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::getter10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::getter11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::getter12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::getter13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::getter14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::getter15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
c.{self::C::setter1} = 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter2} = () → core::double* => 0.5;
+ c.{self::C::setter2} = () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter3} = (core::num* n) → Null {};
+ c.{self::C::setter3} = (core::num n) → void {};
try {
- c.{self::C::setter4} = (core::num* n) → core::double* => 0.5;
+ c.{self::C::setter4} = (core::num n) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter5} = () → () →* core::double* => () → core::double* => 0.5;
+ c.{self::C::setter5} = () → () → core::double => () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter6} = (() →* core::num* f) → Null {};
+ c.{self::C::setter6} = (() → core::num f) → void {};
try {
- c.{self::C::setter7} = (() →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter7} = (() → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter8} = ((core::double*) →* void f) → Null {};
+ c.{self::C::setter8} = ((core::double) → void f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter9} = ((core::double*) →* void f) → core::double* => 0.5;
+ c.{self::C::setter9} = ((core::double) → void f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter10} = ((core::double*) →* core::num* f) → Null {};
+ c.{self::C::setter10} = ((core::double) → core::num f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter11} = ((core::double*) →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter11} = ((core::double) → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter12} = <S extends core::num*>() → Null => null;
+ c.{self::C::setter12} = <S extends core::num>() → Never => throw "";
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter13} = <S extends core::num*>(S* s) → Null {};
+ c.{self::C::setter13} = <S extends core::num>(S s) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter14} = <S extends core::num*>(S* s) → S* => s;
+ c.{self::C::setter14} = <S extends core::num>(S s) → S => s;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter15} = (<S extends core::num*>() →* S* f) → Null {};
+ c.{self::C::setter15} = (<S extends core::num>() → S f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method1}(0.5){(core::num*) →* void};
+ c.{self::C::method1}(0.5){(core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method2}(() → core::double* => 0.5){(() →* core::num*) →* void};
+ c.{self::C::method2}(() → core::double => 0.5){(() → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method3}((core::num* n) → Null {}){((core::num*) →* void) →* void};
+ c.{self::C::method3}((core::num n) → void {}){((core::num) → void) → void};
try {
- c.{self::C::method4}((core::num* n) → core::double* => 0.5){((core::num*) →* core::num*) →* void};
+ c.{self::C::method4}((core::num n) → core::double => 0.5){((core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5){(() →* () →* core::num*) →* void};
+ c.{self::C::method5}(() → () → core::double => () → core::double => 0.5){(() → () → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method6}((() →* core::num* f) → Null {}){((() →* core::num*) →* void) →* void};
+ c.{self::C::method6}((() → core::num f) → void {}){((() → core::num) → void) → void};
try {
- c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5){((() →* core::num*) →* core::num*) →* void};
+ c.{self::C::method7}((() → core::num f) → core::double => 0.5){((() → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method8}(((core::double*) →* void f) → Null {}){(((core::num*) →* void) →* void) →* void};
+ c.{self::C::method8}(((core::double) → void f) → void {}){(((core::num) → void) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5){(((core::num*) →* void) →* core::num*) →* void};
+ c.{self::C::method9}(((core::double) → void f) → core::double => 0.5){(((core::num) → void) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method10}(((core::double*) →* core::num* f) → Null {}){(((core::num*) →* core::num*) →* void) →* void};
+ c.{self::C::method10}(((core::double) → core::num f) → void {}){(((core::num) → core::num) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5){(((core::num*) →* core::num*) →* core::num*) →* void};
+ c.{self::C::method11}(((core::double) → core::num f) → core::double => 0.5){(((core::num) → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method12}(<S extends core::num*>() → Null => null){(<S extends core::num* = dynamic>() →* S*) →* void};
+ c.{self::C::method12}(<S extends core::num>() → Never => throw ""){(<S extends core::num = dynamic>() → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method13}(<S extends core::num*>(S* s) → Null {}){(<S extends core::num* = dynamic>(S*) →* void) →* void};
+ c.{self::C::method13}(<S extends core::num>(S s) → void {}){(<S extends core::num = dynamic>(S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s){(<S extends core::num* = dynamic>(S*) →* S*) →* void};
+ c.{self::C::method14}(<S extends core::num>(S s) → S => s){(<S extends core::num = dynamic>(S) → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {}){((<S extends core::num* = dynamic>() →* S*) →* void) →* void};
+ c.{self::C::method15}((<S extends core::num>() → S f) → void {}){((<S extends core::num = dynamic>() → S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
}
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.modular.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.modular.expect
index 5f06498..f80ffa1 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.modular.expect
@@ -1,493 +1,483 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class C<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::C::T* field1;
- covariant-by-class field () →* self::C::T* field2;
- field (self::C::T*) →* void field3;
- covariant-by-class field (self::C::T*) →* self::C::T* field4;
- covariant-by-class field () →* () →* self::C::T* field5;
- field (() →* self::C::T*) →* void field6;
- covariant-by-class field (() →* self::C::T*) →* self::C::T* field7;
- covariant-by-class field ((self::C::T*) →* void) →* void field8;
- covariant-by-class field ((self::C::T*) →* void) →* self::C::T* field9;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* void field10;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
- covariant-by-class field <S extends self::C::T* = dynamic>() →* S* field12;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* void field13;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* S* field14;
- covariant-by-class field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
- constructor •(self::C::T* field1) → self::C<self::C::T*>*
- : self::C::field1 = field1, self::C::field2 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → Null {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → Null {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → Null {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → Null {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T*>() → Null => null, self::C::field13 = <S extends self::C::T*>(S* s) → Null {}, self::C::field14 = <S extends self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T*>() →* S* f) → Null {}, super core::Object::•()
+class C<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::C::T% field1;
+ covariant-by-class field () → self::C::T% field2;
+ field (self::C::T%) → void field3;
+ covariant-by-class field (self::C::T%) → self::C::T% field4;
+ covariant-by-class field () → () → self::C::T% field5;
+ field (() → self::C::T%) → void field6;
+ covariant-by-class field (() → self::C::T%) → self::C::T% field7;
+ covariant-by-class field ((self::C::T%) → void) → void field8;
+ covariant-by-class field ((self::C::T%) → void) → self::C::T% field9;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → void field10;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → self::C::T% field11;
+ covariant-by-class field <S extends self::C::T% = dynamic>() → S% field12;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → void field13;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → S% field14;
+ covariant-by-class field (<S extends self::C::T% = dynamic>() → S%) → void field15;
+ constructor •(self::C::T% field1) → self::C<self::C::T%>
+ : self::C::field1 = field1, self::C::field2 = () → self::C::T% => field1, self::C::field3 = (self::C::T% t) → void {}, self::C::field4 = (self::C::T% t) → self::C::T% => t, self::C::field5 = () → () → self::C::T% => () → self::C::T% => field1, self::C::field6 = (() → self::C::T% f) → void {}, self::C::field7 = (() → self::C::T% f) → self::C::T% => field1, self::C::field8 = ((self::C::T%) → void f) → void {}, self::C::field9 = ((self::C::T%) → void f) → self::C::T% => field1, self::C::field10 = ((self::C::T%) → self::C::T% f) → void {}, self::C::field11 = ((self::C::T%) → self::C::T% f) → self::C::T% => field1, self::C::field12 = <S extends self::C::T%>() → Never => throw "", self::C::field13 = <S extends self::C::T%>(S% s) → void {}, self::C::field14 = <S extends self::C::T%>(S% s) → S% => s, self::C::field15 = (<S extends self::C::T%>() → S% f) → void {}, super core::Object::•()
;
- get getter1() → self::C::T*
- return this.{self::C::field1}{self::C::T*};
- get getter2() → () →* self::C::T*
- return this.{self::C::field2}{() →* self::C::T*};
- get getter3() → (self::C::T*) →* void
- return this.{self::C::field3}{(self::C::T*) →* void};
- get getter4() → (self::C::T*) →* self::C::T*
- return this.{self::C::field4}{(self::C::T*) →* self::C::T*};
- get getter5() → () →* () →* self::C::T*
- return this.{self::C::field5}{() →* () →* self::C::T*};
- get getter6() → (() →* self::C::T*) →* void
- return this.{self::C::field6}{(() →* self::C::T*) →* void};
- get getter7() → (() →* self::C::T*) →* self::C::T*
- return this.{self::C::field7}{(() →* self::C::T*) →* self::C::T*};
- get getter8() → ((self::C::T*) →* void) →* void
- return this.{self::C::field8}{((self::C::T*) →* void) →* void};
- get getter9() → ((self::C::T*) →* void) →* self::C::T*
- return this.{self::C::field9}{((self::C::T*) →* void) →* self::C::T*};
- get getter10() → ((self::C::T*) →* self::C::T*) →* void
- return this.{self::C::field10}{((self::C::T*) →* self::C::T*) →* void};
- get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
- return this.{self::C::field11}{((self::C::T*) →* self::C::T*) →* self::C::T*};
- get getter12() → <S extends self::C::T* = dynamic>() →* S*
- return this.{self::C::field12}{<S extends self::C::T* = dynamic>() →* S*};
- get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
- return this.{self::C::field13}{<S extends self::C::T* = dynamic>(S*) →* void};
- get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
- return this.{self::C::field14}{<S extends self::C::T* = dynamic>(S*) →* S*};
- get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
- return this.{self::C::field15}{(<S extends self::C::T* = dynamic>() →* S*) →* void};
- set setter1(covariant-by-class self::C::T* value) → void {
+ get getter1() → self::C::T%
+ return this.{self::C::field1}{self::C::T%};
+ get getter2() → () → self::C::T%
+ return this.{self::C::field2}{() → self::C::T%};
+ get getter3() → (self::C::T%) → void
+ return this.{self::C::field3}{(self::C::T%) → void};
+ get getter4() → (self::C::T%) → self::C::T%
+ return this.{self::C::field4}{(self::C::T%) → self::C::T%};
+ get getter5() → () → () → self::C::T%
+ return this.{self::C::field5}{() → () → self::C::T%};
+ get getter6() → (() → self::C::T%) → void
+ return this.{self::C::field6}{(() → self::C::T%) → void};
+ get getter7() → (() → self::C::T%) → self::C::T%
+ return this.{self::C::field7}{(() → self::C::T%) → self::C::T%};
+ get getter8() → ((self::C::T%) → void) → void
+ return this.{self::C::field8}{((self::C::T%) → void) → void};
+ get getter9() → ((self::C::T%) → void) → self::C::T%
+ return this.{self::C::field9}{((self::C::T%) → void) → self::C::T%};
+ get getter10() → ((self::C::T%) → self::C::T%) → void
+ return this.{self::C::field10}{((self::C::T%) → self::C::T%) → void};
+ get getter11() → ((self::C::T%) → self::C::T%) → self::C::T%
+ return this.{self::C::field11}{((self::C::T%) → self::C::T%) → self::C::T%};
+ get getter12() → <S extends self::C::T% = dynamic>() → S%
+ return this.{self::C::field12}{<S extends self::C::T% = dynamic>() → S%};
+ get getter13() → <S extends self::C::T% = dynamic>(S%) → void
+ return this.{self::C::field13}{<S extends self::C::T% = dynamic>(S%) → void};
+ get getter14() → <S extends self::C::T% = dynamic>(S%) → S%
+ return this.{self::C::field14}{<S extends self::C::T% = dynamic>(S%) → S%};
+ get getter15() → (<S extends self::C::T% = dynamic>() → S%) → void
+ return this.{self::C::field15}{(<S extends self::C::T% = dynamic>() → S%) → void};
+ set setter1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- set setter2(covariant-by-class () →* self::C::T* value) → void {
+ set setter2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- set setter3((self::C::T*) →* void value) → void {
+ set setter3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- set setter4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ set setter4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- set setter5(covariant-by-class () →* () →* self::C::T* value) → void {
+ set setter5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- set setter6((() →* self::C::T*) →* void value) → void {
+ set setter6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- set setter7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ set setter7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- set setter8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ set setter8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- set setter9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ set setter9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- set setter10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ set setter10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- set setter11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ set setter11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- set setter12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ set setter12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- set setter13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ set setter13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- set setter14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ set setter14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- set setter15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ set setter15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- method method1(covariant-by-class self::C::T* value) → void {
+ method method1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- method method2(covariant-by-class () →* self::C::T* value) → void {
+ method method2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- method method3((self::C::T*) →* void value) → void {
+ method method3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- method method4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ method method4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- method method5(covariant-by-class () →* () →* self::C::T* value) → void {
+ method method5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- method method6((() →* self::C::T*) →* void value) → void {
+ method method6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- method method7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ method method7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- method method8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ method method8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- method method9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ method method9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- method method10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ method method10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- method method11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ method method11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- method method12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ method method12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- method method13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ method method13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- method method14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ method method14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- method method15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ method method15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::C<core::num*>* c = new self::C::•<core::int*>(0);
- c.{self::C::field1}{core::num*};
- c.{self::C::field2}{() →* core::num*};
+ self::C<core::num> c = new self::C::•<core::int>(0);
+ c.{self::C::field1}{core::num};
+ c.{self::C::field2}{() → core::num};
try {
- c.{self::C::field3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::field3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::field4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field5}{() →* () →* core::num*};
+ c.{self::C::field5}{() → () → core::num};
try {
- c.{self::C::field6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::field6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::field7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field8}{((core::num*) →* void) →* void};
- c.{self::C::field9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::field8}{((core::num) → void) → void};
+ c.{self::C::field9}{((core::num) → void) → core::num};
try {
- c.{self::C::field10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::field10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::field11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::field12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::field13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::field14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::field15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter1}{core::num*};
- c.{self::C::getter2}{() →* core::num*};
+ c.{self::C::getter1}{core::num};
+ c.{self::C::getter2}{() → core::num};
try {
- c.{self::C::getter3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::getter3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::getter4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter5}{() →* () →* core::num*};
+ c.{self::C::getter5}{() → () → core::num};
try {
- c.{self::C::getter6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::getter6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::getter7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter8}{((core::num*) →* void) →* void};
- c.{self::C::getter9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::getter8}{((core::num) → void) → void};
+ c.{self::C::getter9}{((core::num) → void) → core::num};
try {
- c.{self::C::getter10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::getter10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::getter11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::getter12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::getter13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::getter14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::getter15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
c.{self::C::setter1} = 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter2} = () → core::double* => 0.5;
+ c.{self::C::setter2} = () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter3} = (core::num* n) → Null {};
+ c.{self::C::setter3} = (core::num n) → void {};
try {
- c.{self::C::setter4} = (core::num* n) → core::double* => 0.5;
+ c.{self::C::setter4} = (core::num n) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter5} = () → () →* core::double* => () → core::double* => 0.5;
+ c.{self::C::setter5} = () → () → core::double => () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter6} = (() →* core::num* f) → Null {};
+ c.{self::C::setter6} = (() → core::num f) → void {};
try {
- c.{self::C::setter7} = (() →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter7} = (() → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter8} = ((core::double*) →* void f) → Null {};
+ c.{self::C::setter8} = ((core::double) → void f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter9} = ((core::double*) →* void f) → core::double* => 0.5;
+ c.{self::C::setter9} = ((core::double) → void f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter10} = ((core::double*) →* core::num* f) → Null {};
+ c.{self::C::setter10} = ((core::double) → core::num f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter11} = ((core::double*) →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter11} = ((core::double) → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter12} = <S extends core::num*>() → Null => null;
+ c.{self::C::setter12} = <S extends core::num>() → Never => throw "";
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter13} = <S extends core::num*>(S* s) → Null {};
+ c.{self::C::setter13} = <S extends core::num>(S s) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter14} = <S extends core::num*>(S* s) → S* => s;
+ c.{self::C::setter14} = <S extends core::num>(S s) → S => s;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter15} = (<S extends core::num*>() →* S* f) → Null {};
+ c.{self::C::setter15} = (<S extends core::num>() → S f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method1}(0.5){(core::num*) →* void};
+ c.{self::C::method1}(0.5){(core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method2}(() → core::double* => 0.5){(() →* core::num*) →* void};
+ c.{self::C::method2}(() → core::double => 0.5){(() → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method3}((core::num* n) → Null {}){((core::num*) →* void) →* void};
+ c.{self::C::method3}((core::num n) → void {}){((core::num) → void) → void};
try {
- c.{self::C::method4}((core::num* n) → core::double* => 0.5){((core::num*) →* core::num*) →* void};
+ c.{self::C::method4}((core::num n) → core::double => 0.5){((core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5){(() →* () →* core::num*) →* void};
+ c.{self::C::method5}(() → () → core::double => () → core::double => 0.5){(() → () → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method6}((() →* core::num* f) → Null {}){((() →* core::num*) →* void) →* void};
+ c.{self::C::method6}((() → core::num f) → void {}){((() → core::num) → void) → void};
try {
- c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5){((() →* core::num*) →* core::num*) →* void};
+ c.{self::C::method7}((() → core::num f) → core::double => 0.5){((() → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method8}(((core::double*) →* void f) → Null {}){(((core::num*) →* void) →* void) →* void};
+ c.{self::C::method8}(((core::double) → void f) → void {}){(((core::num) → void) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5){(((core::num*) →* void) →* core::num*) →* void};
+ c.{self::C::method9}(((core::double) → void f) → core::double => 0.5){(((core::num) → void) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method10}(((core::double*) →* core::num* f) → Null {}){(((core::num*) →* core::num*) →* void) →* void};
+ c.{self::C::method10}(((core::double) → core::num f) → void {}){(((core::num) → core::num) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5){(((core::num*) →* core::num*) →* core::num*) →* void};
+ c.{self::C::method11}(((core::double) → core::num f) → core::double => 0.5){(((core::num) → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method12}(<S extends core::num*>() → Null => null){(<S extends core::num* = dynamic>() →* S*) →* void};
+ c.{self::C::method12}(<S extends core::num>() → Never => throw ""){(<S extends core::num = dynamic>() → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method13}(<S extends core::num*>(S* s) → Null {}){(<S extends core::num* = dynamic>(S*) →* void) →* void};
+ c.{self::C::method13}(<S extends core::num>(S s) → void {}){(<S extends core::num = dynamic>(S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s){(<S extends core::num* = dynamic>(S*) →* S*) →* void};
+ c.{self::C::method14}(<S extends core::num>(S s) → S => s){(<S extends core::num = dynamic>(S) → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {}){((<S extends core::num* = dynamic>() →* S*) →* void) →* void};
+ c.{self::C::method15}((<S extends core::num>() → S f) → void {}){((<S extends core::num = dynamic>() → S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
}
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect
index 0280a26..f9f7a84 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect
@@ -1,125 +1,115 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class C<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::C::T* field1;
- covariant-by-class field () →* self::C::T* field2;
- field (self::C::T*) →* void field3;
- covariant-by-class field (self::C::T*) →* self::C::T* field4;
- covariant-by-class field () →* () →* self::C::T* field5;
- field (() →* self::C::T*) →* void field6;
- covariant-by-class field (() →* self::C::T*) →* self::C::T* field7;
- covariant-by-class field ((self::C::T*) →* void) →* void field8;
- covariant-by-class field ((self::C::T*) →* void) →* self::C::T* field9;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* void field10;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
- covariant-by-class field <S extends self::C::T* = dynamic>() →* S* field12;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* void field13;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* S* field14;
- covariant-by-class field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
- constructor •(self::C::T* field1) → self::C<self::C::T*>*
+class C<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::C::T% field1;
+ covariant-by-class field () → self::C::T% field2;
+ field (self::C::T%) → void field3;
+ covariant-by-class field (self::C::T%) → self::C::T% field4;
+ covariant-by-class field () → () → self::C::T% field5;
+ field (() → self::C::T%) → void field6;
+ covariant-by-class field (() → self::C::T%) → self::C::T% field7;
+ covariant-by-class field ((self::C::T%) → void) → void field8;
+ covariant-by-class field ((self::C::T%) → void) → self::C::T% field9;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → void field10;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → self::C::T% field11;
+ covariant-by-class field <S extends self::C::T% = dynamic>() → S% field12;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → void field13;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → S% field14;
+ covariant-by-class field (<S extends self::C::T% = dynamic>() → S%) → void field15;
+ constructor •(self::C::T% field1) → self::C<self::C::T%>
;
- get getter1() → self::C::T*
+ get getter1() → self::C::T%
;
- get getter2() → () →* self::C::T*
+ get getter2() → () → self::C::T%
;
- get getter3() → (self::C::T*) →* void
+ get getter3() → (self::C::T%) → void
;
- get getter4() → (self::C::T*) →* self::C::T*
+ get getter4() → (self::C::T%) → self::C::T%
;
- get getter5() → () →* () →* self::C::T*
+ get getter5() → () → () → self::C::T%
;
- get getter6() → (() →* self::C::T*) →* void
+ get getter6() → (() → self::C::T%) → void
;
- get getter7() → (() →* self::C::T*) →* self::C::T*
+ get getter7() → (() → self::C::T%) → self::C::T%
;
- get getter8() → ((self::C::T*) →* void) →* void
+ get getter8() → ((self::C::T%) → void) → void
;
- get getter9() → ((self::C::T*) →* void) →* self::C::T*
+ get getter9() → ((self::C::T%) → void) → self::C::T%
;
- get getter10() → ((self::C::T*) →* self::C::T*) →* void
+ get getter10() → ((self::C::T%) → self::C::T%) → void
;
- get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
+ get getter11() → ((self::C::T%) → self::C::T%) → self::C::T%
;
- get getter12() → <S extends self::C::T* = dynamic>() →* S*
+ get getter12() → <S extends self::C::T% = dynamic>() → S%
;
- get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
+ get getter13() → <S extends self::C::T% = dynamic>(S%) → void
;
- get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
+ get getter14() → <S extends self::C::T% = dynamic>(S%) → S%
;
- get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
+ get getter15() → (<S extends self::C::T% = dynamic>() → S%) → void
;
- set setter1(covariant-by-class self::C::T* value) → void
+ set setter1(covariant-by-class self::C::T% value) → void
;
- set setter2(covariant-by-class () →* self::C::T* value) → void
+ set setter2(covariant-by-class () → self::C::T% value) → void
;
- set setter3((self::C::T*) →* void value) → void
+ set setter3((self::C::T%) → void value) → void
;
- set setter4(covariant-by-class (self::C::T*) →* self::C::T* value) → void
+ set setter4(covariant-by-class (self::C::T%) → self::C::T% value) → void
;
- set setter5(covariant-by-class () →* () →* self::C::T* value) → void
+ set setter5(covariant-by-class () → () → self::C::T% value) → void
;
- set setter6((() →* self::C::T*) →* void value) → void
+ set setter6((() → self::C::T%) → void value) → void
;
- set setter7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void
+ set setter7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void
;
- set setter8(covariant-by-class ((self::C::T*) →* void) →* void value) → void
+ set setter8(covariant-by-class ((self::C::T%) → void) → void value) → void
;
- set setter9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void
+ set setter9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void
;
- set setter10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void
+ set setter10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void
;
- set setter11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void
+ set setter11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void
;
- set setter12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void
+ set setter12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void
;
- set setter13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void
+ set setter13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void
;
- set setter14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void
+ set setter14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void
;
- set setter15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void
+ set setter15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void
;
- method method1(covariant-by-class self::C::T* value) → void
+ method method1(covariant-by-class self::C::T% value) → void
;
- method method2(covariant-by-class () →* self::C::T* value) → void
+ method method2(covariant-by-class () → self::C::T% value) → void
;
- method method3((self::C::T*) →* void value) → void
+ method method3((self::C::T%) → void value) → void
;
- method method4(covariant-by-class (self::C::T*) →* self::C::T* value) → void
+ method method4(covariant-by-class (self::C::T%) → self::C::T% value) → void
;
- method method5(covariant-by-class () →* () →* self::C::T* value) → void
+ method method5(covariant-by-class () → () → self::C::T% value) → void
;
- method method6((() →* self::C::T*) →* void value) → void
+ method method6((() → self::C::T%) → void value) → void
;
- method method7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void
+ method method7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void
;
- method method8(covariant-by-class ((self::C::T*) →* void) →* void value) → void
+ method method8(covariant-by-class ((self::C::T%) → void) → void value) → void
;
- method method9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void
+ method method9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void
;
- method method10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void
+ method method10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void
;
- method method11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void
+ method method11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void
;
- method method12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void
+ method method12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void
;
- method method13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void
+ method method13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void
;
- method method14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void
+ method method14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void
;
- method method15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void
+ method method15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
index 5f06498..f80ffa1 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
@@ -1,493 +1,483 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
-class C<T extends core::Object* = dynamic> extends core::Object {
- covariant-by-class field self::C::T* field1;
- covariant-by-class field () →* self::C::T* field2;
- field (self::C::T*) →* void field3;
- covariant-by-class field (self::C::T*) →* self::C::T* field4;
- covariant-by-class field () →* () →* self::C::T* field5;
- field (() →* self::C::T*) →* void field6;
- covariant-by-class field (() →* self::C::T*) →* self::C::T* field7;
- covariant-by-class field ((self::C::T*) →* void) →* void field8;
- covariant-by-class field ((self::C::T*) →* void) →* self::C::T* field9;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* void field10;
- covariant-by-class field ((self::C::T*) →* self::C::T*) →* self::C::T* field11;
- covariant-by-class field <S extends self::C::T* = dynamic>() →* S* field12;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* void field13;
- covariant-by-class field <S extends self::C::T* = dynamic>(S*) →* S* field14;
- covariant-by-class field (<S extends self::C::T* = dynamic>() →* S*) →* void field15;
- constructor •(self::C::T* field1) → self::C<self::C::T*>*
- : self::C::field1 = field1, self::C::field2 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → Null {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → Null {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → Null {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → Null {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T*>() → Null => null, self::C::field13 = <S extends self::C::T*>(S* s) → Null {}, self::C::field14 = <S extends self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T*>() →* S* f) → Null {}, super core::Object::•()
+class C<T extends core::Object? = dynamic> extends core::Object {
+ covariant-by-class field self::C::T% field1;
+ covariant-by-class field () → self::C::T% field2;
+ field (self::C::T%) → void field3;
+ covariant-by-class field (self::C::T%) → self::C::T% field4;
+ covariant-by-class field () → () → self::C::T% field5;
+ field (() → self::C::T%) → void field6;
+ covariant-by-class field (() → self::C::T%) → self::C::T% field7;
+ covariant-by-class field ((self::C::T%) → void) → void field8;
+ covariant-by-class field ((self::C::T%) → void) → self::C::T% field9;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → void field10;
+ covariant-by-class field ((self::C::T%) → self::C::T%) → self::C::T% field11;
+ covariant-by-class field <S extends self::C::T% = dynamic>() → S% field12;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → void field13;
+ covariant-by-class field <S extends self::C::T% = dynamic>(S%) → S% field14;
+ covariant-by-class field (<S extends self::C::T% = dynamic>() → S%) → void field15;
+ constructor •(self::C::T% field1) → self::C<self::C::T%>
+ : self::C::field1 = field1, self::C::field2 = () → self::C::T% => field1, self::C::field3 = (self::C::T% t) → void {}, self::C::field4 = (self::C::T% t) → self::C::T% => t, self::C::field5 = () → () → self::C::T% => () → self::C::T% => field1, self::C::field6 = (() → self::C::T% f) → void {}, self::C::field7 = (() → self::C::T% f) → self::C::T% => field1, self::C::field8 = ((self::C::T%) → void f) → void {}, self::C::field9 = ((self::C::T%) → void f) → self::C::T% => field1, self::C::field10 = ((self::C::T%) → self::C::T% f) → void {}, self::C::field11 = ((self::C::T%) → self::C::T% f) → self::C::T% => field1, self::C::field12 = <S extends self::C::T%>() → Never => throw "", self::C::field13 = <S extends self::C::T%>(S% s) → void {}, self::C::field14 = <S extends self::C::T%>(S% s) → S% => s, self::C::field15 = (<S extends self::C::T%>() → S% f) → void {}, super core::Object::•()
;
- get getter1() → self::C::T*
- return this.{self::C::field1}{self::C::T*};
- get getter2() → () →* self::C::T*
- return this.{self::C::field2}{() →* self::C::T*};
- get getter3() → (self::C::T*) →* void
- return this.{self::C::field3}{(self::C::T*) →* void};
- get getter4() → (self::C::T*) →* self::C::T*
- return this.{self::C::field4}{(self::C::T*) →* self::C::T*};
- get getter5() → () →* () →* self::C::T*
- return this.{self::C::field5}{() →* () →* self::C::T*};
- get getter6() → (() →* self::C::T*) →* void
- return this.{self::C::field6}{(() →* self::C::T*) →* void};
- get getter7() → (() →* self::C::T*) →* self::C::T*
- return this.{self::C::field7}{(() →* self::C::T*) →* self::C::T*};
- get getter8() → ((self::C::T*) →* void) →* void
- return this.{self::C::field8}{((self::C::T*) →* void) →* void};
- get getter9() → ((self::C::T*) →* void) →* self::C::T*
- return this.{self::C::field9}{((self::C::T*) →* void) →* self::C::T*};
- get getter10() → ((self::C::T*) →* self::C::T*) →* void
- return this.{self::C::field10}{((self::C::T*) →* self::C::T*) →* void};
- get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
- return this.{self::C::field11}{((self::C::T*) →* self::C::T*) →* self::C::T*};
- get getter12() → <S extends self::C::T* = dynamic>() →* S*
- return this.{self::C::field12}{<S extends self::C::T* = dynamic>() →* S*};
- get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
- return this.{self::C::field13}{<S extends self::C::T* = dynamic>(S*) →* void};
- get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
- return this.{self::C::field14}{<S extends self::C::T* = dynamic>(S*) →* S*};
- get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
- return this.{self::C::field15}{(<S extends self::C::T* = dynamic>() →* S*) →* void};
- set setter1(covariant-by-class self::C::T* value) → void {
+ get getter1() → self::C::T%
+ return this.{self::C::field1}{self::C::T%};
+ get getter2() → () → self::C::T%
+ return this.{self::C::field2}{() → self::C::T%};
+ get getter3() → (self::C::T%) → void
+ return this.{self::C::field3}{(self::C::T%) → void};
+ get getter4() → (self::C::T%) → self::C::T%
+ return this.{self::C::field4}{(self::C::T%) → self::C::T%};
+ get getter5() → () → () → self::C::T%
+ return this.{self::C::field5}{() → () → self::C::T%};
+ get getter6() → (() → self::C::T%) → void
+ return this.{self::C::field6}{(() → self::C::T%) → void};
+ get getter7() → (() → self::C::T%) → self::C::T%
+ return this.{self::C::field7}{(() → self::C::T%) → self::C::T%};
+ get getter8() → ((self::C::T%) → void) → void
+ return this.{self::C::field8}{((self::C::T%) → void) → void};
+ get getter9() → ((self::C::T%) → void) → self::C::T%
+ return this.{self::C::field9}{((self::C::T%) → void) → self::C::T%};
+ get getter10() → ((self::C::T%) → self::C::T%) → void
+ return this.{self::C::field10}{((self::C::T%) → self::C::T%) → void};
+ get getter11() → ((self::C::T%) → self::C::T%) → self::C::T%
+ return this.{self::C::field11}{((self::C::T%) → self::C::T%) → self::C::T%};
+ get getter12() → <S extends self::C::T% = dynamic>() → S%
+ return this.{self::C::field12}{<S extends self::C::T% = dynamic>() → S%};
+ get getter13() → <S extends self::C::T% = dynamic>(S%) → void
+ return this.{self::C::field13}{<S extends self::C::T% = dynamic>(S%) → void};
+ get getter14() → <S extends self::C::T% = dynamic>(S%) → S%
+ return this.{self::C::field14}{<S extends self::C::T% = dynamic>(S%) → S%};
+ get getter15() → (<S extends self::C::T% = dynamic>() → S%) → void
+ return this.{self::C::field15}{(<S extends self::C::T% = dynamic>() → S%) → void};
+ set setter1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- set setter2(covariant-by-class () →* self::C::T* value) → void {
+ set setter2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- set setter3((self::C::T*) →* void value) → void {
+ set setter3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- set setter4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ set setter4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- set setter5(covariant-by-class () →* () →* self::C::T* value) → void {
+ set setter5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- set setter6((() →* self::C::T*) →* void value) → void {
+ set setter6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- set setter7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ set setter7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- set setter8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ set setter8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- set setter9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ set setter9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- set setter10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ set setter10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- set setter11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ set setter11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- set setter12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ set setter12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- set setter13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ set setter13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- set setter14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ set setter14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- set setter15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ set setter15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- method method1(covariant-by-class self::C::T* value) → void {
+ method method1(covariant-by-class self::C::T% value) → void {
this.{self::C::field1} = value;
}
- method method2(covariant-by-class () →* self::C::T* value) → void {
+ method method2(covariant-by-class () → self::C::T% value) → void {
this.{self::C::field2} = value;
}
- method method3((self::C::T*) →* void value) → void {
+ method method3((self::C::T%) → void value) → void {
this.{self::C::field3} = value;
}
- method method4(covariant-by-class (self::C::T*) →* self::C::T* value) → void {
+ method method4(covariant-by-class (self::C::T%) → self::C::T% value) → void {
this.{self::C::field4} = value;
}
- method method5(covariant-by-class () →* () →* self::C::T* value) → void {
+ method method5(covariant-by-class () → () → self::C::T% value) → void {
this.{self::C::field5} = value;
}
- method method6((() →* self::C::T*) →* void value) → void {
+ method method6((() → self::C::T%) → void value) → void {
this.{self::C::field6} = value;
}
- method method7(covariant-by-class (() →* self::C::T*) →* self::C::T* value) → void {
+ method method7(covariant-by-class (() → self::C::T%) → self::C::T% value) → void {
this.{self::C::field7} = value;
}
- method method8(covariant-by-class ((self::C::T*) →* void) →* void value) → void {
+ method method8(covariant-by-class ((self::C::T%) → void) → void value) → void {
this.{self::C::field8} = value;
}
- method method9(covariant-by-class ((self::C::T*) →* void) →* self::C::T* value) → void {
+ method method9(covariant-by-class ((self::C::T%) → void) → self::C::T% value) → void {
this.{self::C::field9} = value;
}
- method method10(covariant-by-class ((self::C::T*) →* self::C::T*) →* void value) → void {
+ method method10(covariant-by-class ((self::C::T%) → self::C::T%) → void value) → void {
this.{self::C::field10} = value;
}
- method method11(covariant-by-class ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void {
+ method method11(covariant-by-class ((self::C::T%) → self::C::T%) → self::C::T% value) → void {
this.{self::C::field11} = value;
}
- method method12(covariant-by-class <S extends self::C::T* = dynamic>() →* S* value) → void {
+ method method12(covariant-by-class <S extends self::C::T% = dynamic>() → S% value) → void {
this.{self::C::field12} = value;
}
- method method13(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* void value) → void {
+ method method13(covariant-by-class <S extends self::C::T% = dynamic>(S%) → void value) → void {
this.{self::C::field13} = value;
}
- method method14(covariant-by-class <S extends self::C::T* = dynamic>(S*) →* S* value) → void {
+ method method14(covariant-by-class <S extends self::C::T% = dynamic>(S%) → S% value) → void {
this.{self::C::field14} = value;
}
- method method15(covariant-by-class (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void {
+ method method15(covariant-by-class (<S extends self::C::T% = dynamic>() → S%) → void value) → void {
this.{self::C::field15} = value;
}
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
- self::C<core::num*>* c = new self::C::•<core::int*>(0);
- c.{self::C::field1}{core::num*};
- c.{self::C::field2}{() →* core::num*};
+ self::C<core::num> c = new self::C::•<core::int>(0);
+ c.{self::C::field1}{core::num};
+ c.{self::C::field2}{() → core::num};
try {
- c.{self::C::field3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::field3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::field4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field5}{() →* () →* core::num*};
+ c.{self::C::field5}{() → () → core::num};
try {
- c.{self::C::field6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::field6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::field7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::field8}{((core::num*) →* void) →* void};
- c.{self::C::field9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::field8}{((core::num) → void) → void};
+ c.{self::C::field9}{((core::num) → void) → core::num};
try {
- c.{self::C::field10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::field10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::field11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::field12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::field13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::field14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::field15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::field15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter1}{core::num*};
- c.{self::C::getter2}{() →* core::num*};
+ c.{self::C::getter1}{core::num};
+ c.{self::C::getter2}{() → core::num};
try {
- c.{self::C::getter3}{(core::num*) →* void} as{TypeError,CovarianceCheck} (core::num*) →* void;
+ c.{self::C::getter3}{(core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter4}{(core::num*) →* core::num*} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
+ c.{self::C::getter4}{(core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter5}{() →* () →* core::num*};
+ c.{self::C::getter5}{() → () → core::num};
try {
- c.{self::C::getter6}{(() →* core::num*) →* void} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
+ c.{self::C::getter6}{(() → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter7}{(() →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
+ c.{self::C::getter7}{(() → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (() → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::getter8}{((core::num*) →* void) →* void};
- c.{self::C::getter9}{((core::num*) →* void) →* core::num*};
+ c.{self::C::getter8}{((core::num) → void) → void};
+ c.{self::C::getter9}{((core::num) → void) → core::num};
try {
- c.{self::C::getter10}{((core::num*) →* core::num*) →* void} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
+ c.{self::C::getter10}{((core::num) → core::num) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter11}{((core::num*) →* core::num*) →* core::num*} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
+ c.{self::C::getter11}{((core::num) → core::num) → core::num} as{TypeError,CovarianceCheck,ForNonNullableByDefault} ((core::num) → core::num) → core::num;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter12}{<S extends core::num* = dynamic>() →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
+ c.{self::C::getter12}{<S extends core::num = dynamic>() → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>() → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter13}{<S extends core::num* = dynamic>(S*) →* void} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
+ c.{self::C::getter13}{<S extends core::num = dynamic>(S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter14}{<S extends core::num* = dynamic>(S*) →* S*} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
+ c.{self::C::getter14}{<S extends core::num = dynamic>(S) → S} as{TypeError,CovarianceCheck,ForNonNullableByDefault} <S extends core::num = dynamic>(S) → S;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::getter15}{(<S extends core::num* = dynamic>() →* S*) →* void} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
+ c.{self::C::getter15}{(<S extends core::num = dynamic>() → S) → void} as{TypeError,CovarianceCheck,ForNonNullableByDefault} (<S extends core::num = dynamic>() → S) → void;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
c.{self::C::setter1} = 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter2} = () → core::double* => 0.5;
+ c.{self::C::setter2} = () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter3} = (core::num* n) → Null {};
+ c.{self::C::setter3} = (core::num n) → void {};
try {
- c.{self::C::setter4} = (core::num* n) → core::double* => 0.5;
+ c.{self::C::setter4} = (core::num n) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter5} = () → () →* core::double* => () → core::double* => 0.5;
+ c.{self::C::setter5} = () → () → core::double => () → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::setter6} = (() →* core::num* f) → Null {};
+ c.{self::C::setter6} = (() → core::num f) → void {};
try {
- c.{self::C::setter7} = (() →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter7} = (() → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter8} = ((core::double*) →* void f) → Null {};
+ c.{self::C::setter8} = ((core::double) → void f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter9} = ((core::double*) →* void f) → core::double* => 0.5;
+ c.{self::C::setter9} = ((core::double) → void f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter10} = ((core::double*) →* core::num* f) → Null {};
+ c.{self::C::setter10} = ((core::double) → core::num f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter11} = ((core::double*) →* core::num* f) → core::double* => 0.5;
+ c.{self::C::setter11} = ((core::double) → core::num f) → core::double => 0.5;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter12} = <S extends core::num*>() → Null => null;
+ c.{self::C::setter12} = <S extends core::num>() → Never => throw "";
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter13} = <S extends core::num*>(S* s) → Null {};
+ c.{self::C::setter13} = <S extends core::num>(S s) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter14} = <S extends core::num*>(S* s) → S* => s;
+ c.{self::C::setter14} = <S extends core::num>(S s) → S => s;
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::setter15} = (<S extends core::num*>() →* S* f) → Null {};
+ c.{self::C::setter15} = (<S extends core::num>() → S f) → void {};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method1}(0.5){(core::num*) →* void};
+ c.{self::C::method1}(0.5){(core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method2}(() → core::double* => 0.5){(() →* core::num*) →* void};
+ c.{self::C::method2}(() → core::double => 0.5){(() → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method3}((core::num* n) → Null {}){((core::num*) →* void) →* void};
+ c.{self::C::method3}((core::num n) → void {}){((core::num) → void) → void};
try {
- c.{self::C::method4}((core::num* n) → core::double* => 0.5){((core::num*) →* core::num*) →* void};
+ c.{self::C::method4}((core::num n) → core::double => 0.5){((core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5){(() →* () →* core::num*) →* void};
+ c.{self::C::method5}(() → () → core::double => () → core::double => 0.5){(() → () → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
- c.{self::C::method6}((() →* core::num* f) → Null {}){((() →* core::num*) →* void) →* void};
+ c.{self::C::method6}((() → core::num f) → void {}){((() → core::num) → void) → void};
try {
- c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5){((() →* core::num*) →* core::num*) →* void};
+ c.{self::C::method7}((() → core::num f) → core::double => 0.5){((() → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method8}(((core::double*) →* void f) → Null {}){(((core::num*) →* void) →* void) →* void};
+ c.{self::C::method8}(((core::double) → void f) → void {}){(((core::num) → void) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5){(((core::num*) →* void) →* core::num*) →* void};
+ c.{self::C::method9}(((core::double) → void f) → core::double => 0.5){(((core::num) → void) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method10}(((core::double*) →* core::num* f) → Null {}){(((core::num*) →* core::num*) →* void) →* void};
+ c.{self::C::method10}(((core::double) → core::num f) → void {}){(((core::num) → core::num) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5){(((core::num*) →* core::num*) →* core::num*) →* void};
+ c.{self::C::method11}(((core::double) → core::num f) → core::double => 0.5){(((core::num) → core::num) → core::num) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method12}(<S extends core::num*>() → Null => null){(<S extends core::num* = dynamic>() →* S*) →* void};
+ c.{self::C::method12}(<S extends core::num>() → Never => throw ""){(<S extends core::num = dynamic>() → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method13}(<S extends core::num*>(S* s) → Null {}){(<S extends core::num* = dynamic>(S*) →* void) →* void};
+ c.{self::C::method13}(<S extends core::num>(S s) → void {}){(<S extends core::num = dynamic>(S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method14}(<S extends core::num*>(S* s) → S* => s){(<S extends core::num* = dynamic>(S*) →* S*) →* void};
+ c.{self::C::method14}(<S extends core::num>(S s) → S => s){(<S extends core::num = dynamic>(S) → S) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
try {
- c.{self::C::method15}((<S extends core::num*>() →* S* f) → Null {}){((<S extends core::num* = dynamic>() →* S*) →* void) →* void};
+ c.{self::C::method15}((<S extends core::num>() → S f) → void {}){((<S extends core::num = dynamic>() → S) → void) → void};
throw "TypeError expected";
}
- on core::TypeError* catch(final core::TypeError* e) {
+ on core::TypeError catch(final core::TypeError e) {
core::print(e);
}
}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart b/pkg/front_end/testcases/general/nsm_covariance.dart
index 15b27f7..3ee3063 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart
@@ -2,8 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
-
import 'nsm_covariance_lib.dart';
abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
index fb21efe..9419fb3 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'nsm_covariance_lib.dart';
abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
index fb21efe..9419fb3 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
import 'nsm_covariance_lib.dart';
abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
index ac4c6e4..5fc1606 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
@@ -1,229 +1,133 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "nsm_covariance_lib.dart" as nsm;
import "org-dartlang-testcase:///nsm_covariance_lib.dart";
-abstract class D1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D1*
+abstract class D1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D2*
+abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class D3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D3*
+class D3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D4*
+class D4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as nsm;
import "dart:core" as core;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → nsm::A<nsm::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → nsm::A<nsm::A::T%>
: super core::Object::•()
;
- abstract method _method1(core::int* a, core::int* b, covariant-by-class nsm::A::T* c, covariant-by-class nsm::A::T* d) → void;
- abstract method _method2({core::int* a = #C1, core::int* b = #C1, covariant-by-class nsm::A::T* c = #C1, covariant-by-class nsm::A::T* d = #C1}) → void;
- abstract method _method3(core::int* a, covariant-by-class nsm::A::T* b) → void;
- abstract method _method4({core::int* a = #C1, covariant-by-class nsm::A::T* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int a, core::int b, covariant-by-class nsm::A::T% c, covariant-by-class nsm::A::T% d) → void;
+ abstract method _method2({core::int a = #C1, core::int b = #C1, covariant-by-class nsm::A::T% c = #C1, covariant-by-class nsm::A::T% d = #C1}) → void;
+ abstract method _method3(core::int a, covariant-by-class nsm::A::T% b) → void;
+ abstract method _method4({core::int a = #C1, covariant-by-class nsm::A::T% b = #C1}) → void;
}
abstract class B extends core::Object {
- synthetic constructor •() → nsm::B*
+ synthetic constructor •() → nsm::B
: super core::Object::•()
;
- abstract method _method1(core::int* x, covariant-by-declaration core::int* y, core::int* z, covariant-by-declaration core::int* w) → void;
- abstract method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, core::int* c = #C1, covariant-by-declaration core::int* d = #C1}) → void;
- abstract method _method3(covariant-by-declaration core::int* x, core::int* y) → void;
- abstract method _method4({covariant-by-declaration core::int* a = #C1, core::int* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int x, covariant-by-declaration core::int y, core::int z, covariant-by-declaration core::int w) → void;
+ abstract method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, core::int c = #C1, covariant-by-declaration core::int d = #C1}) → void;
+ abstract method _method3(covariant-by-declaration core::int x, core::int y) → void;
+ abstract method _method4({covariant-by-declaration core::int a = #C1, core::int b = #C1}) → void;
}
-abstract class C1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C1*
+abstract class C1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C2*
+abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class C3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C3*
+class C3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C4*
+class C4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.modular.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.modular.expect
index ac4c6e4..5fc1606 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.modular.expect
@@ -1,229 +1,133 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "nsm_covariance_lib.dart" as nsm;
import "org-dartlang-testcase:///nsm_covariance_lib.dart";
-abstract class D1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D1*
+abstract class D1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D2*
+abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class D3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D3*
+class D3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D4*
+class D4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as nsm;
import "dart:core" as core;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → nsm::A<nsm::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → nsm::A<nsm::A::T%>
: super core::Object::•()
;
- abstract method _method1(core::int* a, core::int* b, covariant-by-class nsm::A::T* c, covariant-by-class nsm::A::T* d) → void;
- abstract method _method2({core::int* a = #C1, core::int* b = #C1, covariant-by-class nsm::A::T* c = #C1, covariant-by-class nsm::A::T* d = #C1}) → void;
- abstract method _method3(core::int* a, covariant-by-class nsm::A::T* b) → void;
- abstract method _method4({core::int* a = #C1, covariant-by-class nsm::A::T* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int a, core::int b, covariant-by-class nsm::A::T% c, covariant-by-class nsm::A::T% d) → void;
+ abstract method _method2({core::int a = #C1, core::int b = #C1, covariant-by-class nsm::A::T% c = #C1, covariant-by-class nsm::A::T% d = #C1}) → void;
+ abstract method _method3(core::int a, covariant-by-class nsm::A::T% b) → void;
+ abstract method _method4({core::int a = #C1, covariant-by-class nsm::A::T% b = #C1}) → void;
}
abstract class B extends core::Object {
- synthetic constructor •() → nsm::B*
+ synthetic constructor •() → nsm::B
: super core::Object::•()
;
- abstract method _method1(core::int* x, covariant-by-declaration core::int* y, core::int* z, covariant-by-declaration core::int* w) → void;
- abstract method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, core::int* c = #C1, covariant-by-declaration core::int* d = #C1}) → void;
- abstract method _method3(covariant-by-declaration core::int* x, core::int* y) → void;
- abstract method _method4({covariant-by-declaration core::int* a = #C1, core::int* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int x, covariant-by-declaration core::int y, core::int z, covariant-by-declaration core::int w) → void;
+ abstract method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, core::int c = #C1, covariant-by-declaration core::int d = #C1}) → void;
+ abstract method _method3(covariant-by-declaration core::int x, core::int y) → void;
+ abstract method _method4({covariant-by-declaration core::int a = #C1, core::int b = #C1}) → void;
}
-abstract class C1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C1*
+abstract class C1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C2*
+abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class C3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C3*
+class C3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C4*
+class C4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
index 6352cee..6ab71bf 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
@@ -1,262 +1,166 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "nsm_covariance_lib.dart" as nsm;
import "org-dartlang-testcase:///nsm_covariance_lib.dart";
-abstract class D1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D1*
+abstract class D1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D1
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void;
}
-abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D2*
+abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D2
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void;
}
-class D3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D3*
+class D3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D3
;
@core::override
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation) → dynamic};
}
-class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D4*
+class D4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D4
;
@core::override
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation) → dynamic};
}
static method main() → dynamic
;
-library;
+library /*isNonNullableByDefault*/;
import self as nsm;
import "dart:core" as core;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → nsm::A<nsm::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → nsm::A<nsm::A::T%>
;
- abstract method _method1(core::int* a, core::int* b, covariant-by-class nsm::A::T* c, covariant-by-class nsm::A::T* d) → void;
- abstract method _method2({core::int* a, core::int* b, covariant-by-class nsm::A::T* c, covariant-by-class nsm::A::T* d}) → void;
- abstract method _method3(core::int* a, covariant-by-class nsm::A::T* b) → void;
- abstract method _method4({core::int* a, covariant-by-class nsm::A::T* b}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int a, core::int b, covariant-by-class nsm::A::T% c, covariant-by-class nsm::A::T% d) → void;
+ abstract method _method2({core::int a, core::int b, covariant-by-class nsm::A::T% c, covariant-by-class nsm::A::T% d}) → void;
+ abstract method _method3(core::int a, covariant-by-class nsm::A::T% b) → void;
+ abstract method _method4({core::int a, covariant-by-class nsm::A::T% b}) → void;
}
abstract class B extends core::Object {
- synthetic constructor •() → nsm::B*
+ synthetic constructor •() → nsm::B
;
- abstract method _method1(core::int* x, covariant-by-declaration core::int* y, core::int* z, covariant-by-declaration core::int* w) → void;
- abstract method _method2({core::int* a, covariant-by-declaration core::int* b, core::int* c, covariant-by-declaration core::int* d}) → void;
- abstract method _method3(covariant-by-declaration core::int* x, core::int* y) → void;
- abstract method _method4({covariant-by-declaration core::int* a, core::int* b}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int x, covariant-by-declaration core::int y, core::int z, covariant-by-declaration core::int w) → void;
+ abstract method _method2({core::int a, covariant-by-declaration core::int b, core::int c, covariant-by-declaration core::int d}) → void;
+ abstract method _method3(covariant-by-declaration core::int x, core::int y) → void;
+ abstract method _method4({covariant-by-declaration core::int a, core::int b}) → void;
}
-abstract class C1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C1*
+abstract class C1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C1
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void;
}
-abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C2*
+abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C2
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void;
}
-class C3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C3*
+class C3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C3
;
@core::override
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b, c, d]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[a, b]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation) → dynamic};
}
-class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C4*
+class C4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C4
;
@core::override
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a, covariant-by-class core::int* b}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method1, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y, z, w]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b, #c: c, #d: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method3, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[x, y]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a, covariant-by-class core::int b}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#_method4, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#a: a, #b: b}))){(core::Invocation) → dynamic};
}
Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///nsm_covariance.dart:14:4 -> InstanceConstant(const _Override{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#_method1)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> MapConstant(const <Symbol*, dynamic>{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#_method2)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <dynamic>[])
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#a)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#b)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#c)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#d)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#_method3)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> MapConstant(const <Symbol*, dynamic>{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#_method4)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> ListConstant(const <dynamic>[])
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#a)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:13:7 -> SymbolConstant(#b)
-Evaluated: StaticGet @ org-dartlang-testcase:///nsm_covariance.dart:19:4 -> InstanceConstant(const _Override{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#_method1)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> MapConstant(const <Symbol*, dynamic>{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#_method2)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <dynamic>[])
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#a)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#b)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#c)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#d)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#_method3)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> MapConstant(const <Symbol*, dynamic>{})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#_method4)
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> ListConstant(const <dynamic>[])
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#a)
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:18:7 -> SymbolConstant(#b)
+Evaluated: StaticGet @ org-dartlang-testcase:///nsm_covariance.dart:12:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#_method1)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#_method2)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <dynamic>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#a)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#b)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#c)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#d)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#_method3)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#_method4)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> ListConstant(const <dynamic>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#a)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:11:7 -> SymbolConstant(#b)
+Evaluated: StaticGet @ org-dartlang-testcase:///nsm_covariance.dart:17:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#_method1)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#_method2)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <dynamic>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#a)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#b)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#c)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#d)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#_method3)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> MapConstant(const <Symbol*, dynamic>{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#_method4)
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> ListConstant(const <dynamic>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#a)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance.dart:16:7 -> SymbolConstant(#b)
Evaluated: StaticGet @ org-dartlang-testcase:///nsm_covariance_lib.dart:24:4 -> InstanceConstant(const _Override{})
Evaluated: SymbolLiteral @ org-dartlang-testcase:///nsm_covariance_lib.dart:23:7 -> SymbolConstant(#_method1)
Evaluated: ListLiteral @ org-dartlang-testcase:///nsm_covariance_lib.dart:23:7 -> ListConstant(const <Type*>[])
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
index 60a0535..7e269dc 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
@@ -1,229 +1,133 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "nsm_covariance_lib.dart" as nsm;
import "org-dartlang-testcase:///nsm_covariance_lib.dart";
-abstract class D1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D1*
+abstract class D1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D2*
+abstract class D2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class D3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → self::D3*
+class D3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → self::D3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D3::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class D4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → self::D4*
+class D4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → self::D4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C3, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C12, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{self::D4::noSuchMethod}(new core::_InvocationMirror::_withType(#C13, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
static method main() → dynamic {}
-library;
+library /*isNonNullableByDefault*/;
import self as nsm;
import "dart:core" as core;
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
- synthetic constructor •() → nsm::A<nsm::A::T*>*
+abstract class A<T extends core::Object? = dynamic> extends core::Object {
+ synthetic constructor •() → nsm::A<nsm::A::T%>
: super core::Object::•()
;
- abstract method _method1(core::int* a, core::int* b, covariant-by-class nsm::A::T* c, covariant-by-class nsm::A::T* d) → void;
- abstract method _method2({core::int* a = #C1, core::int* b = #C1, covariant-by-class nsm::A::T* c = #C1, covariant-by-class nsm::A::T* d = #C1}) → void;
- abstract method _method3(core::int* a, covariant-by-class nsm::A::T* b) → void;
- abstract method _method4({core::int* a = #C1, covariant-by-class nsm::A::T* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int a, core::int b, covariant-by-class nsm::A::T% c, covariant-by-class nsm::A::T% d) → void;
+ abstract method _method2({core::int a = #C1, core::int b = #C1, covariant-by-class nsm::A::T% c = #C1, covariant-by-class nsm::A::T% d = #C1}) → void;
+ abstract method _method3(core::int a, covariant-by-class nsm::A::T% b) → void;
+ abstract method _method4({core::int a = #C1, covariant-by-class nsm::A::T% b = #C1}) → void;
}
abstract class B extends core::Object {
- synthetic constructor •() → nsm::B*
+ synthetic constructor •() → nsm::B
: super core::Object::•()
;
- abstract method _method1(core::int* x, covariant-by-declaration core::int* y, core::int* z, covariant-by-declaration core::int* w) → void;
- abstract method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, core::int* c = #C1, covariant-by-declaration core::int* d = #C1}) → void;
- abstract method _method3(covariant-by-declaration core::int* x, core::int* y) → void;
- abstract method _method4({covariant-by-declaration core::int* a = #C1, core::int* b = #C1}) → void;
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+ abstract method _method1(core::int x, covariant-by-declaration core::int y, core::int z, covariant-by-declaration core::int w) → void;
+ abstract method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, core::int c = #C1, covariant-by-declaration core::int d = #C1}) → void;
+ abstract method _method3(covariant-by-declaration core::int x, core::int y) → void;
+ abstract method _method4({covariant-by-declaration core::int a = #C1, core::int b = #C1}) → void;
}
-abstract class C1 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C1*
+abstract class C1 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C1
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C2*
+abstract class C2 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C2
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- abstract forwarding-stub method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void;
- abstract forwarding-stub method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void;
- abstract forwarding-stub method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void;
- abstract forwarding-stub method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void;
+ abstract forwarding-stub method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void;
+ abstract forwarding-stub method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void;
+ abstract forwarding-stub method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void;
+ abstract forwarding-stub method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void;
}
-class C3 extends core::Object implements nsm::A<core::int*>, nsm::B {
- synthetic constructor •() → nsm::C3*
+class C3 extends core::Object implements nsm::A<core::int>, nsm::B {
+ synthetic constructor •() → nsm::C3
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* a, covariant-by-declaration core::int* b, covariant-by-class core::int* c, covariant-by-declaration covariant-by-class core::int* d) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* a, covariant-by-class core::int* b) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int a, covariant-by-declaration core::int b, covariant-by-class core::int c, covariant-by-declaration covariant-by-class core::int d) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(a, b, c, d)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int a, covariant-by-class core::int b) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(a, b)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C3::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
-class C4 extends core::Object implements nsm::B, nsm::A<core::int*> {
- synthetic constructor •() → nsm::C4*
+class C4 extends core::Object implements nsm::B, nsm::A<core::int> {
+ synthetic constructor •() → nsm::C4
: super core::Object::•()
;
@#C2
- method noSuchMethod(core::Invocation* invocation) → dynamic
+ method noSuchMethod(core::Invocation invocation) → dynamic
return null;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
- no-such-method-forwarder method _method1(core::int* x, covariant-by-declaration core::int* y, covariant-by-class core::int* z, covariant-by-declaration covariant-by-class core::int* w) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method2({core::int* a = #C1, covariant-by-declaration core::int* b = #C1, covariant-by-class core::int* c = #C1, covariant-by-declaration covariant-by-class core::int* d = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method3(covariant-by-declaration core::int* x, covariant-by-class core::int* y) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation*) →* dynamic};
- no-such-method-forwarder method _method4({covariant-by-declaration core::int* a = #C1, covariant-by-class core::int* b = #C1}) → void
- return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation*) →* dynamic};
+ no-such-method-forwarder method _method1(core::int x, covariant-by-declaration core::int y, covariant-by-class core::int z, covariant-by-declaration covariant-by-class core::int w) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C14, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal4<dynamic>(x, y, z, w)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method2({core::int a = #C1, covariant-by-declaration core::int b = #C1, covariant-by-class core::int c = #C1, covariant-by-declaration covariant-by-class core::int d = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C15, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b, #C10: c, #C11: d}))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method3(covariant-by-declaration core::int x, covariant-by-class core::int y) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C16, 0, #C4, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal2<dynamic>(x, y)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C5))){(core::Invocation) → dynamic};
+ no-such-method-forwarder method _method4({covariant-by-declaration core::int a = #C1, covariant-by-class core::int b = #C1}) → void
+ return this.{nsm::C4::noSuchMethod}(new core::_InvocationMirror::_withType(#C17, 0, #C4, #C7, core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C8: a, #C9: b}))){(core::Invocation) → dynamic};
}
constants {
diff --git a/pkg/front_end/testcases/general/nsm_covariance_lib.dart b/pkg/front_end/testcases/general/nsm_covariance_lib.dart
index 9f7f193..1afd545 100644
--- a/pkg/front_end/testcases/general/nsm_covariance_lib.dart
+++ b/pkg/front_end/testcases/general/nsm_covariance_lib.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
abstract class A<T> {
void _method1(int a, int b, T c, T d);
void _method2({int a, int b, T c, T d});
diff --git a/pkg/front_end/testcases/general/null_aware.dart b/pkg/front_end/testcases/general/null_aware.dart
index 68064d0..332c09b 100644
--- a/pkg/front_end/testcases/general/null_aware.dart
+++ b/pkg/front_end/testcases/general/null_aware.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
class Foo {
int field;
static int staticField;
diff --git a/pkg/front_end/testcases/general/null_aware2.dart b/pkg/front_end/testcases/general/null_aware2.dart
new file mode 100644
index 0000000..466502d
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart
@@ -0,0 +1,23 @@
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class Foo {
+ int field;
+ static int staticField;
+}
+
+test() {
+ Foo foo = new Foo();
+ foo?.field = 5;
+ Foo?.staticField = 5;
+ foo.field ??= 5;
+ Foo.staticField ??= 5;
+ foo?.field ??= 5;
+ Foo?.staticField ??= 5;
+
+ int intValue = foo.field ?? 6;
+ num numValue = foo.field ?? 4.5;
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware2.dart.textual_outline.expect
new file mode 100644
index 0000000..a379924
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.textual_outline.expect
@@ -0,0 +1,7 @@
+class Foo {
+ int field;
+ static int staticField;
+}
+
+test() {}
+main() {}
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..677ce23
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.textual_outline_modelled.expect
@@ -0,0 +1,7 @@
+class Foo {
+ int field;
+ static int staticField;
+}
+
+main() {}
+test() {}
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.weak.expect b/pkg/front_end/testcases/general/null_aware2.dart.weak.expect
new file mode 100644
index 0000000..6e6083c
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.weak.expect
@@ -0,0 +1,74 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_aware2.dart:7:14: Error: Field 'staticField' should be initialized because its type 'int' doesn't allow null.
+// static int staticField;
+// ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:13:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField = 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField ??= 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:12:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field = 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:14:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// foo.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:15:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:16:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:8: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo?.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:19:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// int intValue = foo.field ?? 6;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:20:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// num numValue = foo.field ?? 4.5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:6:7: Error: Field 'field' should be initialized because its type 'int' doesn't allow null.
+// int field;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+ field core::int field = null;
+ static field core::int staticField = null;
+ synthetic constructor •() → self::Foo
+ : super core::Object::•()
+ ;
+}
+static method test() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
+ self::Foo::staticField = 5;
+ let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
+ core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware2.dart.weak.modular.expect
new file mode 100644
index 0000000..6e6083c
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.weak.modular.expect
@@ -0,0 +1,74 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_aware2.dart:7:14: Error: Field 'staticField' should be initialized because its type 'int' doesn't allow null.
+// static int staticField;
+// ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:13:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField = 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField ??= 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:12:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field = 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:14:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// foo.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:15:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:16:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:8: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo?.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:19:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// int intValue = foo.field ?? 6;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:20:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// num numValue = foo.field ?? 4.5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:6:7: Error: Field 'field' should be initialized because its type 'int' doesn't allow null.
+// int field;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+ field core::int field = null;
+ static field core::int staticField = null;
+ synthetic constructor •() → self::Foo
+ : super core::Object::•()
+ ;
+}
+static method test() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
+ self::Foo::staticField = 5;
+ let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
+ core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_aware2.dart.weak.outline.expect
new file mode 100644
index 0000000..4d37bab
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.weak.outline.expect
@@ -0,0 +1,21 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_aware2.dart:7:14: Error: Field 'staticField' should be initialized because its type 'int' doesn't allow null.
+// static int staticField;
+// ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+ field core::int field;
+ static field core::int staticField;
+ synthetic constructor •() → self::Foo
+ ;
+}
+static method test() → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/null_aware2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware2.dart.weak.transformed.expect
new file mode 100644
index 0000000..6e6083c
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware2.dart.weak.transformed.expect
@@ -0,0 +1,74 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_aware2.dart:7:14: Error: Field 'staticField' should be initialized because its type 'int' doesn't allow null.
+// static int staticField;
+// ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:13:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField = 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:3: Warning: The class 'Foo' cannot be null.
+// Try replacing '?.' with '.'
+// Foo?.staticField ??= 5;
+// ^^^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:12:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field = 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:14:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// foo.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:15:7: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:16:3: Warning: Operand of null-aware operation '?.' has type 'Foo' which excludes null.
+// - 'Foo' is from 'pkg/front_end/testcases/general/null_aware2.dart'.
+// foo?.field ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:17:8: Warning: Operand of null-aware operation '??=' has type 'int' which excludes null.
+// Foo?.staticField ??= 5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:19:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// int intValue = foo.field ?? 6;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:20:22: Warning: Operand of null-aware operation '??' has type 'int' which excludes null.
+// num numValue = foo.field ?? 4.5;
+// ^
+//
+// pkg/front_end/testcases/general/null_aware2.dart:6:7: Error: Field 'field' should be initialized because its type 'int' doesn't allow null.
+// int field;
+// ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+ field core::int field = null;
+ static field core::int staticField = null;
+ synthetic constructor •() → self::Foo
+ : super core::Object::•()
+ ;
+}
+static method test() → dynamic {
+ self::Foo foo = new self::Foo::•();
+ let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
+ self::Foo::staticField = 5;
+ let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
+ self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
+ core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
+ core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart b/pkg/front_end/testcases/general/null_aware_for_in.dart
index 73cd74f..5a93b8e 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart
@@ -1,7 +1,7 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-// @dart=2.9
+
class Class {}
main() {
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
index 790b6d3..52b290c 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Class {}
main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
index 790b6d3..52b290c 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
@@ -1,4 +1,3 @@
-// @dart = 2.9
class Class {}
main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
index 46f5652..7ca9a24 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
dynamic o;
if(false) {
- for (final dynamic #t1 in (let final dynamic #t2 = o in #t2 == null ?{dynamic} null : #t2{dynamic}.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
- self::Class* c = #t1 as{TypeError,ForDynamic} self::Class*;
+ for (final dynamic #t1 in (let final dynamic #t2 = o in #t2 == null ?{dynamic} null : #t2{dynamic}.iterable) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+ self::Class c = #t1 as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class;
}
}
}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.modular.expect
index 46f5652..7ca9a24 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.modular.expect
@@ -1,27 +1,17 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
dynamic o;
if(false) {
- for (final dynamic #t1 in (let final dynamic #t2 = o in #t2 == null ?{dynamic} null : #t2{dynamic}.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
- self::Class* c = #t1 as{TypeError,ForDynamic} self::Class*;
+ for (final dynamic #t1 in (let final dynamic #t2 = o in #t2 == null ?{dynamic} null : #t2{dynamic}.iterable) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+ self::Class c = #t1 as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class;
}
}
}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect
index 7ea3238..3e20e89 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect
@@ -1,20 +1,10 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic
;
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 eef17d5..b8db0af 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
@@ -1,31 +1,21 @@
-library;
+library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class Class extends core::Object {
- synthetic constructor •() → self::Class*
+ synthetic constructor •() → self::Class
: super core::Object::•()
;
- abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
- abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
- abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
- abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
- abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
- abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
- abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
- abstract member-signature method toString() → core::String*; -> core::Object::toString
- abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
- abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
}
static method main() → dynamic {
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}{core::Iterator<dynamic>*};
+ core::Iterator<dynamic> :sync-for-iterator = ((let final dynamic #t1 = o in #t1 == null ?{dynamic} null : #t1{dynamic}.iterable) 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};
{
- self::Class* c = #t2 as{TypeError,ForDynamic} self::Class*;
+ self::Class c = #t2 as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class;
}
}
}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart b/pkg/front_end/testcases/general/null_aware_postfix.dart
index 0f52747..8479a5e 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
class A {
B b;
}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart b/pkg/front_end/testcases/general/null_aware_postfix2.dart
new file mode 100644
index 0000000..0c98c37
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart
@@ -0,0 +1,21 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class A {
+ B b;
+
+ A(this.b);
+}
+
+class B {
+ C operator +(int i) => new C();
+}
+
+class C extends B {}
+
+main() {
+ A? a;
+ a?.b++;
+ B? c = a?.b++;
+}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline.expect
new file mode 100644
index 0000000..bcb8bc4
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline.expect
@@ -0,0 +1,12 @@
+class A {
+ B b;
+ A(this.b);
+}
+
+class B {
+ C operator +(int i) => new C();
+}
+
+class C extends B {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..a045743
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.textual_outline_modelled.expect
@@ -0,0 +1,12 @@
+class A {
+ A(this.b);
+ B b;
+}
+
+class B {
+ C operator +(int i) => new C();
+}
+
+class C extends B {}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.expect
new file mode 100644
index 0000000..bc5d862
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.expect
@@ -0,0 +1,27 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ field self::B b;
+ constructor •(self::B b) → self::A
+ : self::A::b = b, super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator +(core::int i) → self::C
+ return new self::C::•();
+}
+class C extends self::B {
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {
+ self::A? a;
+ let final self::A? #t1 = a in #t1 == null ?{self::B?} null : #t1.{self::A::b} = #t1.{self::A::b}{self::B}.{self::B::+}(1){(core::int) → self::C};
+ self::B? c = let final self::A? #t2 = a in #t2 == null ?{self::B?} null : let final self::B #t3 = #t2.{self::A::b}{self::B} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1){(core::int) → self::C} in #t3;
+}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.modular.expect
new file mode 100644
index 0000000..bc5d862
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.modular.expect
@@ -0,0 +1,27 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ field self::B b;
+ constructor •(self::B b) → self::A
+ : self::A::b = b, super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator +(core::int i) → self::C
+ return new self::C::•();
+}
+class C extends self::B {
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {
+ self::A? a;
+ let final self::A? #t1 = a in #t1 == null ?{self::B?} null : #t1.{self::A::b} = #t1.{self::A::b}{self::B}.{self::B::+}(1){(core::int) → self::C};
+ self::B? c = let final self::A? #t2 = a in #t2 == null ?{self::B?} null : let final self::B #t3 = #t2.{self::A::b}{self::B} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1){(core::int) → self::C} in #t3;
+}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.outline.expect
new file mode 100644
index 0000000..5e14f93
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.outline.expect
@@ -0,0 +1,21 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ field self::B b;
+ constructor •(self::B b) → self::A
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ ;
+ operator +(core::int i) → self::C
+ ;
+}
+class C extends self::B {
+ synthetic constructor •() → self::C
+ ;
+}
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.transformed.expect
new file mode 100644
index 0000000..bc5d862
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_postfix2.dart.weak.transformed.expect
@@ -0,0 +1,27 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ field self::B b;
+ constructor •(self::B b) → self::A
+ : self::A::b = b, super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+ operator +(core::int i) → self::C
+ return new self::C::•();
+}
+class C extends self::B {
+ synthetic constructor •() → self::C
+ : super self::B::•()
+ ;
+}
+static method main() → dynamic {
+ self::A? a;
+ let final self::A? #t1 = a in #t1 == null ?{self::B?} null : #t1.{self::A::b} = #t1.{self::A::b}{self::B}.{self::B::+}(1){(core::int) → self::C};
+ self::B? c = let final self::A? #t2 = a in #t2 == null ?{self::B?} null : let final self::B #t3 = #t2.{self::A::b}{self::B} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1){(core::int) → self::C} in #t3;
+}
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart b/pkg/front_end/testcases/general/null_aware_spread.dart
index 09070318..d6ec296 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
nullAwareListSpread(List<String> list) {
list = ['foo', ...?list];
}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart b/pkg/front_end/testcases/general/null_aware_spread2.dart
new file mode 100644
index 0000000..10c4426
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart
@@ -0,0 +1,21 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+nullAwareListSpread(List<String>? list) {
+ list = ['foo', ...?list];
+}
+
+nullAwareSetSpread(Set<String>? set) {
+ set = {'foo', ...?set};
+}
+
+nullAwareMapSpread(Map<int, String>? map) {
+ map = {0: 'foo', ...?map};
+}
+
+main() {
+ nullAwareListSpread(null);
+ nullAwareSetSpread(null);
+ nullAwareMapSpread(null);
+}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline.expect
new file mode 100644
index 0000000..b0017a7
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline.expect
@@ -0,0 +1,4 @@
+nullAwareListSpread(List<String>? list) {}
+nullAwareSetSpread(Set<String>? set) {}
+nullAwareMapSpread(Map<int, String>? map) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..618d2d1
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.textual_outline_modelled.expect
@@ -0,0 +1,4 @@
+main() {}
+nullAwareListSpread(List<String>? list) {}
+nullAwareMapSpread(Map<int, String>? map) {}
+nullAwareSetSpread(Set<String>? set) {}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect
new file mode 100644
index 0000000..0eaed6c
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method nullAwareListSpread(core::List<core::String>? list) → dynamic {
+ list = block {
+ final core::List<core::String> #t1 = <core::String>["foo"];
+ final core::Iterable<core::String>? #t2 = list;
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t1;
+}
+static method nullAwareSetSpread(core::Set<core::String>? set) → dynamic {
+ set = block {
+ final core::Set<core::String> #t3 = col::LinkedHashSet::•<core::String>();
+ #t3.{core::Set::add}{Invariant}("foo"){(core::String) → core::bool};
+ final core::Iterable<core::String>? #t4 = set;
+ if(!(#t4 == null))
+ #t3.{core::Set::addAll}{Invariant}(#t4{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t3;
+}
+static method nullAwareMapSpread(core::Map<core::int, core::String>? map) → dynamic {
+ map = block {
+ final core::Map<core::int, core::String> #t5 = <core::int, core::String>{};
+ #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int, core::String) → void};
+ final core::Map<core::int, core::String>? #t6 = map;
+ if(!(#t6 == null))
+ for (final core::MapEntry<core::int, core::String> #t7 in #t6{core::Map<core::int, core::String>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::String>>})
+ #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
+ } =>#t5;
+}
+static method main() → dynamic {
+ self::nullAwareListSpread(null);
+ self::nullAwareSetSpread(null);
+ self::nullAwareMapSpread(null);
+}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect
new file mode 100644
index 0000000..0eaed6c
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method nullAwareListSpread(core::List<core::String>? list) → dynamic {
+ list = block {
+ final core::List<core::String> #t1 = <core::String>["foo"];
+ final core::Iterable<core::String>? #t2 = list;
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t1;
+}
+static method nullAwareSetSpread(core::Set<core::String>? set) → dynamic {
+ set = block {
+ final core::Set<core::String> #t3 = col::LinkedHashSet::•<core::String>();
+ #t3.{core::Set::add}{Invariant}("foo"){(core::String) → core::bool};
+ final core::Iterable<core::String>? #t4 = set;
+ if(!(#t4 == null))
+ #t3.{core::Set::addAll}{Invariant}(#t4{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t3;
+}
+static method nullAwareMapSpread(core::Map<core::int, core::String>? map) → dynamic {
+ map = block {
+ final core::Map<core::int, core::String> #t5 = <core::int, core::String>{};
+ #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int, core::String) → void};
+ final core::Map<core::int, core::String>? #t6 = map;
+ if(!(#t6 == null))
+ for (final core::MapEntry<core::int, core::String> #t7 in #t6{core::Map<core::int, core::String>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::String>>})
+ #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
+ } =>#t5;
+}
+static method main() → dynamic {
+ self::nullAwareListSpread(null);
+ self::nullAwareSetSpread(null);
+ self::nullAwareMapSpread(null);
+}
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.outline.expect
new file mode 100644
index 0000000..2e3c9c5
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method nullAwareListSpread(core::List<core::String>? list) → dynamic
+ ;
+static method nullAwareSetSpread(core::Set<core::String>? set) → dynamic
+ ;
+static method nullAwareMapSpread(core::Map<core::int, core::String>? map) → dynamic
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect
new file mode 100644
index 0000000..57a3fe5
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect
@@ -0,0 +1,41 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method nullAwareListSpread(core::List<core::String>? list) → dynamic {
+ list = block {
+ final core::List<core::String> #t1 = core::_GrowableList::_literal1<core::String>("foo");
+ final core::Iterable<core::String>? #t2 = list;
+ if(!(#t2 == null))
+ #t1.{core::List::addAll}{Invariant}(#t2{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t1;
+}
+static method nullAwareSetSpread(core::Set<core::String>? set) → dynamic {
+ set = block {
+ final core::Set<core::String> #t3 = new col::_CompactLinkedHashSet::•<core::String>();
+ #t3.{core::Set::add}{Invariant}("foo"){(core::String) → core::bool};
+ final core::Iterable<core::String>? #t4 = set;
+ if(!(#t4 == null))
+ #t3.{core::Set::addAll}{Invariant}(#t4{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+ } =>#t3;
+}
+static method nullAwareMapSpread(core::Map<core::int, core::String>? map) → dynamic {
+ map = block {
+ final core::Map<core::int, core::String> #t5 = <core::int, core::String>{};
+ #t5.{core::Map::[]=}{Invariant}(0, "foo"){(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<core::int, core::String>}.{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::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
+ }
+ }
+ } =>#t5;
+}
+static method main() → dynamic {
+ self::nullAwareListSpread(null);
+ self::nullAwareSetSpread(null);
+ self::nullAwareMapSpread(null);
+}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
index e766ae0..6b48e73 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
@@ -1,7 +1,9 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
// @dart=2.9
+
int? i;
main() {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
index 9f0d253..b2edbb8 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
@@ -2,11 +2,11 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:7:4: Error: Null safety features are disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
// int? i;
// ^
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
// // @dart=2.9
// ^^^^^^^^^^^^
//
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
index 9f0d253..b2edbb8 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.modular.expect
@@ -2,11 +2,11 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:7:4: Error: Null safety features are disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
// int? i;
// ^
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
// // @dart=2.9
// ^^^^^^^^^^^^
//
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
index f60a7c1..15ded13 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
@@ -2,11 +2,11 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:7:4: Error: Null safety features are disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
// int? i;
// ^
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
// // @dart=2.9
// ^^^^^^^^^^^^
//
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
index 9f0d253..b2edbb8 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
@@ -2,11 +2,11 @@
//
// Problems in library:
//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:7:4: Error: Null safety features are disabled for this library.
// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
// int? i;
// ^
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
// // @dart=2.9
// ^^^^^^^^^^^^
//
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 6b47db9..33aebe0 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -91,7 +91,6 @@
general/issue43363: FormatterCrash
general/issue45490: FormatterCrash
general/issue45700.crash: FormatterCrash
-general/issue47495: FormatterCrash
general/issue47728_2: FormatterCrash
general/issue47728_3: FormatterCrash
general/issue47922: FormatterCrash
@@ -100,7 +99,9 @@
general/issue_46886: FormatterCrash
general/macro_class: FormatterCrash
general/many_errors: FormatterCrash
+general/many_errors2: FormatterCrash
general/missing_prefix_name: FormatterCrash
+general/mixin_inherited_setter_for_mixed_in_field2: FormatterCrash
general/new_as_selector: FormatterCrash
general/null_aware_super: FormatterCrash
general/null_safety_invalid_experiment: FormatterCrash
diff --git a/pkg/vm/test/common_test_utils.dart b/pkg/vm/test/common_test_utils.dart
index ed5b3f5..b657777 100644
--- a/pkg/vm/test/common_test_utils.dart
+++ b/pkg/vm/test/common_test_utils.dart
@@ -89,14 +89,25 @@
}
}
-String kernelLibraryToString(Library library) {
+/// Returns a human-readable string representation of [library].
+///
+/// If [removeSelectorIds] is provided, selector ids above 99 are removed.
+/// Extra libraries apart from the main library are passed to the front-end as
+/// additional dills, which places them last in the library list, causing them
+/// to have very high (and often changing) selector IDs.
+String kernelLibraryToString(Library library, {bool removeSelectorIds: false}) {
final StringBuffer buffer = new StringBuffer();
final printer = new Printer(buffer, showMetadata: true);
printer.writeLibraryFile(library);
printer.writeConstantTable(library.enclosingComponent!);
- return buffer
- .toString()
- .replaceAll(library.importUri.toString(), library.name!);
+ String result =
+ buffer.toString().replaceAll(library.importUri.toString(), library.name!);
+ if (removeSelectorIds) {
+ result = result
+ .replaceAll(RegExp(r',methodOrSetterSelectorId:\d{3,}'), '')
+ .replaceAll(RegExp(r',getterSelectorId:\d{3,}'), '');
+ }
+ return result;
}
String kernelComponentToString(Component component) {
diff --git a/pkg/vm/test/transformations/type_flow/transformer_test.dart b/pkg/vm/test/transformations/type_flow/transformer_test.dart
index a719a03..0dc138f 100644
--- a/pkg/vm/test/transformations/type_flow/transformer_test.dart
+++ b/pkg/vm/test/transformations/type_flow/transformer_test.dart
@@ -56,7 +56,7 @@
if (dependencies.isNotEmpty) {
for (var lib in dependencies) {
lib.name ??= lib.importUri.pathSegments.last;
- actual += kernelLibraryToString(lib);
+ actual += kernelLibraryToString(lib, removeSelectorIds: true);
}
// Remove library paths.
actual = actual.replaceAll(pkgVmDir.toString(), 'file:pkg/vm/');
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/enum_from_lib_used_as_type.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/enum_from_lib_used_as_type.dart.expect
index bdf5f22..46e2140 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/enum_from_lib_used_as_type.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/enum_from_lib_used_as_type.dart.expect
@@ -22,6 +22,6 @@
synthetic constructor •() → self::Class
: super core::Object::•()
;
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3333,getterSelectorId:3334] method method([@vm.inferred-type.metadata=dart.core::Null? (value: null)] self::Enum e) → core::int
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false] method method([@vm.inferred-type.metadata=dart.core::Null? (value: null)] self::Enum e) → core::int
return [@vm.inferred-type.metadata=!] e.{core::_Enum::index}{core::int};
}
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tree_shake_enum_from_lib.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tree_shake_enum_from_lib.dart.expect
index 0a305ef..3938e71 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tree_shake_enum_from_lib.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tree_shake_enum_from_lib.dart.expect
@@ -51,6 +51,6 @@
synthetic constructor •() → self::ConstClass
: super core::Object::•()
;
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3337,getterSelectorId:3338] method method([@vm.inferred-type.metadata=dart.core::Null? (value: null)] self::ConstEnum e) → core::int
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false] method method([@vm.inferred-type.metadata=dart.core::Null? (value: null)] self::ConstEnum e) → core::int
return [@vm.inferred-type.metadata=!] e.{core::_Enum::index}{core::int};
}
diff --git a/runtime/vm/compiler/stub_code_compiler_riscv.cc b/runtime/vm/compiler/stub_code_compiler_riscv.cc
index f4a17da..b8096b3 100644
--- a/runtime/vm/compiler/stub_code_compiler_riscv.cc
+++ b/runtime/vm/compiler/stub_code_compiler_riscv.cc
@@ -1396,7 +1396,7 @@
// Restore the frame pointer and C stack pointer and return.
__ LeaveFrame();
- __ NOT_IN_PRODUCT(__ Drop(1)); // Drop profiler marker.
+ NOT_IN_PRODUCT(__ Drop(1)); // Drop profiler marker.
__ ret();
}
diff --git a/tools/OWNERS b/tools/OWNERS
index bc4a8dd..fefa34e 100644
--- a/tools/OWNERS
+++ b/tools/OWNERS
@@ -6,5 +6,6 @@
per-file OWNERS_FOUNDATION=file:OWNERS_FOUNDATION
per-file OWNERS_INFRA=file:OWNERS_INFRA
per-file OWNERS_PRODUCT=file:OWNERS_PRODUCT
+per-file OWNERS_PUB=file:OWNERS_PUB
per-file OWNERS_VM=file:OWNERS_VM
per-file OWNERS_WEB=file:OWNERS_WEB
diff --git a/tools/OWNERS_ENG b/tools/OWNERS_ENG
index 6857872..ef746ec 100644
--- a/tools/OWNERS_ENG
+++ b/tools/OWNERS_ENG
@@ -3,5 +3,6 @@
file:OWNERS_CFE
file:OWNERS_FOUNDATION
file:OWNERS_INFRA
+file:OWNERS_PUB
file:OWNERS_VM
file:OWNERS_WEB
diff --git a/tools/OWNERS_PUB b/tools/OWNERS_PUB
new file mode 100644
index 0000000..9242dc8
--- /dev/null
+++ b/tools/OWNERS_PUB
@@ -0,0 +1,3 @@
+jonasfj@google.com
+sigurdm@google.com
+zarah@google.com
diff --git a/tools/VERSION b/tools/VERSION
index d7c7f7b..33ae06c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 183
+PRERELEASE 184
PRERELEASE_PATCH 0
\ No newline at end of file