| OLD | NEW |
| 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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 case SendStructureKind.INDEX_POSTFIX: | 273 case SendStructureKind.INDEX_POSTFIX: |
| 274 case SendStructureKind.COMPOUND: | 274 case SendStructureKind.COMPOUND: |
| 275 case SendStructureKind.COMPOUND_INDEX_SET: | 275 case SendStructureKind.COMPOUND_INDEX_SET: |
| 276 if (ad.operator != bd.operator) return false; | 276 if (ad.operator != bd.operator) return false; |
| 277 continue semantics; | 277 continue semantics; |
| 278 | 278 |
| 279 case SendStructureKind.DEFERRED_PREFIX: | 279 case SendStructureKind.DEFERRED_PREFIX: |
| 280 return areElementsEquivalent(ad.prefix, bd.prefix) && | 280 return areElementsEquivalent(ad.prefix, bd.prefix) && |
| 281 areSendStructuresEquivalent(ad.sendStructure, bd.sendStructure); | 281 areSendStructuresEquivalent(ad.sendStructure, bd.sendStructure); |
| 282 | 282 |
| 283 semantics: case SendStructureKind.GET: | 283 semantics: |
| 284 case SendStructureKind.GET: |
| 284 case SendStructureKind.SET: | 285 case SendStructureKind.SET: |
| 285 case SendStructureKind.INDEX: | 286 case SendStructureKind.INDEX: |
| 286 case SendStructureKind.INDEX_SET: | 287 case SendStructureKind.INDEX_SET: |
| 287 case SendStructureKind.EQUALS: | 288 case SendStructureKind.EQUALS: |
| 288 case SendStructureKind.NOT_EQUALS: | 289 case SendStructureKind.NOT_EQUALS: |
| 289 case SendStructureKind.SET_IF_NULL: | 290 case SendStructureKind.SET_IF_NULL: |
| 290 case SendStructureKind.INDEX_SET_IF_NULL: | 291 case SendStructureKind.INDEX_SET_IF_NULL: |
| 291 return areAccessSemanticsEquivalent(ad.semantics, bd.semantics); | 292 return areAccessSemanticsEquivalent(ad.semantics, bd.semantics); |
| 292 } | 293 } |
| 293 throw new UnsupportedError('Unexpected send structures $a vs $b'); | 294 throw new UnsupportedError('Unexpected send structures $a vs $b'); |
| (...skipping 1731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2025 } | 2026 } |
| 2026 | 2027 |
| 2027 bool areMetadataAnnotationsEquivalent( | 2028 bool areMetadataAnnotationsEquivalent( |
| 2028 MetadataAnnotation metadata1, MetadataAnnotation metadata2) { | 2029 MetadataAnnotation metadata1, MetadataAnnotation metadata2) { |
| 2029 if (metadata1 == metadata2) return true; | 2030 if (metadata1 == metadata2) return true; |
| 2030 if (metadata1 == null || metadata2 == null) return false; | 2031 if (metadata1 == null || metadata2 == null) return false; |
| 2031 return areElementsEquivalent( | 2032 return areElementsEquivalent( |
| 2032 metadata1.annotatedElement, metadata2.annotatedElement) && | 2033 metadata1.annotatedElement, metadata2.annotatedElement) && |
| 2033 areConstantsEquivalent(metadata1.constant, metadata2.constant); | 2034 areConstantsEquivalent(metadata1.constant, metadata2.constant); |
| 2034 } | 2035 } |
| OLD | NEW |