Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: pkg/compiler/lib/src/enqueue.dart

Issue 1408043002: Move native and js interop properties from the element model to the JS backend (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/elements/modelx.dart ('k') | pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/enqueue.dart
diff --git a/pkg/compiler/lib/src/enqueue.dart b/pkg/compiler/lib/src/enqueue.dart
index 522bb293aaec78a890b5bf39de5a99cf69be8a18..a1d2148373b891ae41e4fdd81862c626fdd26d35 100644
--- a/pkg/compiler/lib/src/enqueue.dart
+++ b/pkg/compiler/lib/src/enqueue.dart
@@ -236,6 +236,7 @@ abstract class Enqueuer {
cls.ensureResolved(resolution);
universe.registerTypeInstantiation(
type,
+ isNative: compiler.backend.isNative(cls),
byMirrors: mirrorUsage,
onImplemented: (ClassElement cls) {
compiler.backend.registerImplementedClass(
@@ -267,7 +268,7 @@ abstract class Enqueuer {
// its metadata parsed and analyzed.
// Note: this assumes that there are no non-native fields on native
// classes, which may not be the case when a native class is subclassed.
- if (cls.isNative) {
+ if (compiler.backend.isNative(cls)) {
compiler.world.registerUsedElement(member);
nativeEnqueuer.handleFieldAnnotations(member);
if (universe.hasInvokedGetter(member, compiler.world) ||
@@ -638,7 +639,7 @@ abstract class Enqueuer {
if (member.isFunction && selector.isGetter) {
registerClosurizedMember(member);
}
- if (member.isField && member.enclosingClass.isNative) {
+ if (member.isField && compiler.backend.isNative(member.enclosingClass)) {
if (selector.isGetter || selector.isCall) {
nativeEnqueuer.registerFieldLoad(member);
// We have to also handle storing to the field because we only get
« no previous file with comments | « pkg/compiler/lib/src/elements/modelx.dart ('k') | pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698