Index: pkg/compiler/lib/src/ssa/builder.dart |
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart |
index e7695114498257cbb1be5f1ca03290a3226464af..4ab076f31c6c940cd35c0660d539ec8cec6f1aea 100644 |
--- a/pkg/compiler/lib/src/ssa/builder.dart |
+++ b/pkg/compiler/lib/src/ssa/builder.dart |
@@ -1076,7 +1076,7 @@ class SsaBuilder extends ast.Visitor |
ast.Send call = link.head; |
assert(ast.Initializers.isSuperConstructorCall(call) || |
ast.Initializers.isConstructorRedirect(call)); |
- FunctionElement target = elements[call].implementation; |
+ ConstructorElement target = elements[call]; |
CallStructure callStructure = |
elements.getSelector(call).callStructure; |
Link<ast.Node> arguments = call.arguments; |
@@ -2497,8 +2497,8 @@ class SsaBuilder extends ast.Visitor |
* Invariant: [element] must be an implementation element. |
*/ |
List<HInstruction> makeStaticArgumentList(CallStructure callStructure, |
- Link<ast.Node> arguments, FunctionElement element) { |
- assert(invariant(element, element.isImplementation)); |
+ Link<ast.Node> arguments, MethodElement element) { |
+ assert(invariant(element, element.isDeclaration)); |
HInstruction compileArgument(ast.Node argument) { |
visit(argument); |
@@ -2508,7 +2508,7 @@ class SsaBuilder extends ast.Visitor |
return Elements.makeArgumentsList<HInstruction>( |
callStructure, |
arguments, |
- element, |
+ element.implementation, |
compileArgument, |
backend.nativeData.isJsInteropMember(element) |
? handleConstantForOptionalParameterJsInterop |
@@ -3076,8 +3076,8 @@ class SsaBuilder extends ast.Visitor |
Selector selector = elements.getSelector(node); |
assert(invariant(node, selector.applies(method.implementation), |
message: "$selector does not apply to ${method.implementation}")); |
- List<HInstruction> inputs = makeStaticArgumentList( |
- selector.callStructure, node.arguments, method.implementation); |
+ List<HInstruction> inputs = |
+ makeStaticArgumentList(selector.callStructure, node.arguments, method); |
push(buildInvokeSuper(selector, method, inputs, sourceInformation)); |
} |
@@ -3409,7 +3409,7 @@ class SsaBuilder extends ast.Visitor |
inputs.add(graph.addConstantNull(closedWorld)); |
} |
inputs.addAll(makeStaticArgumentList( |
- callStructure, send.arguments, constructorImplementation)); |
+ callStructure, send.arguments, constructorImplementation.declaration)); |
TypeMask elementType = computeType(constructor); |
if (isFixedListConstructorCall) { |
@@ -3569,9 +3569,9 @@ class SsaBuilder extends ast.Visitor |
/// Generate an invocation to the static or top level [function]. |
void generateStaticFunctionInvoke( |
- ast.Send node, FunctionElement function, CallStructure callStructure) { |
- List<HInstruction> inputs = makeStaticArgumentList( |
- callStructure, node.arguments, function.implementation); |
+ ast.Send node, MethodElement function, CallStructure callStructure) { |
+ List<HInstruction> inputs = |
+ makeStaticArgumentList(callStructure, node.arguments, function); |
pushInvokeStatic(node, function, inputs, |
sourceInformation: |
@@ -4033,7 +4033,7 @@ class SsaBuilder extends ast.Visitor |
if (argument != null) { |
filteredArguments.add(argument); |
var jsName = |
- backend.nativeData.getUnescapedJSInteropName(parameter.name); |
+ backend.nativeData.computeUnescapedJSInteropName(parameter.name); |
parameterNameMap[jsName] = new js.InterpolatedExpression(positions++); |
} |
i++; |
@@ -4052,7 +4052,8 @@ class SsaBuilder extends ast.Visitor |
..sourceInformation = sourceInformation; |
} |
var target = new HForeignCode( |
- js.js.parseForeignJS("${backend.namer.fixedBackendMethodPath(element)}." |
+ js.js.parseForeignJS( |
+ "${backend.nativeData.getFixedBackendMethodPath(element)}." |
"${backend.nativeData.getFixedBackendName(element)}"), |
commonMasks.dynamicType, |
<HInstruction>[]); |