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

Unified Diff: pkg/compiler/lib/src/ssa/kernel_impact.dart

Issue 2644533002: Mostly use entities in use.dart (Closed)
Patch Set: Fixes Created 3 years, 11 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_impact.dart
diff --git a/pkg/compiler/lib/src/ssa/kernel_impact.dart b/pkg/compiler/lib/src/ssa/kernel_impact.dart
index fbfacea0d470e0a6a9285f994c3d311d3dc09d57..b32a6a808ffdb6e1bbc50fe5a64f5ea920e2cd0e 100644
--- a/pkg/compiler/lib/src/ssa/kernel_impact.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_impact.dart
@@ -256,16 +256,17 @@ class KernelImpactBuilder extends ir.Visitor {
void handleNew(ir.InvocationExpression node, ir.Member target,
{bool isConst: false}) {
_visitArguments(node.arguments);
- Element element = astAdapter.getElement(target).declaration;
- ClassElement cls = astAdapter.getElement(target.enclosingClass);
+ ConstructorElement constructor = astAdapter.getConstructor(target);
+ ClassElement cls = astAdapter.getClass(target.enclosingClass);
List<ResolutionDartType> typeArguments =
astAdapter.getDartTypes(node.arguments.types);
ResolutionInterfaceType type =
new ResolutionInterfaceType(cls, typeArguments);
CallStructure callStructure = astAdapter.getCallStructure(node.arguments);
impactBuilder.registerStaticUse(isConst
- ? new StaticUse.constConstructorInvoke(element, callStructure, type)
- : new StaticUse.typedConstructorInvoke(element, callStructure, type));
+ ? new StaticUse.constConstructorInvoke(constructor, callStructure, type)
+ : new StaticUse.typedConstructorInvoke(
+ constructor, callStructure, type));
if (typeArguments.any((ResolutionDartType type) => !type.isDynamic)) {
impactBuilder.registerFeature(Feature.TYPE_VARIABLE_BOUNDS_CHECK);
}
@@ -273,7 +274,7 @@ class KernelImpactBuilder extends ir.Visitor {
@override
void visitSuperInitializer(ir.SuperInitializer node) {
- Element target = astAdapter.getElement(node.target).declaration;
+ ConstructorElement target = astAdapter.getConstructor(node.target);
_visitArguments(node.arguments);
impactBuilder.registerStaticUse(new StaticUse.superConstructorInvoke(
target, astAdapter.getCallStructure(node.arguments)));
@@ -281,7 +282,7 @@ class KernelImpactBuilder extends ir.Visitor {
@override
void visitStaticInvocation(ir.StaticInvocation node) {
- Element target = astAdapter.getElement(node.target).declaration;
+ MethodElement target = astAdapter.getMethod(node.target);
if (target.isFactoryConstructor) {
// TODO(johnniwinther): We should not mark the type as instantiated but
// rather follow the type arguments directly.
@@ -344,26 +345,27 @@ class KernelImpactBuilder extends ir.Visitor {
@override
void visitStaticGet(ir.StaticGet node) {
ir.Member target = node.target;
- Element element = astAdapter.getElement(target).declaration;
if (target is ir.Procedure && target.kind == ir.ProcedureKind.Method) {
- impactBuilder.registerStaticUse(new StaticUse.staticTearOff(element));
+ MethodElement method = astAdapter.getMethod(target);
+ impactBuilder.registerStaticUse(new StaticUse.staticTearOff(method));
} else {
- impactBuilder.registerStaticUse(new StaticUse.staticGet(element));
+ MemberElement member = astAdapter.getMember(target);
+ impactBuilder.registerStaticUse(new StaticUse.staticGet(member));
}
}
@override
void visitStaticSet(ir.StaticSet node) {
visitNode(node.value);
- Element element = astAdapter.getElement(node.target).declaration;
- impactBuilder.registerStaticUse(new StaticUse.staticSet(element));
+ MemberElement member = astAdapter.getMember(node.target);
+ impactBuilder.registerStaticUse(new StaticUse.staticSet(member));
}
void handleSuperInvocation(ir.Node target, ir.Node arguments) {
- Element element = astAdapter.getElement(target).declaration;
+ MethodElement method = astAdapter.getMethod(target);
_visitArguments(arguments);
impactBuilder.registerStaticUse(new StaticUse.superInvoke(
- element, astAdapter.getCallStructure(arguments)));
+ method, astAdapter.getCallStructure(arguments)));
}
@override
@@ -379,11 +381,12 @@ class KernelImpactBuilder extends ir.Visitor {
}
void handleSuperGet(ir.Member target) {
- Element element = astAdapter.getElement(target).declaration;
if (target is ir.Procedure && target.kind == ir.ProcedureKind.Method) {
- impactBuilder.registerStaticUse(new StaticUse.superTearOff(element));
+ MethodElement method = astAdapter.getMethod(target);
+ impactBuilder.registerStaticUse(new StaticUse.superTearOff(method));
} else {
- impactBuilder.registerStaticUse(new StaticUse.superGet(element));
+ MemberElement member = astAdapter.getMember(target);
+ impactBuilder.registerStaticUse(new StaticUse.superGet(member));
}
}
@@ -399,11 +402,12 @@ class KernelImpactBuilder extends ir.Visitor {
void handleSuperSet(ir.Node target, ir.Node value) {
visitNode(value);
- Element element = astAdapter.getElement(target).declaration;
if (target is ir.Field) {
- impactBuilder.registerStaticUse(new StaticUse.superFieldSet(element));
+ FieldElement field = astAdapter.getField(target);
+ impactBuilder.registerStaticUse(new StaticUse.superFieldSet(field));
} else {
- impactBuilder.registerStaticUse(new StaticUse.superSetterSet(element));
+ MethodElement method = astAdapter.getMethod(target);
+ impactBuilder.registerStaticUse(new StaticUse.superSetterSet(method));
}
}
@@ -558,7 +562,7 @@ class KernelImpactBuilder extends ir.Visitor {
@override
void visitFieldInitializer(ir.FieldInitializer node) {
impactBuilder.registerStaticUse(
- new StaticUse.fieldInit(astAdapter.getElement(node.field)));
+ new StaticUse.fieldInit(astAdapter.getField(node.field)));
visitNode(node.value);
}

Powered by Google App Engine
This is Rietveld 408576698