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

Unified Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2684783003: Refactor ConstantSystem (Closed)
Patch Set: Updated cf. comments. Created 3 years, 10 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_backend/backend.dart
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index 7659a3f92da44d4f97162c1afbaf15c43f8d3e34..ac9882f9be1416e3639568e01faff372e22e93e7 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -3175,4 +3175,27 @@ class JavaScriptBackendClasses implements BackendClasses {
bool isNativeMember(MemberElement element) {
return _nativeData.isNative(element);
}
+
+ InterfaceType getConstantMapTypeFor(InterfaceType sourceType,
+ {bool hasProtoKey: false, bool onlyStringKeys: false}) {
+ ClassElement classElement = onlyStringKeys
+ ? (hasProtoKey
+ ? helpers.constantProtoMapClass
+ : helpers.constantStringMapClass)
+ : helpers.generalConstantMapClass;
+ List<DartType> typeArgument = sourceType.typeArguments;
+ if (sourceType.treatAsRaw) {
+ return _env.getRawType(classElement);
+ } else {
+ return _env.createInterfaceType(classElement, typeArgument);
+ }
+ }
+
+ @override
+ FieldEntity get symbolField => helpers.symbolImplementationField;
+
+ @override
+ InterfaceType get symbolType {
+ return _env.getRawType(helpers.symbolImplementationClass);
+ }
}
« no previous file with comments | « pkg/compiler/lib/src/constants/expressions.dart ('k') | pkg/compiler/lib/src/js_backend/backend_helpers.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698