Index: sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart b/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
index c2f3ae5dcfa7b57d53ccc31b76fb2e25d7ecbc59..589dff0dbe6f59ba025bd505dce2366a2577a656 100644 |
--- a/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/js_backend/native_emitter.dart |
@@ -321,12 +321,12 @@ function(cls, desc) { |
// Temporary variables for common substrings. |
List<String> varNames = <String>[]; |
// var -> expression |
- Map<String, js.Expression> varDefns = <String, js.Expression>{}; |
+ Map<dynamic, js.Expression> varDefns = new Map<dynamic, js.Expression>(); |
// tag -> expression (a string or a variable) |
Map<ClassElement, js.Expression> tagDefns = |
new Map<ClassElement, js.Expression>(); |
- String makeExpression(ClassElement classElement) { |
+ js.Expression makeExpression(ClassElement classElement) { |
// Expression fragments for this set of cls keys. |
List<js.Expression> expressions = <js.Expression>[]; |
// TODO: Remove if cls is abstract. |
@@ -334,7 +334,7 @@ function(cls, desc) { |
void walk(ClassElement cls) { |
for (final ClassElement subclass in getDirectSubclasses(cls)) { |
ClassElement tag = subclass; |
- String existing = tagDefns[tag]; |
+ var existing = tagDefns[tag]; |
if (existing == null) { |
subtags.add(toNativeName(tag)); |
walk(subclass); |
@@ -376,7 +376,8 @@ function(cls, desc) { |
if (!tagDefns.isEmpty) { |
List<js.Statement> statements = <js.Statement>[]; |
- List<js.Expression> initializations = <js.Expression>[]; |
+ List<js.VariableInitialization> initializations = |
+ <js.VariableInitialization>[]; |
for (final String varName in varNames) { |
initializations.add( |
new js.VariableInitialization( |