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

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

Issue 2907373002: Use entities for globals in Namer. (Closed)
Patch Set: Updated cf. comments Created 3 years, 7 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/code_emitter_task.dart
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
index 6c4cff7bf3a9694068be2c2cad01d6fdc63ed208..e54ca9c8ae69b988249050ce52d438d9488a023b 100644
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
@@ -288,3 +288,53 @@ abstract class Emitter {
/// Returns the size of the code generated for a given output [unit].
int generatedSize(OutputUnit unit);
}
+
+abstract class EmitterBase implements Emitter {
+ Namer get namer;
+
+ jsAst.PropertyAccess globalPropertyAccessForMember(MemberEntity element) {
+ jsAst.Name name = namer.globalPropertyNameForMember(element);
+ jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
+ new jsAst.VariableUse(namer.globalObjectForMember(element)), name);
+ return pa;
+ }
+
+ jsAst.PropertyAccess globalPropertyAccessForClass(ClassEntity element) {
+ jsAst.Name name = namer.globalPropertyNameForClass(element);
+ jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
+ new jsAst.VariableUse(namer.globalObjectForClass(element)), name);
+ return pa;
+ }
+
+ jsAst.PropertyAccess globalPropertyAccessForType(Entity element) {
+ jsAst.Name name = namer.globalPropertyNameForType(element);
+ jsAst.PropertyAccess pa = new jsAst.PropertyAccess(
+ new jsAst.VariableUse(namer.globalObjectForType(element)), name);
+ return pa;
+ }
+
+ @override
+ jsAst.PropertyAccess staticFieldAccess(FieldEntity element) {
+ return globalPropertyAccessForMember(element);
+ }
+
+ @override
+ jsAst.PropertyAccess staticFunctionAccess(FunctionEntity element) {
+ return globalPropertyAccessForMember(element);
+ }
+
+ @override
+ jsAst.PropertyAccess constructorAccess(ClassEntity element) {
+ return globalPropertyAccessForClass(element);
+ }
+
+ @override
+ jsAst.PropertyAccess interceptorClassAccess(ClassEntity element) {
+ return globalPropertyAccessForClass(element);
+ }
+
+ @override
+ jsAst.PropertyAccess typeAccess(Entity element) {
+ return globalPropertyAccessForType(element);
+ }
+}
« no previous file with comments | « pkg/compiler/lib/src/js_backend/namer.dart ('k') | pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698