| OLD | NEW |
| 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.serialization_test; | 5 library dart2js.serialization_test; |
| 6 | 6 |
| 7 import 'dart:io'; | 7 import 'dart:io'; |
| 8 import '../memory_compiler.dart'; | 8 import '../memory_compiler.dart'; |
| 9 import 'package:async_helper/async_helper.dart'; | 9 import 'package:async_helper/async_helper.dart'; |
| 10 import 'package:compiler/src/commandline_options.dart'; | 10 import 'package:compiler/src/commandline_options.dart'; |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 | 238 |
| 239 void visit(Element element1, Element element2) { | 239 void visit(Element element1, Element element2) { |
| 240 if (element1 == null && element2 == null) return; | 240 if (element1 == null && element2 == null) return; |
| 241 element1 = element1.declaration; | 241 element1 = element1.declaration; |
| 242 element2 = element2.declaration; | 242 element2 = element2.declaration; |
| 243 if (element1 == element2) return; | 243 if (element1 == element2) return; |
| 244 check(element1, element2, 'kind', element1.kind, element2.kind); | 244 check(element1, element2, 'kind', element1.kind, element2.kind); |
| 245 element1.accept(this, element2); | 245 element1.accept(this, element2); |
| 246 check(element1, element2, 'isSynthesized', | 246 check(element1, element2, 'isSynthesized', |
| 247 element1.isSynthesized, element2.isSynthesized); | 247 element1.isSynthesized, element2.isSynthesized); |
| 248 check(element1, element2, 'isLocal', |
| 249 element1.isLocal, element2.isLocal); |
| 250 check(element1, element2, 'isFinal', |
| 251 element1.isFinal, element2.isFinal); |
| 252 check(element1, element2, 'isConst', |
| 253 element1.isConst, element2.isConst); |
| 248 } | 254 } |
| 249 | 255 |
| 250 @override | 256 @override |
| 251 void visitElement(Element e, Element arg) { | 257 void visitElement(Element e, Element arg) { |
| 252 throw new UnsupportedError("Unsupported element $e"); | 258 throw new UnsupportedError("Unsupported element $e"); |
| 253 } | 259 } |
| 254 | 260 |
| 255 @override | 261 @override |
| 256 void visitLibraryElement(LibraryElement element1, LibraryElement element2) { | 262 void visitLibraryElement(LibraryElement element1, LibraryElement element2) { |
| 257 checkElementIdentities(null, null, null, element1, element2); | 263 checkElementIdentities(null, null, null, element1, element2); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 @override | 437 @override |
| 432 void visitFieldElement(FieldElement element1, FieldElement element2) { | 438 void visitFieldElement(FieldElement element1, FieldElement element2) { |
| 433 checkElementIdentities(null, null, null, element1, element2); | 439 checkElementIdentities(null, null, null, element1, element2); |
| 434 check(element1, element2, 'name', | 440 check(element1, element2, 'name', |
| 435 element1.name, element2.name); | 441 element1.name, element2.name); |
| 436 check(element1, element2, 'sourcePosition', | 442 check(element1, element2, 'sourcePosition', |
| 437 element1.sourcePosition, element2.sourcePosition); | 443 element1.sourcePosition, element2.sourcePosition); |
| 438 checkTypes( | 444 checkTypes( |
| 439 element1, element2, 'type', | 445 element1, element2, 'type', |
| 440 element1.type, element2.type); | 446 element1.type, element2.type); |
| 441 check(element1, element2, 'isConst', | |
| 442 element1.isConst, element2.isConst); | |
| 443 check(element1, element2, 'isFinal', | |
| 444 element1.isFinal, element2.isFinal); | |
| 445 checkConstants( | 447 checkConstants( |
| 446 element1, element2, 'constant', | 448 element1, element2, 'constant', |
| 447 element1.constant, element2.constant); | 449 element1.constant, element2.constant); |
| 448 check(element1, element2, 'isTopLevel', | 450 check(element1, element2, 'isTopLevel', |
| 449 element1.isTopLevel, element2.isTopLevel); | 451 element1.isTopLevel, element2.isTopLevel); |
| 450 check(element1, element2, 'isStatic', | 452 check(element1, element2, 'isStatic', |
| 451 element1.isStatic, element2.isStatic); | 453 element1.isStatic, element2.isStatic); |
| 452 check(element1, element2, 'isInstanceMember', | 454 check(element1, element2, 'isInstanceMember', |
| 453 element1.isInstanceMember, element2.isInstanceMember); | 455 element1.isInstanceMember, element2.isInstanceMember); |
| 454 | 456 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 element1.name, element2.name); | 548 element1.name, element2.name); |
| 547 check(element1, element2, 'sourcePosition', | 549 check(element1, element2, 'sourcePosition', |
| 548 element1.sourcePosition, element2.sourcePosition); | 550 element1.sourcePosition, element2.sourcePosition); |
| 549 checkListEquivalence( | 551 checkListEquivalence( |
| 550 element1, element2, 'parameters', | 552 element1, element2, 'parameters', |
| 551 element1.parameters, element2.parameters, | 553 element1.parameters, element2.parameters, |
| 552 checkElementProperties); | 554 checkElementProperties); |
| 553 checkTypes( | 555 checkTypes( |
| 554 element1, element2, 'type', | 556 element1, element2, 'type', |
| 555 element1.type, element2.type); | 557 element1.type, element2.type); |
| 556 check(element1, element2, 'isConst', | |
| 557 element1.isConst, element2.isConst); | |
| 558 check(element1, element2, 'isExternal', | 558 check(element1, element2, 'isExternal', |
| 559 element1.isExternal, element2.isExternal); | 559 element1.isExternal, element2.isExternal); |
| 560 if (element1.isConst && !element1.isExternal) { | 560 if (element1.isConst && !element1.isExternal) { |
| 561 constantConstructorEquivalence( | 561 constantConstructorEquivalence( |
| 562 element1.constantConstructor, | 562 element1.constantConstructor, |
| 563 element2.constantConstructor); | 563 element2.constantConstructor); |
| 564 } | 564 } |
| 565 check(element1, element2, 'isRedirectingGenerative', | 565 check(element1, element2, 'isRedirectingGenerative', |
| 566 element1.isRedirectingGenerative, element2.isRedirectingGenerative); | 566 element1.isRedirectingGenerative, element2.isRedirectingGenerative); |
| 567 check(element1, element2, 'isRedirectingFactory', | 567 check(element1, element2, 'isRedirectingFactory', |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 element1.sourcePosition, element2.sourcePosition); | 639 element1.sourcePosition, element2.sourcePosition); |
| 640 checkTypes( | 640 checkTypes( |
| 641 element1, element2, 'type', | 641 element1, element2, 'type', |
| 642 element1.type, element2.type); | 642 element1.type, element2.type); |
| 643 check( | 643 check( |
| 644 element1, element2, 'isOptional', | 644 element1, element2, 'isOptional', |
| 645 element1.isOptional, element2.isOptional); | 645 element1.isOptional, element2.isOptional); |
| 646 check( | 646 check( |
| 647 element1, element2, 'isNamed', | 647 element1, element2, 'isNamed', |
| 648 element1.isNamed, element2.isNamed); | 648 element1.isNamed, element2.isNamed); |
| 649 check( | |
| 650 element1, element2, 'isFinal', | |
| 651 element1.isFinal, element2.isFinal); | |
| 652 check(element1, element2, 'name', element1.name, element2.name); | 649 check(element1, element2, 'name', element1.name, element2.name); |
| 653 if (element1.isOptional) { | 650 if (element1.isOptional) { |
| 654 checkConstants( | 651 checkConstants( |
| 655 element1, element2, 'constant', | 652 element1, element2, 'constant', |
| 656 element1.constant, element2.constant); | 653 element1.constant, element2.constant); |
| 657 } | 654 } |
| 658 checkElementIdentities( | 655 checkElementIdentities( |
| 659 element1, element2, 'compilationUnit', | 656 element1, element2, 'compilationUnit', |
| 660 element1.compilationUnit, element2.compilationUnit); | 657 element1.compilationUnit, element2.compilationUnit); |
| 661 } | 658 } |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 695 void visitPrefixElement(PrefixElement element1, PrefixElement element2) { | 692 void visitPrefixElement(PrefixElement element1, PrefixElement element2) { |
| 696 check( | 693 check( |
| 697 element1, element2, 'isDeferred', | 694 element1, element2, 'isDeferred', |
| 698 element1.isDeferred, element2.isDeferred); | 695 element1.isDeferred, element2.isDeferred); |
| 699 checkElementIdentities( | 696 checkElementIdentities( |
| 700 element1, element2, 'importedLibrary', | 697 element1, element2, 'importedLibrary', |
| 701 element1.deferredImport, element2.deferredImport); | 698 element1.deferredImport, element2.deferredImport); |
| 702 // TODO(johnniwinther): Check members. | 699 // TODO(johnniwinther): Check members. |
| 703 } | 700 } |
| 704 } | 701 } |
| OLD | NEW |