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

Side by Side Diff: pkg/compiler/lib/src/universe/selector.dart

Issue 1856713002: Test ResolutionImpact equivalence. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments Created 4 years, 8 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 | « pkg/compiler/lib/src/serialization/task.dart ('k') | tests/compiler/dart2js/mock_compiler.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library dart2js.selector; 5 library dart2js.selector;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/names.dart' show 8 import '../common/names.dart' show
9 Names; 9 Names;
10 import '../elements/elements.dart' show 10 import '../elements/elements.dart' show
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 List<String> get namedArguments => callStructure.namedArguments; 55 List<String> get namedArguments => callStructure.namedArguments;
56 56
57 String get name => memberName.text; 57 String get name => memberName.text;
58 58
59 LibraryElement get library => memberName.library; 59 LibraryElement get library => memberName.library;
60 60
61 Selector.internal(this.kind, 61 Selector.internal(this.kind,
62 this.memberName, 62 this.memberName,
63 this.callStructure, 63 this.callStructure,
64 this.hashCode) { 64 this.hashCode) {
65 assert(kind == SelectorKind.INDEX || 65 assert(invariant(NO_LOCATION_SPANNABLE,
66 (memberName != Names.INDEX_NAME && 66 kind == SelectorKind.INDEX ||
67 memberName != Names.INDEX_SET_NAME)); 67 (memberName != Names.INDEX_NAME &&
68 assert(kind == SelectorKind.OPERATOR || 68 memberName != Names.INDEX_SET_NAME),
69 kind == SelectorKind.INDEX || 69 message: "kind=$kind,memberName=$memberName,"
70 !Elements.isOperatorName(memberName.text) || 70 "callStructure:$callStructure"));
71 identical(memberName.text, '??')); 71 assert(invariant(NO_LOCATION_SPANNABLE,
72 assert(kind == SelectorKind.CALL || 72 kind == SelectorKind.OPERATOR ||
73 kind == SelectorKind.GETTER || 73 kind == SelectorKind.INDEX ||
74 kind == SelectorKind.SETTER || 74 !Elements.isOperatorName(memberName.text) ||
75 Elements.isOperatorName(memberName.text) || 75 memberName.text == '??',
76 identical(memberName.text, '??')); 76 message: "kind=$kind,memberName=$memberName,"
77 "callStructure:$callStructure"));
78 assert(invariant(NO_LOCATION_SPANNABLE,
79 kind == SelectorKind.CALL ||
80 kind == SelectorKind.GETTER ||
81 kind == SelectorKind.SETTER ||
82 Elements.isOperatorName(memberName.text) ||
83 memberName.text == '??',
84 message: "kind=$kind,memberName=$memberName,"
85 "callStructure:$callStructure"));
77 } 86 }
78 87
79 // TODO(johnniwinther): Extract caching. 88 // TODO(johnniwinther): Extract caching.
80 static Map<int, List<Selector>> canonicalizedValues = 89 static Map<int, List<Selector>> canonicalizedValues =
81 new Map<int, List<Selector>>(); 90 new Map<int, List<Selector>>();
82 91
83 factory Selector(SelectorKind kind, 92 factory Selector(SelectorKind kind,
84 Name name, 93 Name name,
85 CallStructure callStructure) { 94 CallStructure callStructure) {
86 // TODO(johnniwinther): Maybe use equality instead of implicit hashing. 95 // TODO(johnniwinther): Maybe use equality instead of implicit hashing.
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 // Add bits from the call structure. 287 // Add bits from the call structure.
279 return Hashing.mixHashCodeBits(hash, callStructure.hashCode); 288 return Hashing.mixHashCodeBits(hash, callStructure.hashCode);
280 } 289 }
281 290
282 String toString() { 291 String toString() {
283 return 'Selector($kind, $name, ${callStructure.structureToString()})'; 292 return 'Selector($kind, $name, ${callStructure.structureToString()})';
284 } 293 }
285 294
286 Selector toCallSelector() => new Selector.callClosureFrom(this); 295 Selector toCallSelector() => new Selector.callClosureFrom(this);
287 } 296 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/serialization/task.dart ('k') | tests/compiler/dart2js/mock_compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698