diff --git a/pkg/dev_compiler/lib/src/codegen/html_codegen.dart b/pkg/dev_compiler/lib/src/codegen/html_codegen.dart
index 4db7c52c6c26..cd594d43afb6 100644
--- a/pkg/dev_compiler/lib/src/codegen/html_codegen.dart
+++ b/pkg/dev_compiler/lib/src/codegen/html_codegen.dart
@@ -68,10 +68,16 @@ String generateEntryHtml(HtmlSourceNode root, AbstractCompiler compiler) {
}
});
+ var rootDir = path.dirname(root.uri.path);
+ String rootRelative(String fullPath) {
+ return path.relative(path.join(compiler.inputBaseDir, fullPath),
+ from: rootDir);
+ }
+
var fragment = new DocumentFragment();
for (var resource in resources) {
- var resourcePath =
- resourceOutputPath(resource.uri, root.uri, options.runtimeDir);
+ var resourcePath = rootRelative(
+ resourceOutputPath(resource.uri, root.uri, options.runtimeDir));
var ext = path.extension(resourcePath);
if (resource.cachingHash != null) {
resourcePath = _addHash(resourcePath, resource.cachingHash);
@@ -92,7 +98,7 @@ String generateEntryHtml(HtmlSourceNode root, AbstractCompiler compiler) {
var info = lib.info;
if (info == null) continue;
var uri = info.library.source.uri;
- var jsPath = compiler.getModulePath(uri);
+ var jsPath = rootRelative(compiler.getModulePath(uri));
if (uri == scriptUri) mainLibraryName = compiler.getModuleName(uri);
if (lib.cachingHash != null) {
jsPath = _addHash(jsPath, lib.cachingHash);
diff --git a/pkg/dev_compiler/lib/src/compiler.dart b/pkg/dev_compiler/lib/src/compiler.dart
index e0d6812f340b..097a2dc07b56 100644
--- a/pkg/dev_compiler/lib/src/compiler.dart
+++ b/pkg/dev_compiler/lib/src/compiler.dart
@@ -304,10 +304,10 @@ class BatchCompiler extends AbstractCompiler {
}
}
- new File(getOutputPath(source.uri)).openSync(mode: FileMode.WRITE)
- ..writeStringSync(document.outerHtml)
- ..writeStringSync('\n')
- ..closeSync();
+ var outputFile = getOutputPath(source.uri);
+ new File(outputFile)
+ ..createSync(recursive: true)
+ ..writeAsStringSync(document.outerHtml + '\n');
}
html.DocumentFragment _linkLibraries(
diff --git a/pkg/dev_compiler/lib/src/options.dart b/pkg/dev_compiler/lib/src/options.dart
index e13cc43497bb..7f030a3877f8 100644
--- a/pkg/dev_compiler/lib/src/options.dart
+++ b/pkg/dev_compiler/lib/src/options.dart
@@ -233,8 +233,6 @@ CompilerOptions parseOptions(List argv, {bool forceOutDir: false}) {
customUrlMappings[splitMapping[0]] = splitMapping[1];
}
- if (serverMode && args.rest.length != 1) showUsage = true;
-
return new CompilerOptions(
codegenOptions: new CodegenOptions(
emitSourceMaps: args['source-maps'],
diff --git a/pkg/dev_compiler/lib/src/server/dependency_graph.dart b/pkg/dev_compiler/lib/src/server/dependency_graph.dart
index a5bbecf89ba4..60835e40f84f 100644
--- a/pkg/dev_compiler/lib/src/server/dependency_graph.dart
+++ b/pkg/dev_compiler/lib/src/server/dependency_graph.dart
@@ -156,6 +156,22 @@ abstract class SourceNode {
}
}
+/// A unique node representing all entry points in the graph. This is just for
+/// graph algorthm convenience.
+class EntryNode extends SourceNode {
+ final Iterable entryPoints;
+
+ @override
+ Iterable get allDeps => entryPoints;
+
+ @override
+ Iterable get depsWithoutParts => entryPoints;
+
+ EntryNode(SourceGraph graph, Uri uri, Iterable nodes)
+ : entryPoints = nodes,
+ super(graph, uri, null);
+}
+
/// A node representing an entry HTML source file.
class HtmlSourceNode extends SourceNode {
/// Resources included by default on any application.
@@ -466,7 +482,7 @@ rebuild(SourceNode start, bool build(SourceNode node)) {
bool shouldBuildNode(SourceNode n) {
if (n.needsRebuild) return true;
if (n is HtmlSourceNode) return htmlNeedsRebuild;
- if (n is ResourceSourceNode) return false;
+ if (n is ResourceSourceNode || n is EntryNode) return false;
return (n as DartSourceNode)
.imports
.any((i) => apiChangeDetected.contains(i));
diff --git a/pkg/dev_compiler/lib/src/server/server.dart b/pkg/dev_compiler/lib/src/server/server.dart
index a53fc0920fcd..89a5ab608c40 100644
--- a/pkg/dev_compiler/lib/src/server/server.dart
+++ b/pkg/dev_compiler/lib/src/server/server.dart
@@ -36,7 +36,7 @@ import 'dependency_graph.dart';
/// Encapsulates the logic when the compiler is run as a development server.
class ServerCompiler extends AbstractCompiler {
- final SourceNode _entryNode;
+ SourceNode _entryNode;
List _libraries = [];
final _generators = [];
bool _hashing;
@@ -45,22 +45,30 @@ class ServerCompiler extends AbstractCompiler {
factory ServerCompiler(AnalysisContext context, CompilerOptions options,
{AnalysisErrorListener reporter}) {
var srcOpts = options.sourceOptions;
- var inputFile = options.inputs[0];
- var inputUri =
+ var inputFiles = options.inputs;
+ var inputUris = inputFiles.map((String inputFile) =>
inputFile.startsWith('dart:') || inputFile.startsWith('package:')
? Uri.parse(inputFile)
: new Uri.file(path.absolute(srcOpts.useImplicitHtml
? SourceResolverOptions.implicitHtmlFile
- : inputFile));
+ : inputFile)));
var graph = new SourceGraph(context, reporter, options);
- var entryNode = graph.nodeFromUri(inputUri);
+ var entryNodes = inputUris.map((inputUri) => graph.nodeFromUri(inputUri));
- return new ServerCompiler._(context, options, reporter, entryNode);
+ return new ServerCompiler._(context, options, reporter, graph, entryNodes);
}
- ServerCompiler._(AnalysisContext context, CompilerOptions options,
- AnalysisErrorListener reporter, this._entryNode)
+ ServerCompiler._(
+ AnalysisContext context,
+ CompilerOptions options,
+ AnalysisErrorListener reporter,
+ SourceGraph graph,
+ List entryNodes)
: super(context, options, reporter) {
+ _entryNode = entryNodes.length == 1
+ ? entryNodes.first
+ : new EntryNode(graph, new Uri.file(inputBaseDir), entryNodes);
+
if (outputDir != null) {
_generators.add(new JSGenerator(this));
}
@@ -68,8 +76,6 @@ class ServerCompiler extends AbstractCompiler {
_hashing = options.enableHashing && _generators.length == 1;
}
- Uri get entryPointUri => _entryNode.uri;
-
CheckerResults run() {
var clock = new Stopwatch()..start();
@@ -112,9 +118,12 @@ class ServerCompiler extends AbstractCompiler {
return;
}
- var filename = path.basename(node.uri.path);
- String outputFile = path.join(outputDir, filename);
- new File(outputFile).writeAsStringSync(output);
+ var filepath =
+ resourceOutputPath(node.uri, _entryNode.uri, options.runtimeDir);
+ String outputFile = path.join(outputDir, filepath);
+ new File(outputFile)
+ ..createSync(recursive: true)
+ ..writeAsStringSync(output);
}
void _buildResourceFile(ResourceSourceNode node) {
diff --git a/pkg/dev_compiler/lib/src/utils.dart b/pkg/dev_compiler/lib/src/utils.dart
index 6f92e2252729..b1794f63cc3e 100644
--- a/pkg/dev_compiler/lib/src/utils.dart
+++ b/pkg/dev_compiler/lib/src/utils.dart
@@ -314,7 +314,12 @@ String resourceOutputPath(Uri resourceUri, Uri entryUri, String runtimeDir) {
if (resourceUri.scheme != 'file') return null;
- var entryDir = path.dirname(entryUri.path);
+ var entryPath = entryUri.path;
+ // The entry uri is either a directory or a dart/html file. If the latter,
+ // trim the file.
+ var entryDir = entryPath.endsWith('.dart') || entryPath.endsWith('.html')
+ ? path.dirname(entryPath)
+ : entryPath;
var filepath = path.normalize(path.join(entryDir, resourceUri.path));
if (path.isWithin(runtimeDir, filepath)) {
filepath = path.relative(filepath, from: runtimeDir);
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/equality.txt b/pkg/dev_compiler/test/codegen/expect/collection/equality.txt
index 433fdd0c1991..e8d1caa801e5 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/equality.txt
+++ b/pkg/dev_compiler/test/codegen/expect/collection/equality.txt
@@ -1,10 +1 @@
// Messages from compiling equality.dart
-severe: [AnalyzerMessage] The redirected constructor '() → DefaultEquality' has incompatible parameters with '() → Equality' (package:collection/equality.dart, line 18, col 30)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 75, col 31)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 120, col 53)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 205, col 38)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 223, col 38)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 263, col 42)
-severe: [STATIC_TYPE_ERROR] Type check failed: const DefaultEquality() (DefaultEquality) is not of type Equality because const DefaultEquality() cannot be typed as Equality (package:collection/equality.dart, line 264, col 44)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/equality.dart, line 87, col 36)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/equality.dart, line 87, col 49)
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.js b/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.js
index 3e1e9ab14bfe..03744bc169ca 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.js
+++ b/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.js
@@ -32,9 +32,12 @@ dart_library.library('collection/src/canonicalized_map', null, /* Imports */[
return pair == null ? null : pair.last;
}
set(key, value) {
- dart.as(key, K);
- dart.as(value, V);
- this[_base].set(dart.as(dart.dcall(this[_canonicalize], key), C), new (utils.Pair$(K, V))(key, value));
+ (() => {
+ dart.as(key, K);
+ dart.as(value, V);
+ if (!dart.notNull(this[_isValidKey](key))) return;
+ this[_base].set(dart.as(dart.dcall(this[_canonicalize], key), C), new (utils.Pair$(K, V))(key, value));
+ })();
return value;
}
addAll(other) {
@@ -62,7 +65,7 @@ dart_library.library('collection/src/canonicalized_map', null, /* Imports */[
return this[_base].isNotEmpty;
}
get keys() {
- return dart.as(this[_base].values[dartx.map](dart.fn(pair => pair.first, K, [utils.Pair$(K, V)])), core.Iterable$(K));
+ return this[_base].values[dartx.map](dart.fn(pair => pair.first, K, [utils.Pair$(K, V)]));
}
get length() {
return this[_base].length;
@@ -78,7 +81,7 @@ dart_library.library('collection/src/canonicalized_map', null, /* Imports */[
return pair == null ? null : pair.last;
}
get values() {
- return dart.as(this[_base].values[dartx.map](dart.fn(pair => pair.last, V, [utils.Pair$(K, V)])), core.Iterable$(V));
+ return this[_base].values[dartx.map](dart.fn(pair => pair.last, V, [utils.Pair$(K, V)]));
}
toString() {
return collection.Maps.mapToString(this);
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.txt b/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.txt
index b292e19bd8d1..59bff0e185c1 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.txt
+++ b/pkg/dev_compiler/test/codegen/expect/collection/src/canonicalized_map.txt
@@ -1,5 +1,3 @@
// Messages from compiling canonicalized_map.dart
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to C (package:collection/src/canonicalized_map.dart, line 67, col 11)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to Iterable (package:collection/src/canonicalized_map.dart, line 94, col 27)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to C (package:collection/src/canonicalized_map.dart, line 99, col 30)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to Iterable (package:collection/src/canonicalized_map.dart, line 109, col 29)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to C (package:collection/src/canonicalized_map.dart, line 61, col 11)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to C (package:collection/src/canonicalized_map.dart, line 93, col 30)
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/queue_list.txt b/pkg/dev_compiler/test/codegen/expect/collection/src/queue_list.txt
index ab8828702105..02d24e699ebf 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/queue_list.txt
+++ b/pkg/dev_compiler/test/codegen/expect/collection/src/queue_list.txt
@@ -1,8 +1,10 @@
// Messages from compiling queue_list.dart
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to List (package:collection/src/queue_list.dart, line 44, col 25)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 45, col 40)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to List (package:collection/src/queue_list.dart, line 61, col 19)
+severe: [INVALID_METHOD_OVERRIDE] Mixin introduces an invalid override. The type of ListMixin.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/src/queue_list.dart, line 12, col 40)
+severe: [INVALID_METHOD_OVERRIDE] Mixin introduces an invalid override. The type of ListMixin.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/src/queue_list.dart, line 12, col 40)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to List (package:collection/src/queue_list.dart, line 38, col 25)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 39, col 40)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from Iterable to List (package:collection/src/queue_list.dart, line 55, col 19)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 61, col 52)
warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 67, col 52)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 73, col 52)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 77, col 52)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 78, col 40)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 71, col 52)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from List to Iterable (package:collection/src/queue_list.dart, line 72, col 40)
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.js b/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.js
deleted file mode 100644
index 50d74201c58d..000000000000
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.js
+++ /dev/null
@@ -1,229 +0,0 @@
-dart_library.library('collection/src/unmodifiable_wrappers', null, /* Imports */[
- 'dart/_runtime',
- 'dart/collection',
- 'dart/core'
-], /* Lazy imports */[
- 'collection/wrappers'
-], function(exports, dart, collection, core, wrappers) {
- 'use strict';
- let dartx = dart.dartx;
- dart.export(exports, collection, ['UnmodifiableListView', 'UnmodifiableMapView'], []);
- const NonGrowableListMixin$ = dart.generic(function(E) {
- class NonGrowableListMixin extends core.Object {
- static _throw() {
- dart.throw(new core.UnsupportedError("Cannot change the length of a fixed-length list"));
- }
- set length(newLength) {
- return NonGrowableListMixin$()._throw();
- }
- add(value) {
- dart.as(value, E);
- return dart.as(NonGrowableListMixin$()._throw(), core.bool);
- }
- addAll(iterable) {
- dart.as(iterable, core.Iterable$(E));
- return NonGrowableListMixin$()._throw();
- }
- insert(index, element) {
- dart.as(element, E);
- return NonGrowableListMixin$()._throw();
- }
- insertAll(index, iterable) {
- dart.as(iterable, core.Iterable$(E));
- return NonGrowableListMixin$()._throw();
- }
- remove(value) {
- return dart.as(NonGrowableListMixin$()._throw(), core.bool);
- }
- removeAt(index) {
- return dart.as(NonGrowableListMixin$()._throw(), E);
- }
- removeLast() {
- return dart.as(NonGrowableListMixin$()._throw(), E);
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return NonGrowableListMixin$()._throw();
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return NonGrowableListMixin$()._throw();
- }
- removeRange(start, end) {
- return NonGrowableListMixin$()._throw();
- }
- replaceRange(start, end, iterable) {
- dart.as(iterable, core.Iterable$(E));
- return NonGrowableListMixin$()._throw();
- }
- clear() {
- return NonGrowableListMixin$()._throw();
- }
- }
- NonGrowableListMixin[dart.implements] = () => [core.List$(E)];
- dart.setSignature(NonGrowableListMixin, {
- methods: () => ({
- add: [core.bool, [E]],
- addAll: [dart.void, [core.Iterable$(E)]],
- insert: [dart.void, [core.int, E]],
- insertAll: [dart.void, [core.int, core.Iterable$(E)]],
- remove: [core.bool, [core.Object]],
- removeAt: [E, [core.int]],
- removeLast: [E, []],
- removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- removeRange: [dart.void, [core.int, core.int]],
- replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]],
- clear: [dart.void, []]
- }),
- statics: () => ({_throw: [dart.dynamic, []]}),
- names: ['_throw']
- });
- dart.defineExtensionMembers(NonGrowableListMixin, [
- 'add',
- 'addAll',
- 'insert',
- 'insertAll',
- 'remove',
- 'removeAt',
- 'removeLast',
- 'removeWhere',
- 'retainWhere',
- 'removeRange',
- 'replaceRange',
- 'clear',
- 'length'
- ]);
- return NonGrowableListMixin;
- });
- let NonGrowableListMixin = NonGrowableListMixin$();
- const NonGrowableListView$ = dart.generic(function(E) {
- class NonGrowableListView extends dart.mixin(wrappers.DelegatingList$(E), NonGrowableListMixin$(E)) {
- NonGrowableListView(listBase) {
- super.DelegatingList(listBase);
- }
- }
- dart.setSignature(NonGrowableListView, {
- constructors: () => ({NonGrowableListView: [exports.NonGrowableListView$(E), [core.List$(E)]]})
- });
- return NonGrowableListView;
- });
- dart.defineLazyClassGeneric(exports, 'NonGrowableListView', {get: NonGrowableListView$});
- const _throw = Symbol('_throw');
- const UnmodifiableSetMixin$ = dart.generic(function(E) {
- class UnmodifiableSetMixin extends core.Object {
- [_throw]() {
- dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable Set"));
- }
- add(value) {
- dart.as(value, E);
- return dart.as(this[_throw](), core.bool);
- }
- addAll(elements) {
- dart.as(elements, core.Iterable$(E));
- return this[_throw]();
- }
- remove(value) {
- return dart.as(this[_throw](), core.bool);
- }
- removeAll(elements) {
- return this[_throw]();
- }
- retainAll(elements) {
- return this[_throw]();
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_throw]();
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_throw]();
- }
- clear() {
- return this[_throw]();
- }
- }
- UnmodifiableSetMixin[dart.implements] = () => [core.Set$(E)];
- dart.setSignature(UnmodifiableSetMixin, {
- methods: () => ({
- [_throw]: [dart.dynamic, []],
- add: [core.bool, [E]],
- addAll: [dart.void, [core.Iterable$(E)]],
- remove: [core.bool, [core.Object]],
- removeAll: [dart.void, [core.Iterable]],
- retainAll: [dart.void, [core.Iterable]],
- removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- clear: [dart.void, []]
- })
- });
- return UnmodifiableSetMixin;
- });
- let UnmodifiableSetMixin = UnmodifiableSetMixin$();
- const UnmodifiableSetView$ = dart.generic(function(E) {
- class UnmodifiableSetView extends dart.mixin(wrappers.DelegatingSet$(E), UnmodifiableSetMixin$(E)) {
- UnmodifiableSetView(setBase) {
- super.DelegatingSet(setBase);
- }
- }
- dart.setSignature(UnmodifiableSetView, {
- constructors: () => ({UnmodifiableSetView: [exports.UnmodifiableSetView$(E), [core.Set$(E)]]})
- });
- return UnmodifiableSetView;
- });
- dart.defineLazyClassGeneric(exports, 'UnmodifiableSetView', {get: UnmodifiableSetView$});
- const UnmodifiableMapMixin$ = dart.generic(function(K, V) {
- class UnmodifiableMapMixin extends core.Object {
- static _throw() {
- dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable Map"));
- }
- set(key, value) {
- (() => {
- dart.as(key, K);
- dart.as(value, V);
- return UnmodifiableMapMixin$()._throw();
- })();
- return value;
- }
- putIfAbsent(key, ifAbsent) {
- dart.as(key, K);
- dart.as(ifAbsent, dart.functionType(V, []));
- return dart.as(UnmodifiableMapMixin$()._throw(), V);
- }
- addAll(other) {
- dart.as(other, core.Map$(K, V));
- return UnmodifiableMapMixin$()._throw();
- }
- remove(key) {
- return dart.as(UnmodifiableMapMixin$()._throw(), V);
- }
- clear() {
- return UnmodifiableMapMixin$()._throw();
- }
- }
- UnmodifiableMapMixin[dart.implements] = () => [core.Map$(K, V)];
- dart.setSignature(UnmodifiableMapMixin, {
- methods: () => ({
- set: [dart.void, [K, V]],
- putIfAbsent: [V, [K, dart.functionType(V, [])]],
- addAll: [dart.void, [core.Map$(K, V)]],
- remove: [V, [core.Object]],
- clear: [dart.void, []]
- }),
- statics: () => ({_throw: [dart.dynamic, []]}),
- names: ['_throw']
- });
- return UnmodifiableMapMixin;
- });
- let UnmodifiableMapMixin = UnmodifiableMapMixin$();
- // Exports:
- exports.NonGrowableListMixin$ = NonGrowableListMixin$;
- exports.NonGrowableListMixin = NonGrowableListMixin;
- exports.NonGrowableListView$ = NonGrowableListView$;
- exports.UnmodifiableSetMixin$ = UnmodifiableSetMixin$;
- exports.UnmodifiableSetMixin = UnmodifiableSetMixin;
- exports.UnmodifiableSetView$ = UnmodifiableSetView$;
- exports.UnmodifiableMapMixin$ = UnmodifiableMapMixin$;
- exports.UnmodifiableMapMixin = UnmodifiableMapMixin;
-});
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt b/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt
index b544973d0ee4..52c36836d643 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt
+++ b/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt
@@ -1,5 +1,7 @@
// Messages from compiling unmodifiable_wrappers.dart
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/src/unmodifiable_wrappers.dart, line 88, col 28)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/src/unmodifiable_wrappers.dart, line 94, col 21)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to V (package:collection/src/unmodifiable_wrappers.dart, line 218, col 41)
-warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to V (package:collection/src/unmodifiable_wrappers.dart, line 230, col 27)
+severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/unmodifiable_wrappers.dart, line 20, col 7)
+severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/unmodifiable_wrappers.dart, line 93, col 7)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/src/unmodifiable_wrappers.dart, line 59, col 28)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to E (package:collection/src/unmodifiable_wrappers.dart, line 63, col 21)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to V (package:collection/src/unmodifiable_wrappers.dart, line 151, col 41)
+warning: [DOWN_CAST_COMPOSITE] Unsound implicit cast from dynamic to V (package:collection/src/unmodifiable_wrappers.dart, line 159, col 27)
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/wrappers.txt b/pkg/dev_compiler/test/codegen/expect/collection/src/wrappers.txt
index 3be4c77ea948..08eb064f3f4b 100644
--- a/pkg/dev_compiler/test/codegen/expect/collection/src/wrappers.txt
+++ b/pkg/dev_compiler/test/codegen/expect/collection/src/wrappers.txt
@@ -4,7 +4,7 @@ severe: [INVALID_METHOD_OVERRIDE] Invalid override. The type of _DelegatingItera
severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/src/wrappers.dart, line 97, col 7)
severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/src/wrappers.dart, line 97, col 25)
severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/src/wrappers.dart, line 97, col 25)
-severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/wrappers.dart, line 194, col 7)
+severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/src/wrappers.dart, line 194, col 7)
severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/src/wrappers.dart, line 194, col 24)
severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/src/wrappers.dart, line 194, col 24)
severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/wrappers.dart, line 245, col 7)
diff --git a/pkg/dev_compiler/test/codegen/expect/collection/wrappers.js b/pkg/dev_compiler/test/codegen/expect/collection/wrappers.js
deleted file mode 100644
index d0f23a4eda12..000000000000
--- a/pkg/dev_compiler/test/codegen/expect/collection/wrappers.js
+++ /dev/null
@@ -1,809 +0,0 @@
-dart_library.library('collection/wrappers', null, /* Imports */[
- 'dart/_runtime',
- 'collection/src/canonicalized_map',
- 'dart/core',
- 'dart/math',
- 'dart/collection'
-], /* Lazy imports */[
- 'collection/src/unmodifiable_wrappers'
-], function(exports, dart, canonicalized_map, core, math, collection, unmodifiable_wrappers) {
- 'use strict';
- let dartx = dart.dartx;
- dart.export(exports, canonicalized_map);
- dart.export(exports, unmodifiable_wrappers);
- const _base = Symbol('_base');
- const _DelegatingIterableBase$ = dart.generic(function(E) {
- class _DelegatingIterableBase extends core.Object {
- _DelegatingIterableBase() {
- }
- any(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.any](test);
- }
- contains(element) {
- return this[_base][dartx.contains](element);
- }
- elementAt(index) {
- return this[_base][dartx.elementAt](index);
- }
- every(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.every](test);
- }
- expand(f) {
- dart.as(f, dart.functionType(core.Iterable, [E]));
- return this[_base][dartx.expand](f);
- }
- get first() {
- return this[_base][dartx.first];
- }
- firstWhere(test, opts) {
- dart.as(test, dart.functionType(core.bool, [E]));
- let orElse = opts && 'orElse' in opts ? opts.orElse : null;
- dart.as(orElse, dart.functionType(E, []));
- return this[_base][dartx.firstWhere](test, {orElse: orElse});
- }
- fold(initialValue, combine) {
- dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E]));
- return this[_base][dartx.fold](initialValue, combine);
- }
- forEach(f) {
- dart.as(f, dart.functionType(dart.void, [E]));
- return this[_base][dartx.forEach](f);
- }
- get isEmpty() {
- return this[_base][dartx.isEmpty];
- }
- get isNotEmpty() {
- return this[_base][dartx.isNotEmpty];
- }
- get iterator() {
- return this[_base][dartx.iterator];
- }
- [Symbol.iterator]() {
- return new dart.JsIterator(this.iterator);
- }
- join(separator) {
- if (separator === void 0) separator = "";
- return this[_base][dartx.join](separator);
- }
- get last() {
- return this[_base][dartx.last];
- }
- lastWhere(test, opts) {
- dart.as(test, dart.functionType(core.bool, [E]));
- let orElse = opts && 'orElse' in opts ? opts.orElse : null;
- dart.as(orElse, dart.functionType(E, []));
- return this[_base][dartx.lastWhere](test, {orElse: orElse});
- }
- get length() {
- return this[_base][dartx.length];
- }
- map(f) {
- dart.as(f, dart.functionType(dart.dynamic, [E]));
- return this[_base][dartx.map](f);
- }
- reduce(combine) {
- dart.as(combine, dart.functionType(E, [E, E]));
- return this[_base][dartx.reduce](combine);
- }
- get single() {
- return this[_base][dartx.single];
- }
- singleWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.singleWhere](test);
- }
- skip(n) {
- return this[_base][dartx.skip](n);
- }
- skipWhile(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.skipWhile](test);
- }
- take(n) {
- return this[_base][dartx.take](n);
- }
- takeWhile(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.takeWhile](test);
- }
- toList(opts) {
- let growable = opts && 'growable' in opts ? opts.growable : true;
- return this[_base][dartx.toList]({growable: growable});
- }
- toSet() {
- return this[_base][dartx.toSet]();
- }
- where(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- return this[_base][dartx.where](test);
- }
- toString() {
- return dart.toString(this[_base]);
- }
- }
- _DelegatingIterableBase[dart.implements] = () => [core.Iterable$(E)];
- dart.setSignature(_DelegatingIterableBase, {
- constructors: () => ({_DelegatingIterableBase: [_DelegatingIterableBase$(E), []]}),
- methods: () => ({
- any: [core.bool, [dart.functionType(core.bool, [E])]],
- contains: [core.bool, [core.Object]],
- elementAt: [E, [core.int]],
- every: [core.bool, [dart.functionType(core.bool, [E])]],
- expand: [core.Iterable, [dart.functionType(core.Iterable, [E])]],
- firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functionType(E, [])}],
- fold: [dart.dynamic, [dart.dynamic, dart.functionType(dart.dynamic, [dart.dynamic, E])]],
- forEach: [dart.void, [dart.functionType(dart.void, [E])]],
- join: [core.String, [], [core.String]],
- lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functionType(E, [])}],
- map: [core.Iterable, [dart.functionType(dart.dynamic, [E])]],
- reduce: [E, [dart.functionType(E, [E, E])]],
- singleWhere: [E, [dart.functionType(core.bool, [E])]],
- skip: [core.Iterable$(E), [core.int]],
- skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
- take: [core.Iterable$(E), [core.int]],
- takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]],
- toList: [core.List$(E), [], {growable: core.bool}],
- toSet: [core.Set$(E), []],
- where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]]
- })
- });
- dart.defineExtensionMembers(_DelegatingIterableBase, [
- 'any',
- 'contains',
- 'elementAt',
- 'every',
- 'expand',
- 'firstWhere',
- 'fold',
- 'forEach',
- 'join',
- 'lastWhere',
- 'map',
- 'reduce',
- 'singleWhere',
- 'skip',
- 'skipWhile',
- 'take',
- 'takeWhile',
- 'toList',
- 'toSet',
- 'where',
- 'toString',
- 'first',
- 'isEmpty',
- 'isNotEmpty',
- 'iterator',
- 'last',
- 'length',
- 'single'
- ]);
- return _DelegatingIterableBase;
- });
- let _DelegatingIterableBase = _DelegatingIterableBase$();
- const DelegatingIterable$ = dart.generic(function(E) {
- class DelegatingIterable extends _DelegatingIterableBase$(E) {
- DelegatingIterable(base) {
- this[_base] = base;
- super._DelegatingIterableBase();
- }
- }
- dart.setSignature(DelegatingIterable, {
- constructors: () => ({DelegatingIterable: [DelegatingIterable$(E), [core.Iterable$(E)]]})
- });
- return DelegatingIterable;
- });
- let DelegatingIterable = DelegatingIterable$();
- const _listBase = Symbol('_listBase');
- const DelegatingList$ = dart.generic(function(E) {
- class DelegatingList extends DelegatingIterable$(E) {
- DelegatingList(base) {
- super.DelegatingIterable(base);
- }
- get [_listBase]() {
- return dart.as(this[_base], core.List$(E));
- }
- get(index) {
- return this[_listBase][dartx.get](index);
- }
- set(index, value) {
- dart.as(value, E);
- this[_listBase][dartx.set](index, value);
- return value;
- }
- add(value) {
- dart.as(value, E);
- this[_listBase][dartx.add](value);
- }
- addAll(iterable) {
- dart.as(iterable, core.Iterable$(E));
- this[_listBase][dartx.addAll](iterable);
- }
- asMap() {
- return this[_listBase][dartx.asMap]();
- }
- clear() {
- this[_listBase][dartx.clear]();
- }
- fillRange(start, end, fillValue) {
- if (fillValue === void 0) fillValue = null;
- dart.as(fillValue, E);
- this[_listBase][dartx.fillRange](start, end, fillValue);
- }
- getRange(start, end) {
- return this[_listBase][dartx.getRange](start, end);
- }
- indexOf(element, start) {
- dart.as(element, E);
- if (start === void 0) start = 0;
- return this[_listBase][dartx.indexOf](element, start);
- }
- insert(index, element) {
- dart.as(element, E);
- this[_listBase][dartx.insert](index, element);
- }
- insertAll(index, iterable) {
- dart.as(iterable, core.Iterable$(E));
- this[_listBase][dartx.insertAll](index, iterable);
- }
- lastIndexOf(element, start) {
- dart.as(element, E);
- if (start === void 0) start = null;
- return this[_listBase][dartx.lastIndexOf](element, start);
- }
- set length(newLength) {
- this[_listBase][dartx.length] = newLength;
- }
- remove(value) {
- return this[_listBase][dartx.remove](value);
- }
- removeAt(index) {
- return this[_listBase][dartx.removeAt](index);
- }
- removeLast() {
- return this[_listBase][dartx.removeLast]();
- }
- removeRange(start, end) {
- this[_listBase][dartx.removeRange](start, end);
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_listBase][dartx.removeWhere](test);
- }
- replaceRange(start, end, iterable) {
- dart.as(iterable, core.Iterable$(E));
- this[_listBase][dartx.replaceRange](start, end, iterable);
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_listBase][dartx.retainWhere](test);
- }
- get reversed() {
- return this[_listBase][dartx.reversed];
- }
- setAll(index, iterable) {
- dart.as(iterable, core.Iterable$(E));
- this[_listBase][dartx.setAll](index, iterable);
- }
- setRange(start, end, iterable, skipCount) {
- dart.as(iterable, core.Iterable$(E));
- if (skipCount === void 0) skipCount = 0;
- this[_listBase][dartx.setRange](start, end, iterable, skipCount);
- }
- shuffle(random) {
- if (random === void 0) random = null;
- this[_listBase][dartx.shuffle](random);
- }
- sort(compare) {
- if (compare === void 0) compare = null;
- dart.as(compare, dart.functionType(core.int, [E, E]));
- this[_listBase][dartx.sort](compare);
- }
- sublist(start, end) {
- if (end === void 0) end = null;
- return this[_listBase][dartx.sublist](start, end);
- }
- }
- DelegatingList[dart.implements] = () => [core.List$(E)];
- dart.setSignature(DelegatingList, {
- constructors: () => ({DelegatingList: [DelegatingList$(E), [core.List$(E)]]}),
- methods: () => ({
- get: [E, [core.int]],
- set: [dart.void, [core.int, E]],
- add: [dart.void, [E]],
- addAll: [dart.void, [core.Iterable$(E)]],
- asMap: [core.Map$(core.int, E), []],
- clear: [dart.void, []],
- fillRange: [dart.void, [core.int, core.int], [E]],
- getRange: [core.Iterable$(E), [core.int, core.int]],
- indexOf: [core.int, [E], [core.int]],
- insert: [dart.void, [core.int, E]],
- insertAll: [dart.void, [core.int, core.Iterable$(E)]],
- lastIndexOf: [core.int, [E], [core.int]],
- remove: [core.bool, [core.Object]],
- removeAt: [E, [core.int]],
- removeLast: [E, []],
- removeRange: [dart.void, [core.int, core.int]],
- removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- setAll: [dart.void, [core.int, core.Iterable$(E)]],
- setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int]],
- shuffle: [dart.void, [], [math.Random]],
- sort: [dart.void, [], [dart.functionType(core.int, [E, E])]],
- sublist: [core.List$(E), [core.int], [core.int]]
- })
- });
- dart.defineExtensionMembers(DelegatingList, [
- 'get',
- 'set',
- 'add',
- 'addAll',
- 'asMap',
- 'clear',
- 'fillRange',
- 'getRange',
- 'indexOf',
- 'insert',
- 'insertAll',
- 'lastIndexOf',
- 'remove',
- 'removeAt',
- 'removeLast',
- 'removeRange',
- 'removeWhere',
- 'replaceRange',
- 'retainWhere',
- 'setAll',
- 'setRange',
- 'shuffle',
- 'sort',
- 'sublist',
- 'length',
- 'reversed'
- ]);
- return DelegatingList;
- });
- let DelegatingList = DelegatingList$();
- const _setBase = Symbol('_setBase');
- const DelegatingSet$ = dart.generic(function(E) {
- class DelegatingSet extends DelegatingIterable$(E) {
- DelegatingSet(base) {
- super.DelegatingIterable(base);
- }
- get [_setBase]() {
- return dart.as(this[_base], core.Set$(E));
- }
- add(value) {
- dart.as(value, E);
- return this[_setBase].add(value);
- }
- addAll(elements) {
- dart.as(elements, core.Iterable$(E));
- this[_setBase].addAll(elements);
- }
- clear() {
- this[_setBase].clear();
- }
- containsAll(other) {
- return this[_setBase].containsAll(other);
- }
- difference(other) {
- dart.as(other, core.Set$(E));
- return this[_setBase].difference(other);
- }
- intersection(other) {
- return this[_setBase].intersection(other);
- }
- lookup(element) {
- return this[_setBase].lookup(element);
- }
- remove(value) {
- return this[_setBase].remove(value);
- }
- removeAll(elements) {
- this[_setBase].removeAll(elements);
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_setBase].removeWhere(test);
- }
- retainAll(elements) {
- this[_setBase].retainAll(elements);
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_setBase].retainWhere(test);
- }
- union(other) {
- dart.as(other, core.Set$(E));
- return this[_setBase].union(other);
- }
- toSet() {
- return new (DelegatingSet$(E))(this[_setBase].toSet());
- }
- }
- DelegatingSet[dart.implements] = () => [core.Set$(E)];
- dart.setSignature(DelegatingSet, {
- constructors: () => ({DelegatingSet: [DelegatingSet$(E), [core.Set$(E)]]}),
- methods: () => ({
- add: [core.bool, [E]],
- addAll: [dart.void, [core.Iterable$(E)]],
- clear: [dart.void, []],
- containsAll: [core.bool, [core.Iterable$(core.Object)]],
- difference: [core.Set$(E), [core.Set$(E)]],
- intersection: [core.Set$(E), [core.Set$(core.Object)]],
- lookup: [E, [core.Object]],
- remove: [core.bool, [core.Object]],
- removeAll: [dart.void, [core.Iterable$(core.Object)]],
- removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- retainAll: [dart.void, [core.Iterable$(core.Object)]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- union: [core.Set$(E), [core.Set$(E)]],
- toSet: [core.Set$(E), []]
- })
- });
- dart.defineExtensionMembers(DelegatingSet, ['toSet']);
- return DelegatingSet;
- });
- let DelegatingSet = DelegatingSet$();
- const _baseQueue = Symbol('_baseQueue');
- const DelegatingQueue$ = dart.generic(function(E) {
- class DelegatingQueue extends DelegatingIterable$(E) {
- DelegatingQueue(queue) {
- super.DelegatingIterable(queue);
- }
- get [_baseQueue]() {
- return dart.as(this[_base], collection.Queue$(E));
- }
- add(value) {
- dart.as(value, E);
- this[_baseQueue].add(value);
- }
- addAll(iterable) {
- dart.as(iterable, core.Iterable$(E));
- this[_baseQueue].addAll(iterable);
- }
- addFirst(value) {
- dart.as(value, E);
- this[_baseQueue].addFirst(value);
- }
- addLast(value) {
- dart.as(value, E);
- this[_baseQueue].addLast(value);
- }
- clear() {
- this[_baseQueue].clear();
- }
- remove(object) {
- return this[_baseQueue].remove(object);
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_baseQueue].removeWhere(test);
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [E]));
- this[_baseQueue].retainWhere(test);
- }
- removeFirst() {
- return this[_baseQueue].removeFirst();
- }
- removeLast() {
- return this[_baseQueue].removeLast();
- }
- }
- DelegatingQueue[dart.implements] = () => [collection.Queue$(E)];
- dart.setSignature(DelegatingQueue, {
- constructors: () => ({DelegatingQueue: [DelegatingQueue$(E), [collection.Queue$(E)]]}),
- methods: () => ({
- add: [dart.void, [E]],
- addAll: [dart.void, [core.Iterable$(E)]],
- addFirst: [dart.void, [E]],
- addLast: [dart.void, [E]],
- clear: [dart.void, []],
- remove: [core.bool, [core.Object]],
- removeWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [E])]],
- removeFirst: [E, []],
- removeLast: [E, []]
- })
- });
- return DelegatingQueue;
- });
- let DelegatingQueue = DelegatingQueue$();
- const DelegatingMap$ = dart.generic(function(K, V) {
- class DelegatingMap extends core.Object {
- DelegatingMap(base) {
- this[_base] = base;
- }
- get(key) {
- return this[_base].get(key);
- }
- set(key, value) {
- dart.as(key, K);
- dart.as(value, V);
- this[_base].set(key, value);
- return value;
- }
- addAll(other) {
- dart.as(other, core.Map$(K, V));
- this[_base].addAll(other);
- }
- clear() {
- this[_base].clear();
- }
- containsKey(key) {
- return this[_base].containsKey(key);
- }
- containsValue(value) {
- return this[_base].containsValue(value);
- }
- forEach(f) {
- dart.as(f, dart.functionType(dart.void, [K, V]));
- this[_base].forEach(f);
- }
- get isEmpty() {
- return this[_base].isEmpty;
- }
- get isNotEmpty() {
- return this[_base].isNotEmpty;
- }
- get keys() {
- return this[_base].keys;
- }
- get length() {
- return this[_base].length;
- }
- putIfAbsent(key, ifAbsent) {
- dart.as(key, K);
- dart.as(ifAbsent, dart.functionType(V, []));
- return this[_base].putIfAbsent(key, ifAbsent);
- }
- remove(key) {
- return this[_base].remove(key);
- }
- get values() {
- return this[_base].values;
- }
- toString() {
- return dart.toString(this[_base]);
- }
- }
- DelegatingMap[dart.implements] = () => [core.Map$(K, V)];
- dart.setSignature(DelegatingMap, {
- constructors: () => ({DelegatingMap: [DelegatingMap$(K, V), [core.Map$(K, V)]]}),
- methods: () => ({
- get: [V, [core.Object]],
- set: [dart.void, [K, V]],
- addAll: [dart.void, [core.Map$(K, V)]],
- clear: [dart.void, []],
- containsKey: [core.bool, [core.Object]],
- containsValue: [core.bool, [core.Object]],
- forEach: [dart.void, [dart.functionType(dart.void, [K, V])]],
- putIfAbsent: [V, [K, dart.functionType(V, [])]],
- remove: [V, [core.Object]]
- })
- });
- return DelegatingMap;
- });
- let DelegatingMap = DelegatingMap$();
- const _baseMap = Symbol('_baseMap');
- const MapKeySet$ = dart.generic(function(E) {
- class MapKeySet extends dart.mixin(_DelegatingIterableBase$(E), unmodifiable_wrappers.UnmodifiableSetMixin$(E)) {
- MapKeySet(base) {
- this[_baseMap] = base;
- super._DelegatingIterableBase();
- }
- get [_base]() {
- return this[_baseMap].keys;
- }
- contains(element) {
- return this[_baseMap].containsKey(element);
- }
- get isEmpty() {
- return this[_baseMap].isEmpty;
- }
- get isNotEmpty() {
- return this[_baseMap].isNotEmpty;
- }
- get length() {
- return this[_baseMap].length;
- }
- toString() {
- return `{${this[_base][dartx.join](', ')}}`;
- }
- containsAll(other) {
- return other[dartx.every](dart.bind(this, 'contains'));
- }
- difference(other) {
- dart.as(other, core.Set$(E));
- return this.where(dart.fn(element => !dart.notNull(other.contains(element)), core.bool, [E]))[dartx.toSet]();
- }
- intersection(other) {
- return this.where(dart.bind(other, 'contains'))[dartx.toSet]();
- }
- lookup(element) {
- dart.as(element, E);
- return dart.throw(new core.UnsupportedError("MapKeySet doesn't support lookup()."));
- }
- union(other) {
- dart.as(other, core.Set$(E));
- return (() => {
- let _ = this.toSet();
- _.addAll(other);
- return _;
- })();
- }
- }
- dart.setSignature(MapKeySet, {
- constructors: () => ({MapKeySet: [exports.MapKeySet$(E), [core.Map$(E, dart.dynamic)]]}),
- methods: () => ({
- containsAll: [core.bool, [core.Iterable$(core.Object)]],
- difference: [core.Set$(E), [core.Set$(E)]],
- intersection: [core.Set$(E), [core.Set$(core.Object)]],
- lookup: [E, [E]],
- union: [core.Set$(E), [core.Set$(E)]]
- })
- });
- dart.defineExtensionMembers(MapKeySet, [
- 'contains',
- 'toString',
- 'isEmpty',
- 'isNotEmpty',
- 'length'
- ]);
- return MapKeySet;
- });
- dart.defineLazyClassGeneric(exports, 'MapKeySet', {get: MapKeySet$});
- const _keyForValue = Symbol('_keyForValue');
- const MapValueSet$ = dart.generic(function(K, V) {
- class MapValueSet extends _DelegatingIterableBase$(V) {
- MapValueSet(base, keyForValue) {
- this[_baseMap] = base;
- this[_keyForValue] = keyForValue;
- super._DelegatingIterableBase();
- }
- get [_base]() {
- return this[_baseMap].values;
- }
- contains(element) {
- if (element != null && !dart.is(element, V)) return false;
- return this[_baseMap].containsKey(dart.dcall(this[_keyForValue], element));
- }
- get isEmpty() {
- return this[_baseMap].isEmpty;
- }
- get isNotEmpty() {
- return this[_baseMap].isNotEmpty;
- }
- get length() {
- return this[_baseMap].length;
- }
- toString() {
- return dart.toString(this.toSet());
- }
- add(value) {
- dart.as(value, V);
- let key = dart.as(dart.dcall(this[_keyForValue], value), K);
- let result = false;
- this[_baseMap].putIfAbsent(key, dart.fn(() => {
- result = true;
- return value;
- }, V, []));
- return result;
- }
- addAll(elements) {
- dart.as(elements, core.Iterable$(V));
- return elements[dartx.forEach](dart.bind(this, 'add'));
- }
- clear() {
- return this[_baseMap].clear();
- }
- containsAll(other) {
- return other[dartx.every](dart.bind(this, 'contains'));
- }
- difference(other) {
- dart.as(other, core.Set$(V));
- return this.where(dart.fn(element => !dart.notNull(other.contains(element)), core.bool, [V]))[dartx.toSet]();
- }
- intersection(other) {
- return this.where(dart.bind(other, 'contains'))[dartx.toSet]();
- }
- lookup(element) {
- return this[_baseMap].get(dart.dcall(this[_keyForValue], element));
- }
- remove(value) {
- if (value != null && !dart.is(value, V)) return false;
- let key = dart.dcall(this[_keyForValue], value);
- if (!dart.notNull(this[_baseMap].containsKey(key))) return false;
- this[_baseMap].remove(key);
- return true;
- }
- removeAll(elements) {
- return elements[dartx.forEach](dart.bind(this, 'remove'));
- }
- removeWhere(test) {
- dart.as(test, dart.functionType(core.bool, [V]));
- let toRemove = [];
- this[_baseMap].forEach(dart.fn((key, value) => {
- dart.as(key, K);
- dart.as(value, V);
- if (dart.notNull(test(value))) toRemove[dartx.add](key);
- }, dart.void, [K, V]));
- toRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove'));
- }
- retainAll(elements) {
- let valuesToRetain = core.Set$(V).identity();
- for (let element of elements) {
- if (element != null && !dart.is(element, V)) continue;
- let key = dart.dcall(this[_keyForValue], element);
- if (!dart.notNull(this[_baseMap].containsKey(key))) continue;
- valuesToRetain.add(this[_baseMap].get(key));
- }
- let keysToRemove = [];
- this[_baseMap].forEach(dart.fn((k, v) => {
- dart.as(k, K);
- dart.as(v, V);
- if (!dart.notNull(valuesToRetain.contains(v))) keysToRemove[dartx.add](k);
- }, dart.void, [K, V]));
- keysToRemove[dartx.forEach](dart.bind(this[_baseMap], 'remove'));
- }
- retainWhere(test) {
- dart.as(test, dart.functionType(core.bool, [V]));
- return this.removeWhere(dart.fn(element => !dart.notNull(test(element)), core.bool, [V]));
- }
- union(other) {
- dart.as(other, core.Set$(V));
- return (() => {
- let _ = this.toSet();
- _.addAll(other);
- return _;
- })();
- }
- }
- MapValueSet[dart.implements] = () => [core.Set$(V)];
- dart.setSignature(MapValueSet, {
- constructors: () => ({MapValueSet: [MapValueSet$(K, V), [core.Map$(K, V), dart.functionType(K, [V])]]}),
- methods: () => ({
- add: [core.bool, [V]],
- addAll: [dart.void, [core.Iterable$(V)]],
- clear: [dart.void, []],
- containsAll: [core.bool, [core.Iterable$(core.Object)]],
- difference: [core.Set$(V), [core.Set$(V)]],
- intersection: [core.Set$(V), [core.Set$(core.Object)]],
- lookup: [V, [core.Object]],
- remove: [core.bool, [core.Object]],
- removeAll: [dart.void, [core.Iterable$(core.Object)]],
- removeWhere: [dart.void, [dart.functionType(core.bool, [V])]],
- retainAll: [dart.void, [core.Iterable$(core.Object)]],
- retainWhere: [dart.void, [dart.functionType(core.bool, [V])]],
- union: [core.Set$(V), [core.Set$(V)]]
- })
- });
- dart.defineExtensionMembers(MapValueSet, [
- 'contains',
- 'toString',
- 'isEmpty',
- 'isNotEmpty',
- 'length'
- ]);
- return MapValueSet;
- });
- let MapValueSet = MapValueSet$();
- // Exports:
- exports.DelegatingIterable$ = DelegatingIterable$;
- exports.DelegatingIterable = DelegatingIterable;
- exports.DelegatingList$ = DelegatingList$;
- exports.DelegatingList = DelegatingList;
- exports.DelegatingSet$ = DelegatingSet$;
- exports.DelegatingSet = DelegatingSet;
- exports.DelegatingQueue$ = DelegatingQueue$;
- exports.DelegatingQueue = DelegatingQueue;
- exports.DelegatingMap$ = DelegatingMap$;
- exports.DelegatingMap = DelegatingMap;
- exports.MapKeySet$ = MapKeySet$;
- exports.MapValueSet$ = MapValueSet$;
- exports.MapValueSet = MapValueSet;
-});
diff --git a/pkg/dev_compiler/test/codegen/expect/language-all.js b/pkg/dev_compiler/test/codegen/expect/language-all.js
index d02176154e29..1b51d3c398a6 100644
--- a/pkg/dev_compiler/test/codegen/expect/language-all.js
+++ b/pkg/dev_compiler/test/codegen/expect/language-all.js
@@ -26391,253 +26391,6 @@ dart_library.library('language/built_in_identifier_prefix_library_typedef', null
exports.C$ = C$;
exports.C = C;
});
-dart_library.library('language/built_in_identifier_test_01_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- class PseudoKWTest extends core.Object {
- static testMain() {
- let abstract = 0;
- let as = 0;
- let dynamic = 0;
- let export$ = 0;
- let external = 0;
- let factory = 0;
- let get = 0;
- let implements$ = 0;
- let import$ = 0;
- let library = 0;
- let operator = 0;
- let part = 0;
- let set = 0;
- let static$ = 0;
- let typedef = 0;
- let native = 0;
- {
- function factory(set) {
- return;
- }
- dart.fn(factory, dart.void, [dart.dynamic]);
- }
- get:
- while (import$ > 0) {
- break get;
- }
- return static$ + library * operator;
- }
- }
- dart.setSignature(PseudoKWTest, {
- statics: () => ({testMain: [dart.dynamic, []]}),
- names: ['testMain']
- });
- function typedef(x) {
- return `typedef ${x}`;
- }
- dart.fn(typedef);
- function static$(abstract) {
- return dart.equals(abstract, true);
- }
- dart.fn(static$);
- class A extends core.Object {
- A() {
- this.typedef = 0;
- this.operator = "smooth";
- }
- set(x) {
- this.typedef = dart.as(x, core.int);
- }
- get() {
- return dart.notNull(this.typedef) - 5;
- }
- static static() {
- return 1;
- }
- static check() {
- let o = new A();
- o.set(55);
- expect.Expect.equals(50, o.get());
- A.static();
- }
- }
- dart.setSignature(A, {
- methods: () => ({
- set: [dart.dynamic, [dart.dynamic]],
- get: [dart.dynamic, []]
- }),
- statics: () => ({
- static: [dart.dynamic, []],
- check: [dart.dynamic, []]
- }),
- names: ['static', 'check']
- });
- class B extends core.Object {
- B() {
- this.set = 100;
- }
- get get() {
- return this.set;
- }
- set get(get) {
- return this.set = dart.asInt(2 * dart.notNull(dart.as(dart.dload(get, 'get'), core.num)));
- }
- static() {
- let set = new B();
- set.get = set;
- expect.Expect.equals(200, set.get);
- }
- operator() {
- return 1;
- }
- }
- dart.setSignature(B, {
- methods: () => ({
- static: [dart.dynamic, []],
- operator: [core.int, []]
- })
- });
- class C extends core.Object {
- static get set() {
- return 111;
- }
- static set set(set) {}
- }
- C.operator = 5;
- C.get = null;
- function main() {
- PseudoKWTest.testMain();
- A.check();
- new B().static();
- expect.Expect.equals(1, new B().operator());
- expect.Expect.equals(1, A.static());
- typedef("T");
- expect.Expect.equals("typedef T", typedef("T"));
- static$("true");
- expect.Expect.equals(false, static$("true"));
- expect.Expect.equals(5, C.operator);
- expect.Expect.equals(null, C.get);
- C.set = 0;
- expect.Expect.equals(111, C.set);
- }
- dart.fn(main);
- // Exports:
- exports.PseudoKWTest = PseudoKWTest;
- exports.typedef = typedef;
- exports.static = static$;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.main = main;
-});
-dart_library.library('language/built_in_identifier_test_none_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- class PseudoKWTest extends core.Object {
- static testMain() {
- let as = 0;
- let dynamic = 0;
- let export$ = 0;
- let factory = 0;
- let get = 0;
- let implements$ = 0;
- let import$ = 0;
- let library = 0;
- let operator = 0;
- let part = 0;
- let set = 0;
- let typedef = 0;
- let native = 0;
- {
- function factory(set) {
- }
- dart.fn(factory, dart.void, [dart.dynamic]);
- }
- get:
- while (import$ > 0) {
- break get;
- }
- return library * operator;
- }
- }
- dart.setSignature(PseudoKWTest, {
- statics: () => ({testMain: [dart.dynamic, []]}),
- names: ['testMain']
- });
- class A extends core.Object {
- A() {
- this.typedef = 0;
- this.operator = "smooth";
- }
- set(x) {
- this.typedef = dart.as(x, core.int);
- }
- get() {
- return dart.notNull(this.typedef) - 5;
- }
- static check() {
- let o = new A();
- o.set(55);
- expect.Expect.equals(50, o.get());
- }
- }
- dart.setSignature(A, {
- methods: () => ({
- set: [dart.dynamic, [dart.dynamic]],
- get: [dart.dynamic, []]
- }),
- statics: () => ({check: [dart.dynamic, []]}),
- names: ['check']
- });
- class B extends core.Object {
- B() {
- this.set = 100;
- }
- get get() {
- return this.set;
- }
- set get(get) {
- return this.set = dart.asInt(2 * dart.notNull(dart.as(dart.dload(get, 'get'), core.num)));
- }
- operator() {
- return 1;
- }
- }
- dart.setSignature(B, {
- methods: () => ({operator: [core.int, []]})
- });
- class C extends core.Object {
- static get set() {
- return 111;
- }
- static set set(set) {}
- }
- C.operator = 5;
- C.get = null;
- function main() {
- PseudoKWTest.testMain();
- A.check();
- expect.Expect.equals(1, new B().operator());
- expect.Expect.equals(5, C.operator);
- expect.Expect.equals(null, C.get);
- C.set = 0;
- expect.Expect.equals(111, C.set);
- }
- dart.fn(main);
- // Exports:
- exports.PseudoKWTest = PseudoKWTest;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.main = main;
-});
dart_library.library('language/call_argument_inference_test', null, /* Imports */[
'dart/_runtime',
'dart/core',
@@ -60664,131 +60417,6 @@ dart_library.library('language/function_getter_test', null, /* Imports */[
exports.A = A;
exports.main = main;
});
-dart_library.library('language/function_literals_test', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- const IntFunc = dart.typedef('IntFunc', () => dart.functionType(core.int, [dart.dynamic]));
- class FunctionLiteralsTest extends core.Object {
- static checkIntFunction(expected, f, arg) {
- expect.Expect.equals(expected, dart.dcall(f, arg));
- }
- static checkIntFuncFunction(expected, f, arg) {
- expect.Expect.equals(expected, dart.dcall(dart.dcall(f, arg), arg));
- }
- func1(x) {
- return x;
- }
- func2(x) {
- return dart.as(x, core.int);
- }
- func3(x) {
- return x;
- }
- func4(x) {
- return dart.as(x, core.int);
- }
- FunctionLiteralsTest() {
- }
- static testMain() {
- let test = new FunctionLiteralsTest();
- test.testArrow();
- test.testArrowArrow();
- test.testArrowBlock();
- test.testBlock();
- test.testBlockArrow();
- test.testBlockBlock();
- test.testFunctionRef();
- }
- testArrow() {
- FunctionLiteralsTest.checkIntFunction(42, dart.fn(x => dart.as(x, core.int), core.int, [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFunction(42, dart.fn(x => x, core.int, [core.int]), 42);
- }
- testArrowArrow() {
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => dart.fn(y => dart.as(dart.dsend(x, '+', y), core.int), core.int, [dart.dynamic]), dart.functionType(core.int, [dart.dynamic]), [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.as(dart.fn(x => dart.fn(y => dart.notNull(x) + dart.notNull(dart.as(y, core.num)), core.num, [dart.dynamic]), dart.functionType(core.num, [dart.dynamic]), [core.int]), __CastType0), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => dart.fn(y => dart.as(dart.dsend(x, '+', y), core.int), core.int, [dart.dynamic]), dart.functionType(core.int, [dart.dynamic]), [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.as(dart.fn(x => dart.fn(y => dart.notNull(x) + dart.notNull(dart.as(y, core.num)), core.num, [dart.dynamic]), dart.functionType(core.num, [dart.dynamic]), [core.int]), dart.functionType(IntFunc, [dart.dynamic])), 42);
- }
- testArrowBlock() {
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => dart.fn(y => {
- return dart.as(dart.dsend(x, '+', y), core.int);
- }, core.int, [dart.dynamic]), dart.functionType(core.int, [dart.dynamic]), [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => dart.fn(y => {
- return dart.asInt(dart.notNull(x) + dart.notNull(dart.as(y, core.num)));
- }, core.int, [dart.dynamic]), dart.functionType(core.int, [dart.dynamic]), [core.int]), 42);
- }
- testBlock() {
- FunctionLiteralsTest.checkIntFunction(42, dart.fn(x => {
- return dart.as(x, core.int);
- }, core.int, [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFunction(42, dart.fn(x => {
- return x;
- }, core.int, [core.int]), 42);
- }
- testBlockArrow() {
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => {
- return dart.fn(y => dart.as(dart.dsend(x, '+', y), core.int), core.int, [dart.dynamic]);
- }, IntFunc, [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => {
- return dart.as(dart.fn(y => dart.notNull(x) + dart.notNull(dart.as(y, core.num)), core.num, [dart.dynamic]), IntFunc);
- }, IntFunc, [core.int]), 42);
- }
- testBlockBlock() {
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => {
- return dart.fn(y => {
- return dart.as(dart.dsend(x, '+', y), core.int);
- }, core.int, [dart.dynamic]);
- }, IntFunc, [dart.dynamic]), 42);
- FunctionLiteralsTest.checkIntFuncFunction(84, dart.fn(x => {
- return dart.fn(y => {
- return dart.asInt(dart.notNull(x) + dart.notNull(dart.as(y, core.num)));
- }, core.int, [dart.dynamic]);
- }, IntFunc, [core.int]), 42);
- }
- testFunctionRef() {
- FunctionLiteralsTest.checkIntFunction(42, dart.bind(this, 'func1'), 42);
- FunctionLiteralsTest.checkIntFunction(42, dart.bind(this, 'func2'), 42);
- FunctionLiteralsTest.checkIntFunction(42, dart.bind(this, 'func3'), 42);
- FunctionLiteralsTest.checkIntFunction(42, dart.bind(this, 'func4'), 42);
- }
- }
- dart.setSignature(FunctionLiteralsTest, {
- constructors: () => ({FunctionLiteralsTest: [FunctionLiteralsTest, []]}),
- methods: () => ({
- func1: [core.int, [core.int]],
- func2: [core.int, [dart.dynamic]],
- func3: [core.int, [core.int]],
- func4: [core.int, [dart.dynamic]],
- testArrow: [dart.void, []],
- testArrowArrow: [dart.void, []],
- testArrowBlock: [dart.void, []],
- testBlock: [dart.void, []],
- testBlockArrow: [dart.void, []],
- testBlockBlock: [dart.void, []],
- testFunctionRef: [dart.void, []]
- }),
- statics: () => ({
- checkIntFunction: [dart.void, [dart.dynamic, dart.functionType(core.int, [dart.dynamic]), dart.dynamic]],
- checkIntFuncFunction: [dart.void, [dart.dynamic, dart.functionType(IntFunc, [dart.dynamic]), dart.dynamic]],
- testMain: [dart.void, []]
- }),
- names: ['checkIntFunction', 'checkIntFuncFunction', 'testMain']
- });
- function main() {
- FunctionLiteralsTest.testMain();
- }
- dart.fn(main);
- const __CastType0 = dart.typedef('__CastType0', () => dart.functionType(IntFunc, [dart.dynamic]));
- // Exports:
- exports.IntFunc = IntFunc;
- exports.FunctionLiteralsTest = FunctionLiteralsTest;
- exports.main = main;
-});
dart_library.library('language/function_propagation_test', null, /* Imports */[
'dart/_runtime',
'dart/core',
@@ -72913,129 +72541,6 @@ dart_library.library('language/if_null_assignment_static_test_03_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_05_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let t = super.b;
- return t == null ? super.b = new A() : t;
- })().a;
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
dart_library.library('language/if_null_assignment_static_test_08_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
@@ -73282,129 +72787,6 @@ dart_library.library('language/if_null_assignment_static_test_10_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_12_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let t = exports.b;
- return t == null ? exports.b = new A() : t;
- })().a;
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
dart_library.library('language/if_null_assignment_static_test_15_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
@@ -73504,378 +72886,7 @@ dart_library.library('language/if_null_assignment_static_test_15_multi', null, /
if (!dart.notNull(exports.checkedMode)) {
}
(() => {
- let o = ClassWithStaticGetters, t = o.a;
- return t == null ? o.a = new A() : t;
- })().a;
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
-dart_library.library('language/if_null_assignment_static_test_17_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- }
- (() => {
- let o = ClassWithStaticGetters, t = o.a;
- return t == null ? o.a = new B() : t;
- })().a;
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
-dart_library.library('language/if_null_assignment_static_test_19_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let o = ClassWithStaticGetters, t = o.b;
- return t == null ? o.b = new A() : t;
- })().a;
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
-dart_library.library('language/if_null_assignment_static_test_22_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- (() => {
- let o = new ClassWithInstanceGetters(), t = o.a;
+ let o = ClassWithStaticGetters, t = o.a;
return t == null ? o.a = new A() : t;
})().a;
if (!dart.notNull(exports.checkedMode)) {
@@ -73884,6 +72895,8 @@ dart_library.library('language/if_null_assignment_static_test_22_multi', null, /
}
if (!dart.notNull(exports.checkedMode)) {
}
+ if (!dart.notNull(exports.checkedMode)) {
+ }
}
dart.fn(main);
// Exports:
@@ -73897,7 +72910,7 @@ dart_library.library('language/if_null_assignment_static_test_22_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_24_multi', null, /* Imports */[
+dart_library.library('language/if_null_assignment_static_test_17_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
'expect/expect'
@@ -73995,10 +73008,8 @@ dart_library.library('language/if_null_assignment_static_test_24_multi', null, /
new DerivedClass().derivedTest();
if (!dart.notNull(exports.checkedMode)) {
}
- if (!dart.notNull(exports.checkedMode)) {
- }
(() => {
- let o = new ClassWithInstanceGetters(), t = o.a;
+ let o = ClassWithStaticGetters, t = o.a;
return t == null ? o.a = new B() : t;
})().a;
if (!dart.notNull(exports.checkedMode)) {
@@ -74007,6 +73018,8 @@ dart_library.library('language/if_null_assignment_static_test_24_multi', null, /
}
if (!dart.notNull(exports.checkedMode)) {
}
+ if (!dart.notNull(exports.checkedMode)) {
+ }
}
dart.fn(main);
// Exports:
@@ -74020,7 +73033,7 @@ dart_library.library('language/if_null_assignment_static_test_24_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_26_multi', null, /* Imports */[
+dart_library.library('language/if_null_assignment_static_test_22_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
'expect/expect'
@@ -74120,11 +73133,11 @@ dart_library.library('language/if_null_assignment_static_test_26_multi', null, /
}
if (!dart.notNull(exports.checkedMode)) {
}
+ (() => {
+ let o = new ClassWithInstanceGetters(), t = o.a;
+ return t == null ? o.a = new A() : t;
+ })().a;
if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let o = new ClassWithInstanceGetters(), t = o.b;
- return t == null ? o.b = new A() : t;
- })().a;
}
if (!dart.notNull(exports.checkedMode)) {
}
@@ -74143,7 +73156,7 @@ dart_library.library('language/if_null_assignment_static_test_26_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_29_multi', null, /* Imports */[
+dart_library.library('language/if_null_assignment_static_test_24_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
'expect/expect'
@@ -74243,16 +73256,16 @@ dart_library.library('language/if_null_assignment_static_test_29_multi', null, /
}
if (!dart.notNull(exports.checkedMode)) {
}
- if (!dart.notNull(exports.checkedMode)) {
- }
(() => {
- let o = dart.list([null], A), i = 0, t = o[dartx.get](i);
- return t == null ? o[dartx.set](i, new A()) : t;
+ let o = new ClassWithInstanceGetters(), t = o.a;
+ return t == null ? o.a = new B() : t;
})().a;
if (!dart.notNull(exports.checkedMode)) {
}
if (!dart.notNull(exports.checkedMode)) {
}
+ if (!dart.notNull(exports.checkedMode)) {
+ }
}
dart.fn(main);
// Exports:
@@ -74266,7 +73279,7 @@ dart_library.library('language/if_null_assignment_static_test_29_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_31_multi', null, /* Imports */[
+dart_library.library('language/if_null_assignment_static_test_29_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
'expect/expect'
@@ -74370,7 +73383,7 @@ dart_library.library('language/if_null_assignment_static_test_31_multi', null, /
}
(() => {
let o = dart.list([null], A), i = 0, t = o[dartx.get](i);
- return t == null ? o[dartx.set](i, new B()) : t;
+ return t == null ? o[dartx.set](i, new A()) : t;
})().a;
if (!dart.notNull(exports.checkedMode)) {
}
@@ -74389,7 +73402,7 @@ dart_library.library('language/if_null_assignment_static_test_31_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_33_multi', null, /* Imports */[
+dart_library.library('language/if_null_assignment_static_test_31_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
'expect/expect'
@@ -74491,11 +73504,11 @@ dart_library.library('language/if_null_assignment_static_test_33_multi', null, /
}
if (!dart.notNull(exports.checkedMode)) {
}
+ (() => {
+ let o = dart.list([null], A), i = 0, t = o[dartx.get](i);
+ return t == null ? o[dartx.set](i, new B()) : t;
+ })().a;
if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let o = dart.list([null], B), i = 0, t = o[dartx.get](i);
- return t == null ? o[dartx.set](i, new A()) : t;
- })().a;
}
if (!dart.notNull(exports.checkedMode)) {
}
@@ -74758,129 +73771,6 @@ dart_library.library('language/if_null_assignment_static_test_38_multi', null, /
exports.DerivedClass = DerivedClass;
exports.main = main;
});
-dart_library.library('language/if_null_assignment_static_test_40_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core',
- 'expect/expect'
-], /* Lazy imports */[
-], function(exports, dart, core, expect) {
- 'use strict';
- let dartx = dart.dartx;
- dart.copyProperties(exports, {
- get checkedMode() {
- let checked = false;
- dart.assert(checked = true);
- return checked;
- }
- });
- function noMethod(e) {
- return dart.is(e, core.NoSuchMethodError);
- }
- dart.fn(noMethod);
- function bad() {
- expect.Expect.fail('Should not be executed');
- }
- dart.fn(bad);
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends A {
- C() {
- this.c = null;
- super.A();
- }
- }
- dart.copyProperties(exports, {
- get a() {
- return null;
- },
- set a(value) {},
- get b() {
- return null;
- },
- set b(value) {}
- });
- class ClassWithStaticGetters extends core.Object {
- static get a() {
- return null;
- }
- static set a(value) {}
- static get b() {
- return null;
- }
- static set b(value) {}
- }
- class ClassWithInstanceGetters extends core.Object {
- get a() {
- return null;
- }
- set a(value) {}
- get b() {
- return null;
- }
- set b(value) {}
- }
- class DerivedClass extends ClassWithInstanceGetters {
- get a() {
- return dart.as(bad(), A);
- }
- set a(value) {
- bad();
- }
- get b() {
- return dart.as(bad(), B);
- }
- set b(value) {
- bad();
- }
- derivedTest() {
- if (!dart.notNull(exports.checkedMode)) {
- }
- }
- }
- dart.setSignature(DerivedClass, {
- methods: () => ({derivedTest: [dart.void, []]})
- });
- function main() {
- let _ = null;
- let t = _;
- t == null ? _ = null : t;
- new DerivedClass().derivedTest();
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- }
- if (!dart.notNull(exports.checkedMode)) {
- (() => {
- let o = new ClassWithInstanceGetters(), t = dart.nullSafe(o, _ => _.b);
- return t == null ? (o == null ? null : o.b = new A()) : t;
- })().a;
- }
- }
- dart.fn(main);
- // Exports:
- exports.noMethod = noMethod;
- exports.bad = bad;
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.ClassWithStaticGetters = ClassWithStaticGetters;
- exports.ClassWithInstanceGetters = ClassWithInstanceGetters;
- exports.DerivedClass = DerivedClass;
- exports.main = main;
-});
dart_library.library('language/if_null_assignment_static_test_none_multi', null, /* Imports */[
'dart/_runtime',
'dart/core',
@@ -141388,103 +140278,6 @@ dart_library.library('language/type_promotion_more_specific_test_03_multi', null
exports.testInterface = testInterface;
exports.testGeneric = testGeneric;
});
-dart_library.library('language/type_promotion_more_specific_test_04_multi', null, /* Imports */[
- 'dart/_runtime',
- 'dart/core'
-], /* Lazy imports */[
-], function(exports, dart, core) {
- 'use strict';
- let dartx = dart.dartx;
- class A extends core.Object {
- A() {
- this.a = null;
- }
- }
- class B extends A {
- B() {
- this.b = null;
- super.A();
- }
- }
- class C extends core.Object {
- C() {
- this.c = null;
- }
- }
- const D$ = dart.generic(function(T) {
- class D extends core.Object {
- D(d) {
- this.d = d;
- }
- }
- dart.setSignature(D, {
- constructors: () => ({D: [D$(T), [T]]})
- });
- return D;
- });
- let D = D$();
- const E$ = dart.generic(function(T) {
- class E extends D$(T) {
- E(e) {
- this.e = dart.as(e, T);
- super.D(dart.as(e, T));
- }
- }
- dart.setSignature(E, {
- constructors: () => ({E: [E$(T), [dart.dynamic]]})
- });
- return E;
- });
- let E = E$();
- function main() {
- testInterface();
- testGeneric();
- }
- dart.fn(main, dart.void, []);
- function testInterface() {
- let x = null;
- let y = null;
- let a = new B();
- if (dart.is(a, B)) {
- }
- if (dart.is(a, C)) {
- }
- let b = new B();
- if (dart.is(b, A)) {
- }
- if (dart.is(x, A)) {
- y = dart.dload(x, 'b');
- }
- }
- dart.fn(testInterface, dart.void, []);
- function testGeneric() {
- let x = null;
- let y = null;
- let d1 = new (E$(B))(null);
- if (dart.is(d1, E)) {
- }
- if (dart.is(d1, E$(A))) {
- }
- let d2 = new (E$(B))(null);
- if (dart.is(d2, E)) {
- }
- let d3 = new (E$(B))(new B());
- if (dart.is(d3, E$(B))) {
- }
- }
- dart.fn(testGeneric);
- // Exports:
- exports.A = A;
- exports.B = B;
- exports.C = C;
- exports.D$ = D$;
- exports.D = D;
- exports.E$ = E$;
- exports.E = E;
- exports.main = main;
- exports.testInterface = testInterface;
- exports.testGeneric = testGeneric;
-});
dart_library.library('language/type_promotion_more_specific_test_05_multi', null, /* Imports */[
'dart/_runtime',
'dart/core'