Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: tests/compiler/dart2js/closure/closure_test.dart

Issue 3001223002: Support unittest of jumps (Closed)
Patch Set: Updated cf. comments Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tests/compiler/dart2js/equivalence/id_equivalence.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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' hide Link; 5 import 'dart:io' hide Link;
6 import 'package:async_helper/async_helper.dart'; 6 import 'package:async_helper/async_helper.dart';
7 import 'package:compiler/src/closure.dart'; 7 import 'package:compiler/src/closure.dart';
8 import 'package:compiler/src/common.dart'; 8 import 'package:compiler/src/common.dart';
9 import 'package:compiler/src/compiler.dart'; 9 import 'package:compiler/src/compiler.dart';
10 import 'package:compiler/src/diagnostics/diagnostic_listener.dart'; 10 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 MemberDefinition definition = elementMap.getMemberDefinition(member); 74 MemberDefinition definition = elementMap.getMemberDefinition(member);
75 assert(definition.kind == MemberKind.regular, 75 assert(definition.kind == MemberKind.regular,
76 failedAt(member, "Unexpected member definition $definition")); 76 failedAt(member, "Unexpected member definition $definition"));
77 new ClosureIrChecker(actualMap, elementMap, member, 77 new ClosureIrChecker(actualMap, elementMap, member,
78 localsMap.getLocalsMap(member), closureDataLookup, 78 localsMap.getLocalsMap(member), closureDataLookup,
79 verbose: verbose) 79 verbose: verbose)
80 .run(definition.node); 80 .run(definition.node);
81 } 81 }
82 82
83 /// Ast visitor for computing closure data. 83 /// Ast visitor for computing closure data.
84 class ClosureAstComputer extends AbstractResolvedAstComputer 84 class ClosureAstComputer extends AstDataExtractor with ComputeValueMixin {
85 with ComputeValueMixin {
86 final ClosureDataLookup<ast.Node> closureDataLookup; 85 final ClosureDataLookup<ast.Node> closureDataLookup;
87 final bool verbose; 86 final bool verbose;
88 87
89 ClosureAstComputer(DiagnosticReporter reporter, Map<Id, ActualData> actualMap, 88 ClosureAstComputer(DiagnosticReporter reporter, Map<Id, ActualData> actualMap,
90 ResolvedAst resolvedAst, this.closureDataLookup, 89 ResolvedAst resolvedAst, this.closureDataLookup,
91 {this.verbose: false}) 90 {this.verbose: false})
92 : super(reporter, actualMap, resolvedAst) { 91 : super(reporter, actualMap, resolvedAst) {
93 push(resolvedAst.element); 92 push(resolvedAst.element);
94 } 93 }
95 94
(...skipping 24 matching lines...) Expand all
120 119
121 @override 120 @override
122 String computeElementValue(AstElement element) { 121 String computeElementValue(AstElement element) {
123 // TODO(johnniwinther,efortuna): Collect data for the member 122 // TODO(johnniwinther,efortuna): Collect data for the member
124 // (has thisLocal, has box, etc.). 123 // (has thisLocal, has box, etc.).
125 return computeEntityValue(element); 124 return computeEntityValue(element);
126 } 125 }
127 } 126 }
128 127
129 /// Kernel IR visitor for computing closure data. 128 /// Kernel IR visitor for computing closure data.
130 class ClosureIrChecker extends AbstractIrComputer 129 class ClosureIrChecker extends IrDataExtractor with ComputeValueMixin<ir.Node> {
131 with ComputeValueMixin<ir.Node> {
132 final ClosureDataLookup<ir.Node> closureDataLookup; 130 final ClosureDataLookup<ir.Node> closureDataLookup;
133 final KernelToLocalsMap _localsMap; 131 final KernelToLocalsMap _localsMap;
134 final bool verbose; 132 final bool verbose;
135 133
136 ClosureIrChecker( 134 ClosureIrChecker(
137 Map<Id, ActualData> actualMap, 135 Map<Id, ActualData> actualMap,
138 KernelToElementMapForBuilding elementMap, 136 KernelToElementMapForBuilding elementMap,
139 MemberEntity member, 137 MemberEntity member,
140 this._localsMap, 138 this._localsMap,
141 this.closureDataLookup, 139 this.closureDataLookup,
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 if (value != '') { 310 if (value != '') {
313 sb.write('='); 311 sb.write('=');
314 sb.write(value); 312 sb.write(value);
315 } 313 }
316 needsComma = true; 314 needsComma = true;
317 } 315 }
318 } 316 }
319 return sb.toString(); 317 return sb.toString();
320 } 318 }
321 } 319 }
OLDNEW
« no previous file with comments | « no previous file | tests/compiler/dart2js/equivalence/id_equivalence.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698