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

Unified Diff: pkg/compiler/lib/src/kernel/element_map.dart

Issue 2920753002: Use entities as keys rather than IR nodes (Closed)
Patch Set: 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/kernel/element_map.dart
diff --git a/pkg/compiler/lib/src/kernel/element_map.dart b/pkg/compiler/lib/src/kernel/element_map.dart
index 49ba84766bf1fbb4db0287c576c675dadd9afcbf..2b2c3c6f004f6233486433b0205d400a9b71fae8 100644
--- a/pkg/compiler/lib/src/kernel/element_map.dart
+++ b/pkg/compiler/lib/src/kernel/element_map.dart
@@ -155,6 +155,14 @@ abstract class KernelToElementMap {
/// Returns a [Spannable] for a message pointing to the IR [node] in the
/// context of [member].
Spannable getSpannable(MemberEntity member, ir.Node node);
+
+ // TODO(johnniwinther): Move these to a `KernelToLocalsMap`, maybe even make
+ // the return the `KernelToLocalsMap` to use from now on.
+ /// Call to notify that [member] is currently being inlined.
+ void enterInlinedMember(MemberEntity member);
Siggi Cherem (dart-lang) 2017/06/01 22:08:47 mmm. Maybe you have more in mind behind this, but
Siggi Cherem (dart-lang) 2017/06/01 22:15:39 ha - just saw the next CL, seems like we are in ag
+
+ /// Call to notify that [member] is no longer being inlined.
+ void leaveInlinedMember(MemberEntity member);
}
/// Kinds of foreign functions.
@@ -509,6 +517,12 @@ abstract class KernelToElementMapMixin implements KernelToElementMap {
message: "No super noSuchMethod found for class $cls."));
return function;
}
+
+ @override
+ void enterInlinedMember(MemberEntity member) {}
+
+ @override
+ void leaveInlinedMember(MemberEntity member) {}
}
/// Visitor that converts string literals and concatenations of string literals
@@ -920,6 +934,10 @@ abstract class KernelToTypeInferenceMap {
bool isJsIndexableIterator(
ir.ForInStatement forInStatement, ClosedWorld closedWorld);
+ /// Returns `true` if [mask] is inferred to have a JavaScript `length`
+ /// property.
+ bool isFixedLength(TypeMask mask, ClosedWorld closedWorld);
+
/// Returns the inferred index type of [forInStatement].
TypeMask inferredIndexType(ir.ForInStatement forInStatement);

Powered by Google App Engine
This is Rietveld 408576698