Chromium Code Reviews| Index: pkg/compiler/lib/src/ssa/builder_kernel.dart |
| diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| index 320628755e7ee3b70871c80241813e77cbfbf489..7cff75c1b32f9ce8c98700bbd253b9aaaada2bbf 100644 |
| --- a/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| +++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart |
| @@ -153,28 +153,10 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| this.localsHandler = new LocalsHandler(this, targetElement, null, compiler); |
| this.astAdapter = new KernelAstAdapter(kernel, compiler.backend, |
| resolvedAst, kernel.nodeToAst, kernel.nodeToElement); |
| - Element originTarget = targetElement; |
| - if (originTarget.isPatch) { |
| - originTarget = originTarget.origin; |
| - } |
| - if (originTarget is FunctionElement) { |
| - if (originTarget is ConstructorBodyElement) { |
| - ConstructorBodyElement body = originTarget; |
| - _targetIsConstructorBody = true; |
| - originTarget = body.constructor; |
| - } |
| - target = kernel.functions[originTarget]; |
| - // Closures require a lookup one level deeper in the closure class mapper. |
| - if (target == null) { |
| - FunctionElement originTargetFunction = originTarget; |
| - ClosureClassMap classMap = compiler.closureToClassMapper |
| - .getClosureToClassMapping(originTargetFunction.resolvedAst); |
| - if (classMap.closureElement != null) { |
| - target = kernel.localFunctions[classMap.closureElement]; |
| - } |
| - } |
| - } else if (originTarget is FieldElement) { |
| - target = kernel.fields[originTarget]; |
| + target = astAdapter.getInitialKernelNode(targetElement); |
| + if (targetElement is FunctionElement && |
|
Siggi Cherem (dart-lang)
2017/03/16 00:37:45
I think you can drop this check too (since Constru
Emily Fortuna
2017/03/17 01:03:02
ah, touche!
|
| + targetElement is ConstructorBodyElement) { |
| + _targetIsConstructorBody = true; |
| } |
| } |
| @@ -866,7 +848,7 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder { |
| // Generate a structure equivalent to: |
| // Iterator<E> $iter = <iterable>.iterator; |
| // while ($iter.moveNext()) { |
| - // <declaredIdentifier> = $iter.current; |
| + // <variable> = $iter.current; |
| // <body> |
| // } |