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

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

Issue 2914793006: Move local properties to KernelToLocalsMap (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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2b2c3c6f004f6233486433b0205d400a9b71fae8..cec38f80eb658788f7f65f0f993ae17c46105798 100644
--- a/pkg/compiler/lib/src/kernel/element_map.dart
+++ b/pkg/compiler/lib/src/kernel/element_map.dart
@@ -10,6 +10,7 @@ import '../constants/constructors.dart';
import '../constants/expressions.dart';
import '../constants/values.dart';
import '../common_elements.dart';
+import '../elements/elements.dart' show JumpTarget;
import '../elements/entities.dart';
import '../elements/names.dart';
import '../elements/operators.dart';
@@ -155,14 +156,6 @@ 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
Siggi Cherem (dart-lang) 2017/06/01 22:13:40 now I understand what you meant with the TODO! se
- // the return the `KernelToLocalsMap` to use from now on.
- /// Call to notify that [member] is currently being inlined.
- void enterInlinedMember(MemberEntity member);
-
- /// Call to notify that [member] is no longer being inlined.
- void leaveInlinedMember(MemberEntity member);
}
/// Kinds of foreign functions.
@@ -517,12 +510,6 @@ 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
@@ -952,3 +939,21 @@ abstract class KernelToTypeInferenceMap {
TypeMask typeFromNativeBehavior(
native.NativeBehavior nativeBehavior, ClosedWorld closedWorld);
}
+
+/// Map from kernel IR nodes to local entities.
+abstract class KernelToLocalsMap {
+ // TODO(johnniwinther): Make these return the [KernelToLocalsMap] to use from
+ // now on.
+ /// Call to notify that [member] is currently being inlined.
+ void enterInlinedMember(MemberEntity member);
+
+ /// Call to notify that [member] is no longer being inlined.
+ void leaveInlinedMember(MemberEntity member);
+
+ /// Returns the [Local] for [node].
+ Local getLocal(ir.VariableDeclaration node);
+
+ /// Returns the [JumpTarget] for the branch in [node].
+ // TODO(johnniwinther): Split this by kind of [node]?
+ JumpTarget getJumpTarget(ir.TreeNode node, {bool isContinueTarget: false});
+}
« no previous file with comments | « no previous file | pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698