Index: pkg/compiler/lib/src/js_backend/runtime_types.dart |
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types.dart b/pkg/compiler/lib/src/js_backend/runtime_types.dart |
index f6850c42313378faabec8095bbf2474981cb1696..0111db8666a1ade974afff6cdbcc302b285cafdb 100644 |
--- a/pkg/compiler/lib/src/js_backend/runtime_types.dart |
+++ b/pkg/compiler/lib/src/js_backend/runtime_types.dart |
@@ -948,7 +948,7 @@ class RuntimeTypesEncoderImpl implements RuntimeTypesEncoder { |
} |
class TypeRepresentationGenerator |
- implements ResolutionDartTypeVisitor<dynamic, Emitter> { |
+ implements ResolutionDartTypeVisitor<jsAst.Expression, Emitter> { |
final Namer namer; |
OnVariableCallback onVariable; |
ShouldEncodeTypedefCallback shouldEncodeTypedef; |
@@ -983,9 +983,11 @@ class TypeRepresentationGenerator |
jsAst.Expression getDynamicValue() => js('null'); |
@override |
- visit(DartType type, Emitter emitter) => type.accept(this, emitter); |
+ jsAst.Expression visit(DartType type, Emitter emitter) => |
+ type.accept(this, emitter); |
- visitTypeVariableType(TypeVariableType type, Emitter emitter) { |
+ jsAst.Expression visitTypeVariableType( |
+ TypeVariableType type, Emitter emitter) { |
if (type.element.typeDeclaration is! ClassEntity) { |
/// A [TypeVariableType] from a generic method is replaced by a |
/// [DynamicType]. |
@@ -999,11 +1001,11 @@ class TypeRepresentationGenerator |
return onVariable(type); |
} |
- visitDynamicType(DynamicType type, Emitter emitter) { |
+ jsAst.Expression visitDynamicType(DynamicType type, Emitter emitter) { |
return getDynamicValue(); |
} |
- visitInterfaceType(InterfaceType type, Emitter emitter) { |
+ jsAst.Expression visitInterfaceType(InterfaceType type, Emitter emitter) { |
jsAst.Expression name = getJavaScriptClassName(type.element, emitter); |
return type.treatAsRaw |
? name |
@@ -1042,7 +1044,7 @@ class TypeRepresentationGenerator |
.expressionTemplateFor('{ ${namer.functionTypeTag}: "dynafunc" }'); |
} |
- visitFunctionType(FunctionType type, Emitter emitter) { |
+ jsAst.Expression visitFunctionType(FunctionType type, Emitter emitter) { |
List<jsAst.Property> properties = <jsAst.Property>[]; |
void addProperty(String name, jsAst.Expression value) { |
@@ -1082,17 +1084,18 @@ class TypeRepresentationGenerator |
return new jsAst.ObjectInitializer(properties); |
} |
- visitMalformedType(MalformedType type, Emitter emitter) { |
+ jsAst.Expression visitMalformedType(MalformedType type, Emitter emitter) { |
// Treat malformed types as dynamic at runtime. |
return js('null'); |
} |
- visitVoidType(VoidType type, Emitter emitter) { |
+ jsAst.Expression visitVoidType(VoidType type, Emitter emitter) { |
// TODO(ahe): Reify void type ("null" means "dynamic"). |
return js('null'); |
} |
- visitTypedefType(ResolutionTypedefType type, Emitter emitter) { |
+ jsAst.Expression visitTypedefType( |
+ ResolutionTypedefType type, Emitter emitter) { |
bool shouldEncode = shouldEncodeTypedef(type); |
DartType unaliasedType = type.unaliased; |