| Index: pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| diff --git a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| index fccfb8042bee4f2fb745432b3d309880a72bc3d1..ac375a2bc2eaf23632e1bc8a07c59188ebbe63fe 100644
|
| --- a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| +++ b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
|
| @@ -452,9 +452,10 @@ abstract class InferrerEngine<T, V extends TypeSystem>
|
| }
|
|
|
| bool isNativeElement(Element element) {
|
| - if (element.isNative) return true;
|
| + if (element.isNative || element.isJsInterop) return true;
|
| return element.isClassMember
|
| - && element.enclosingClass.isNative
|
| + && (element.enclosingClass.isNative
|
| + || element.enclosingClass.isJsInterop)
|
| && element.isField;
|
| }
|
|
|
| @@ -556,7 +557,7 @@ class SimpleTypeInferrerVisitor<T>
|
| inferrer.setDefaultTypeOfParameter(element, type);
|
| });
|
|
|
| - if (analyzedElement.isNative) {
|
| + if (analyzedElement.isNative || analyzedElement.isJsInterop) {
|
| // Native methods do not have a body, and we currently just say
|
| // they return dynamic.
|
| return types.dynamicType;
|
|
|