| Index: pkg/compiler/lib/src/world.dart
 | 
| diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
 | 
| index 8e4ae237316bd6920f3c11c9075d5d6e75e826e0..4ea2abc7932387a412cd27815019f64a1e3f4047 100644
 | 
| --- a/pkg/compiler/lib/src/world.dart
 | 
| +++ b/pkg/compiler/lib/src/world.dart
 | 
| @@ -22,6 +22,7 @@ import 'elements/elements.dart'
 | 
|  import 'elements/resolution_types.dart';
 | 
|  import 'js_backend/backend.dart' show JavaScriptBackend;
 | 
|  import 'js_backend/interceptor_data.dart' show InterceptorData;
 | 
| +import 'js_backend/native_data.dart' show NativeClassData;
 | 
|  import 'ordered_typeset.dart';
 | 
|  import 'types/masks.dart' show CommonMasks, FlatTypeMask, TypeMask;
 | 
|  import 'universe/class_set.dart';
 | 
| @@ -445,6 +446,8 @@ class ClosedWorldImpl implements ClosedWorld, ClosedWorldRefiner {
 | 
|      _allFunctions = functionSetBuilder.close(this);
 | 
|    }
 | 
|  
 | 
| +  NativeClassData get _nativeClassData => _backend.nativeClassData;
 | 
| +
 | 
|    @override
 | 
|    ClosedWorld get closedWorld => this;
 | 
|  
 | 
| @@ -711,7 +714,7 @@ class ClosedWorldImpl implements ClosedWorld, ClosedWorldRefiner {
 | 
|    @override
 | 
|    ClassElement getLubOfInstantiatedSubclasses(ClassElement cls) {
 | 
|      assert(isClosed);
 | 
| -    if (_backend.nativeData.isJsInterop(cls)) {
 | 
| +    if (_nativeClassData.isJsInteropClass(cls)) {
 | 
|        return _backend.helpers.jsJavaScriptObjectClass;
 | 
|      }
 | 
|      ClassHierarchyNode hierarchy = _classHierarchyNodes[cls.declaration];
 | 
| @@ -723,7 +726,7 @@ class ClosedWorldImpl implements ClosedWorld, ClosedWorldRefiner {
 | 
|    @override
 | 
|    ClassElement getLubOfInstantiatedSubtypes(ClassElement cls) {
 | 
|      assert(isClosed);
 | 
| -    if (_backend.nativeData.isJsInterop(cls)) {
 | 
| +    if (_nativeClassData.isJsInteropClass(cls)) {
 | 
|        return _backend.helpers.jsJavaScriptObjectClass;
 | 
|      }
 | 
|      ClassSet classSet = _classSets[cls.declaration];
 | 
| @@ -1093,7 +1096,7 @@ class ClosedWorldImpl implements ClosedWorld, ClosedWorldRefiner {
 | 
|  
 | 
|    bool fieldNeverChanges(MemberElement element) {
 | 
|      if (!element.isField) return false;
 | 
| -    if (_backend.nativeData.isNativeMember(element)) {
 | 
| +    if (_nativeClassData.isNativeMember(element)) {
 | 
|        // Some native fields are views of data that may be changed by operations.
 | 
|        // E.g. node.firstChild depends on parentNode.removeBefore(n1, n2).
 | 
|        // TODO(sra): Refine the effect classification so that native effects are
 | 
| 
 |