| OLD | NEW | 
|---|
| 1 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 import 'dart:io'; | 5 import 'dart:io'; | 
| 6 import 'package:async_helper/async_helper.dart'; | 6 import 'package:async_helper/async_helper.dart'; | 
| 7 import 'package:compiler/src/common.dart'; | 7 import 'package:compiler/src/common.dart'; | 
| 8 import 'package:compiler/src/compiler.dart'; | 8 import 'package:compiler/src/compiler.dart'; | 
| 9 import 'package:compiler/src/diagnostics/diagnostic_listener.dart'; | 9 import 'package:compiler/src/diagnostics/diagnostic_listener.dart'; | 
| 10 import 'package:compiler/src/elements/elements.dart'; | 10 import 'package:compiler/src/elements/elements.dart'; | 
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 143 | 143 | 
| 144 /// Compute a descriptive mapping of the [Id]s in [member] as a kernel based | 144 /// Compute a descriptive mapping of the [Id]s in [member] as a kernel based | 
| 145 /// member. | 145 /// member. | 
| 146 /// | 146 /// | 
| 147 /// Fills [actualMap] with the data and [sourceSpanMap] with the source spans | 147 /// Fills [actualMap] with the data and [sourceSpanMap] with the source spans | 
| 148 /// for the data origin. | 148 /// for the data origin. | 
| 149 void computeIrMemberData(Compiler compiler, MemberEntity member, | 149 void computeIrMemberData(Compiler compiler, MemberEntity member, | 
| 150     Map<Id, String> actualMap, Map<Id, Spannable> spannableMap) { | 150     Map<Id, String> actualMap, Map<Id, Spannable> spannableMap) { | 
| 151   KernelBackendStrategy backendStrategy = compiler.backendStrategy; | 151   KernelBackendStrategy backendStrategy = compiler.backendStrategy; | 
| 152   KernelToElementMapForBuilding elementMap = backendStrategy.elementMap; | 152   KernelToElementMapForBuilding elementMap = backendStrategy.elementMap; | 
| 153   new IrComputer(actualMap, spannableMap).run(elementMap.getMemberNode(member)); | 153   MemberDefinition definition = elementMap.getMemberDefinition(member); | 
|  | 154   assert(definition.kind == MemberKind.regular, | 
|  | 155       failedAt(member, "Unexpected member definition $definition")); | 
|  | 156   new IrComputer(actualMap, spannableMap).run(definition.node); | 
| 154 } | 157 } | 
| 155 | 158 | 
| 156 /// IR visitor for computing a descriptive mapping of the [Id]s in a member. | 159 /// IR visitor for computing a descriptive mapping of the [Id]s in a member. | 
| 157 class IrComputer extends AbstractIrComputer with ComputerMixin { | 160 class IrComputer extends AbstractIrComputer with ComputerMixin { | 
| 158   IrComputer(Map<Id, String> actualMap, Map<Id, SourceSpan> spannableMap) | 161   IrComputer(Map<Id, String> actualMap, Map<Id, SourceSpan> spannableMap) | 
| 159       : super(actualMap, spannableMap); | 162       : super(actualMap, spannableMap); | 
| 160 | 163 | 
| 161   @override | 164   @override | 
| 162   String computeNodeValue(ir.TreeNode node) { | 165   String computeNodeValue(ir.TreeNode node) { | 
| 163     if (node is ir.VariableDeclaration) { | 166     if (node is ir.VariableDeclaration) { | 
| 164       return computeLocalName(node.name); | 167       return computeLocalName(node.name); | 
| 165     } else if (node is ir.FunctionDeclaration) { | 168     } else if (node is ir.FunctionDeclaration) { | 
| 166       return computeLocalName(node.variable.name); | 169       return computeLocalName(node.variable.name); | 
| 167     } else if (node is ir.MethodInvocation) { | 170     } else if (node is ir.MethodInvocation) { | 
| 168       return computeDynamicInvokeName(node.name.name); | 171       return computeDynamicInvokeName(node.name.name); | 
| 169     } else if (node is ir.PropertyGet) { | 172     } else if (node is ir.PropertyGet) { | 
| 170       return computeDynamicGetName(node.name.name); | 173       return computeDynamicGetName(node.name.name); | 
| 171     } | 174     } | 
| 172     return '<unknown:$node>'; | 175     return '<unknown:$node>'; | 
| 173   } | 176   } | 
| 174 | 177 | 
| 175   @override | 178   @override | 
| 176   String computeMemberValue(ir.Member member) { | 179   String computeMemberValue(ir.Member member) { | 
| 177     return computeMemberName(member.enclosingClass?.name, member.name.name); | 180     return computeMemberName(member.enclosingClass?.name, member.name.name); | 
| 178   } | 181   } | 
| 179 } | 182 } | 
| OLD | NEW | 
|---|