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

Unified Diff: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart

Issue 2721403006: Split NativeData (Closed)
Patch Set: Updated cf. comments. Created 3 years, 9 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
Index: pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index d56cd944e59c89203ff4da57760367a26ab9e81c..1931a5341da40de96eb98787b17326ff430d975c 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -351,7 +351,7 @@ class ProgramBuilder {
var stubNames = new Set<String>();
librariesMap.forEach((LibraryElement library, List<Element> elements) {
for (Element e in elements) {
- if (e is ClassElement && backend.isJsInterop(e)) {
+ if (e is ClassElement && backend.nativeData.isJsInterop(e)) {
e.declaration.forEachMember((_, Element member) {
var jsName =
backend.nativeData.getUnescapedJSInteropName(member.name);
@@ -496,7 +496,7 @@ class ProgramBuilder {
Class _buildClass(ClassElement element) {
bool onlyForRti = collector.classesOnlyNeededForRti.contains(element);
bool hasRtiField = backend.rtiNeed.classNeedsRtiField(element);
- if (backend.isJsInterop(element)) {
+ if (backend.nativeData.isJsInterop(element)) {
// TODO(jacobr): check whether the class has any active static fields
// if it does not we can suppress it completely.
onlyForRti = true;
@@ -584,7 +584,7 @@ class ProgramBuilder {
List<StubMethod> checkedSetters = <StubMethod>[];
List<StubMethod> isChecks = <StubMethod>[];
- if (backend.isJsInterop(element)) {
+ if (backend.nativeData.isJsInterop(element)) {
typeTests.properties.forEach((js.Name name, js.Node code) {
_classes[helpers.jsInterceptorClass]
.isChecks
@@ -612,12 +612,12 @@ class ProgramBuilder {
// TODO(floitsch): we shouldn't update the registry in the middle of
// building a class.
Holder holder = _registry.registerHolder(holderName);
- bool isInstantiated = !backend.isJsInterop(element) &&
+ bool isInstantiated = !backend.nativeData.isJsInterop(element) &&
worldBuilder.directlyInstantiatedClasses.contains(element);
Class result;
if (element.isMixinApplication && !onlyForRti) {
- assert(!backend.isNative(element));
+ assert(!backend.nativeData.isNativeClass(element));
assert(methods.isEmpty);
result = new MixinApplication(
@@ -651,7 +651,7 @@ class ProgramBuilder {
isDirectlyInstantiated: isInstantiated,
hasRtiField: hasRtiField,
onlyForRti: onlyForRti,
- isNative: backend.isNative(element));
+ isNative: backend.nativeData.isNativeClass(element));
}
_classes[element] = result;
return result;

Powered by Google App Engine
This is Rietveld 408576698