| 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;
|
|
|
|
|