| 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 36559276a7d9625beedff83d3f9dc8b3ff055425..b2dcb8aac502618526bb1720db597f8b23d3871b 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder.dart
|
| @@ -1322,12 +1322,9 @@ class SsaBuilder extends NewResolvedVisitor {
|
| bool meetsHardConstraints() {
|
| if (compiler.disableInlining) return false;
|
|
|
| - assert(invariant(
|
| - currentNode != null ? currentNode : element,
|
| - selector != null ||
|
| - Elements.isStaticOrTopLevel(element) ||
|
| - element.isGenerativeConstructorBody,
|
| - message: "Missing selector for inlining of $element."));
|
| + assert(selector != null
|
| + || Elements.isStaticOrTopLevel(element)
|
| + || element.isGenerativeConstructorBody);
|
| if (selector != null && !selector.applies(function, compiler.world)) {
|
| return false;
|
| }
|
| @@ -3249,7 +3246,8 @@ class SsaBuilder extends NewResolvedVisitor {
|
| return pop();
|
| }
|
|
|
| - String noSuchMethodTargetSymbolString(Element error, [String prefix]) {
|
| + String noSuchMethodTargetSymbolString(ErroneousElement error,
|
| + [String prefix]) {
|
| String result = error.name;
|
| if (prefix == "set") return "$result=";
|
| return result;
|
| @@ -3290,18 +3288,14 @@ class SsaBuilder extends NewResolvedVisitor {
|
| node);
|
| }
|
|
|
| - void handleInvalidStaticGet(ast.Send node, Element element) {
|
| - generateThrowNoSuchMethod(
|
| - node,
|
| - noSuchMethodTargetSymbolString(element, 'get'),
|
| - argumentNodes: const Link<ast.Node>());
|
| - }
|
| -
|
| /// Generate read access of an unresolved static or top level entity.
|
| void generateStaticUnresolvedGet(ast.Send node, Element element) {
|
| if (element is ErroneousElement) {
|
| // An erroneous element indicates an unresolved static getter.
|
| - handleInvalidStaticGet(node, element);
|
| + generateThrowNoSuchMethod(
|
| + node,
|
| + noSuchMethodTargetSymbolString(element, 'get'),
|
| + argumentNodes: const Link<ast.Node>());
|
| } else {
|
| // This happens when [element] has parse errors.
|
| assert(invariant(node, element == null || element.isErroneous));
|
| @@ -5153,22 +5147,6 @@ class SsaBuilder extends NewResolvedVisitor {
|
| }
|
|
|
| @override
|
| - void visitTopLevelSetterGet(
|
| - ast.Send node,
|
| - MethodElement setter,
|
| - _) {
|
| - handleInvalidStaticGet(node, setter);
|
| - }
|
| -
|
| - @override
|
| - void visitStaticSetterGet(
|
| - ast.Send node,
|
| - MethodElement setter,
|
| - _) {
|
| - handleInvalidStaticGet(node, setter);
|
| - }
|
| -
|
| - @override
|
| void visitUnresolvedGet(
|
| ast.Send node,
|
| Element element,
|
| @@ -5176,32 +5154,6 @@ class SsaBuilder extends NewResolvedVisitor {
|
| generateStaticUnresolvedGet(node, element);
|
| }
|
|
|
| - void handleInvalidStaticInvoke(ast.Send node, Element element) {
|
| - generateThrowNoSuchMethod(node,
|
| - noSuchMethodTargetSymbolString(element),
|
| - argumentNodes: node.arguments);
|
| - }
|
| -
|
| - @override
|
| - void visitStaticSetterInvoke(
|
| - ast.Send node,
|
| - MethodElement setter,
|
| - ast.NodeList arguments,
|
| - CallStructure callStructure,
|
| - _) {
|
| - handleInvalidStaticInvoke(node, setter);
|
| - }
|
| -
|
| - @override
|
| - void visitTopLevelSetterInvoke(
|
| - ast.Send node,
|
| - MethodElement setter,
|
| - ast.NodeList arguments,
|
| - CallStructure callStructure,
|
| - _) {
|
| - handleInvalidStaticInvoke(node, setter);
|
| - }
|
| -
|
| @override
|
| void visitUnresolvedInvoke(
|
| ast.Send node,
|
| @@ -5212,7 +5164,9 @@ class SsaBuilder extends NewResolvedVisitor {
|
| if (element is ErroneousElement) {
|
| // An erroneous element indicates that the funciton could not be
|
| // resolved (a warning has been issued).
|
| - handleInvalidStaticInvoke(node, element);
|
| + generateThrowNoSuchMethod(node,
|
| + noSuchMethodTargetSymbolString(element),
|
| + argumentNodes: node.arguments);
|
| } else {
|
| // TODO(ahe): Do something like [generateWrongArgumentCountError].
|
| stack.add(graph.addConstantNull(compiler));
|
|
|