| 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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 } | 142 } |
| 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 KernelToElementMap elementMap = backendStrategy.elementMap; | 152 KernelToElementMapForBuilding elementMap = backendStrategy.elementMap; |
| 153 new IrComputer(actualMap, spannableMap).run(elementMap.getMemberNode(member)); | 153 new IrComputer(actualMap, spannableMap).run(elementMap.getMemberNode(member)); |
| 154 } | 154 } |
| 155 | 155 |
| 156 /// IR visitor for computing a descriptive mapping of the [Id]s in a member. | 156 /// IR visitor for computing a descriptive mapping of the [Id]s in a member. |
| 157 class IrComputer extends AbstractIrComputer with ComputerMixin { | 157 class IrComputer extends AbstractIrComputer with ComputerMixin { |
| 158 IrComputer(Map<Id, String> actualMap, Map<Id, SourceSpan> spannableMap) | 158 IrComputer(Map<Id, String> actualMap, Map<Id, SourceSpan> spannableMap) |
| 159 : super(actualMap, spannableMap); | 159 : super(actualMap, spannableMap); |
| 160 | 160 |
| 161 @override | 161 @override |
| 162 String computeNodeValue(ir.TreeNode node) { | 162 String computeNodeValue(ir.TreeNode node) { |
| 163 if (node is ir.VariableDeclaration) { | 163 if (node is ir.VariableDeclaration) { |
| 164 return computeLocalName(node.name); | 164 return computeLocalName(node.name); |
| 165 } else if (node is ir.FunctionDeclaration) { | 165 } else if (node is ir.FunctionDeclaration) { |
| 166 return computeLocalName(node.variable.name); | 166 return computeLocalName(node.variable.name); |
| 167 } else if (node is ir.MethodInvocation) { | 167 } else if (node is ir.MethodInvocation) { |
| 168 return computeDynamicInvokeName(node.name.name); | 168 return computeDynamicInvokeName(node.name.name); |
| 169 } else if (node is ir.PropertyGet) { | 169 } else if (node is ir.PropertyGet) { |
| 170 return computeDynamicGetName(node.name.name); | 170 return computeDynamicGetName(node.name.name); |
| 171 } | 171 } |
| 172 return '<unknown:$node>'; | 172 return '<unknown:$node>'; |
| 173 } | 173 } |
| 174 | 174 |
| 175 @override | 175 @override |
| 176 String computeMemberValue(ir.Member member) { | 176 String computeMemberValue(ir.Member member) { |
| 177 return computeMemberName(member.enclosingClass?.name, member.name.name); | 177 return computeMemberName(member.enclosingClass?.name, member.name.name); |
| 178 } | 178 } |
| 179 } | 179 } |
| OLD | NEW |