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

Unified Diff: pkg/compiler/lib/src/ssa/kernel_ast_adapter.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
Index: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
index b727f1309ef5e7e5bec3ad66e882401025a8cf88..e8bbc4b1588ae65eef3fa7d1aa0c0ed25e971540 100644
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart
@@ -34,7 +34,8 @@ import 'types.dart';
/// A helper class that abstracts all accesses of the AST from Kernel nodes.
///
/// The goal is to remove all need for the AST from the Kernel SSA builder.
-class KernelAstAdapter extends KernelToElementMapMixin {
+class KernelAstAdapter extends KernelToElementMapMixin
+ implements KernelToLocalsMap {
final Kernel kernel;
final JavaScriptBackend _backend;
final Map<ir.Node, ast.Node> _nodeToAst;
@@ -214,6 +215,7 @@ class KernelAstAdapter extends KernelToElementMapMixin {
message: "No synthetic marker found for $node"));
}
+ @override
Local getLocal(ir.VariableDeclaration variable) {
// If this is a synthetic local, return the synthetic local
if (variable.name == null) {
@@ -267,9 +269,6 @@ class KernelAstAdapter extends KernelToElementMapMixin {
return false;
}
- LibraryElement get jsHelperLibrary =>
- _compiler.commonElements.jsHelperLibrary;
-
KernelJumpTarget getJumpTarget(ir.TreeNode node,
{bool isContinueTarget: false}) {
return _jumpTargets.putIfAbsent(node, () {
@@ -281,9 +280,6 @@ class KernelAstAdapter extends KernelToElementMapMixin {
});
}
- bool isInForeignLibrary(ir.Member member) =>
- _backend.isForeign(getElement(member));
-
native.NativeBehavior getNativeBehavior(ir.Node node) {
return elements.getNativeData(getNode(node));
}
@@ -569,7 +565,7 @@ class KernelJumpTarget extends JumpTarget {
/// targeting switch cases.
class KernelSwitchCaseJumpHandler extends SwitchCaseJumpHandler {
KernelSwitchCaseJumpHandler(GraphBuilder builder, JumpTarget target,
- ir.SwitchStatement switchStatement, KernelAstAdapter astAdapter)
+ ir.SwitchStatement switchStatement, KernelToLocalsMap localsMap)
: super(builder, target) {
// The switch case indices must match those computed in
// [KernelSsaBuilder.buildSwitchCaseConstants].
@@ -579,7 +575,7 @@ class KernelSwitchCaseJumpHandler extends SwitchCaseJumpHandler {
int switchIndex = 1;
for (ir.SwitchCase switchCase in switchStatement.cases) {
JumpTarget continueTarget =
- astAdapter.getJumpTarget(switchCase, isContinueTarget: true);
+ localsMap.getJumpTarget(switchCase, isContinueTarget: true);
assert(continueTarget is KernelJumpTarget);
targetIndexMap[continueTarget] = switchIndex;
assert(builder.jumpTargets[continueTarget] == null);

Powered by Google App Engine
This is Rietveld 408576698