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

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

Issue 2996723002: Support typedef type literals (Closed)
Patch Set: Updated cf. comments Created 3 years, 4 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/namer.dart
diff --git a/pkg/compiler/lib/src/js_backend/namer.dart b/pkg/compiler/lib/src/js_backend/namer.dart
index a5b21318606b222973b2e078900ebfb7e93ac1b9..66d8086b7af75c24e6c620cc96d12064ef51a66a 100644
--- a/pkg/compiler/lib/src/js_backend/namer.dart
+++ b/pkg/compiler/lib/src/js_backend/namer.dart
@@ -1935,8 +1935,13 @@ class ConstantNamingVisitor implements ConstantValueVisitor {
// Generates something like 'Type_String_k8F', using the simple name of the
// type and a hash to disambiguate the same name in different libraries.
addRoot('Type');
- ResolutionDartType type = constant.representedType;
- String name = type.element?.name;
+ DartType type = constant.representedType;
+ String name;
+ if (type is InterfaceType) {
+ name = type.element.name;
+ } else if (type is TypedefType) {
+ name = type.element.name;
+ }
if (name == null) {
// e.g. DartType 'dynamic' has no element.
name = rtiEncoder.getTypeRepresentationForTypeConstant(type);
@@ -2059,7 +2064,7 @@ class ConstantCanonicalHasher implements ConstantValueVisitor<int, Null> {
@override
int visitType(TypeConstantValue constant, [_]) {
- ResolutionDartType type = constant.representedType;
+ DartType type = constant.representedType;
// This name includes the library name and type parameters.
String name = rtiEncoder.getTypeRepresentationForTypeConstant(type);
return _hashString(4, name);
« no previous file with comments | « pkg/compiler/lib/src/js_backend/constant_emitter.dart ('k') | pkg/compiler/lib/src/js_backend/runtime_types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698