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

Side by Side Diff: pkg/compiler/lib/src/serialization/equivalence.dart

Issue 2360773003: More kernel_impact. (Closed)
Patch Set: Updated cf. comments Created 4 years, 2 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 /// Functions for asserting equivalence across serialization. 5 /// Functions for asserting equivalence across serialization.
6 6
7 library dart2js.serialization.equivalence; 7 library dart2js.serialization.equivalence;
8 8
9 import '../closure.dart'; 9 import '../closure.dart';
10 import '../common/resolution.dart'; 10 import '../common/resolution.dart';
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 509
510 @override 510 @override
511 bool visitSetterElement(SetterElement element1, SetterElement element2) { 511 bool visitSetterElement(SetterElement element1, SetterElement element2) {
512 return checkMembers(element1, element2); 512 return checkMembers(element1, element2);
513 } 513 }
514 514
515 @override 515 @override
516 bool visitLocalFunctionElement( 516 bool visitLocalFunctionElement(
517 LocalFunctionElement element1, LocalFunctionElement element2) { 517 LocalFunctionElement element1, LocalFunctionElement element2) {
518 // TODO(johnniwinther): Define an equivalence on locals. 518 // TODO(johnniwinther): Define an equivalence on locals.
519 return checkMembers(element1.memberContext, element2.memberContext); 519 return strategy.test(
520 element1, element2, 'name', element1.name, element2.name) &&
521 checkMembers(element1.memberContext, element2.memberContext);
520 } 522 }
521 523
522 @override 524 @override
523 bool visitLocalVariableElement( 525 bool visitLocalVariableElement(
524 LocalVariableElement element1, LocalVariableElement element2) { 526 LocalVariableElement element1, LocalVariableElement element2) {
525 // TODO(johnniwinther): Define an equivalence on locals. 527 // TODO(johnniwinther): Define an equivalence on locals.
526 return checkMembers(element1.memberContext, element2.memberContext); 528 return strategy.test(
529 element1, element2, 'name', element1.name, element2.name) &&
530 checkMembers(element1.memberContext, element2.memberContext);
527 } 531 }
528 532
529 bool visitAbstractFieldElement( 533 bool visitAbstractFieldElement(
530 AbstractFieldElement element1, AbstractFieldElement element2) { 534 AbstractFieldElement element1, AbstractFieldElement element2) {
531 return checkMembers(element1, element2); 535 return checkMembers(element1, element2);
532 } 536 }
533 537
534 @override 538 @override
535 bool visitTypeVariableElement( 539 bool visitTypeVariableElement(
536 TypeVariableElement element1, TypeVariableElement element2) { 540 TypeVariableElement element1, TypeVariableElement element2) {
(...skipping 1490 matching lines...) Expand 10 before | Expand all | Expand 10 after
2027 } 2031 }
2028 2032
2029 bool areMetadataAnnotationsEquivalent( 2033 bool areMetadataAnnotationsEquivalent(
2030 MetadataAnnotation metadata1, MetadataAnnotation metadata2) { 2034 MetadataAnnotation metadata1, MetadataAnnotation metadata2) {
2031 if (metadata1 == metadata2) return true; 2035 if (metadata1 == metadata2) return true;
2032 if (metadata1 == null || metadata2 == null) return false; 2036 if (metadata1 == null || metadata2 == null) return false;
2033 return areElementsEquivalent( 2037 return areElementsEquivalent(
2034 metadata1.annotatedElement, metadata2.annotatedElement) && 2038 metadata1.annotatedElement, metadata2.annotatedElement) &&
2035 areConstantsEquivalent(metadata1.constant, metadata2.constant); 2039 areConstantsEquivalent(metadata1.constant, metadata2.constant);
2036 } 2040 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/variables.dart ('k') | pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698