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 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 'member:$name', member1, member2); | 377 'member:$name', member1, member2); |
378 visit(member1, member2); | 378 visit(member1, member2); |
379 currentCheck = currentCheck.parent; | 379 currentCheck = currentCheck.parent; |
380 } | 380 } |
381 } | 381 } |
382 | 382 |
383 @override | 383 @override |
384 void visitClassElement(ClassElement element1, ClassElement element2) { | 384 void visitClassElement(ClassElement element1, ClassElement element2) { |
385 checkElementIdentities(null, null, null, element1, element2); | 385 checkElementIdentities(null, null, null, element1, element2); |
386 check(element1, element2, 'name', | 386 check(element1, element2, 'name', |
387 element1.name, element2.name); | 387 element1.name, element2.name); |
388 if (!element1.isUnnamedMixinApplication) { | 388 if (!element1.isUnnamedMixinApplication) { |
389 check(element1, element2, 'sourcePosition', | 389 check(element1, element2, 'sourcePosition', |
390 element1.sourcePosition, element2.sourcePosition); | 390 element1.sourcePosition, element2.sourcePosition); |
391 } else { | 391 } else { |
392 check(element1, element2, 'sourcePosition.uri', | 392 check(element1, element2, 'sourcePosition.uri', |
393 element1.sourcePosition.uri, element2.sourcePosition.uri); | 393 element1.sourcePosition.uri, element2.sourcePosition.uri); |
394 MixinApplicationElement mixin1 = element1; | 394 MixinApplicationElement mixin1 = element1; |
395 MixinApplicationElement mixin2 = element2; | 395 MixinApplicationElement mixin2 = element2; |
396 checkElementIdentities(mixin1, mixin2, 'subclass', | 396 checkElementIdentities(mixin1, mixin2, 'subclass', |
397 mixin1.subclass, mixin2.subclass); | 397 mixin1.subclass, mixin2.subclass); |
(...skipping 22 matching lines...) Expand all Loading... |
420 check(element1, element2, 'isAbstract', | 420 check(element1, element2, 'isAbstract', |
421 element1.isAbstract, element2.isAbstract); | 421 element1.isAbstract, element2.isAbstract); |
422 check(element1, element2, 'isUnnamedMixinApplication', | 422 check(element1, element2, 'isUnnamedMixinApplication', |
423 element1.isUnnamedMixinApplication, element2.isUnnamedMixinApplication); | 423 element1.isUnnamedMixinApplication, element2.isUnnamedMixinApplication); |
424 check(element1, element2, 'isEnumClass', | 424 check(element1, element2, 'isEnumClass', |
425 element1.isEnumClass, element2.isEnumClass); | 425 element1.isEnumClass, element2.isEnumClass); |
426 if (element1.isEnumClass) { | 426 if (element1.isEnumClass) { |
427 EnumClassElement enum1 = element1; | 427 EnumClassElement enum1 = element1; |
428 EnumClassElement enum2 = element2; | 428 EnumClassElement enum2 = element2; |
429 checkElementLists(enum1, enum2, 'enumValues', | 429 checkElementLists(enum1, enum2, 'enumValues', |
430 enum1.enumValues, enum2.enumValues); | 430 enum1.enumValues, enum2.enumValues); |
431 } | 431 } |
432 if (!element1.isObject) { | 432 if (!element1.isObject) { |
433 checkTypes(element1, element2, 'supertype', | 433 checkTypes(element1, element2, 'supertype', |
434 element1.supertype, element2.supertype); | 434 element1.supertype, element2.supertype); |
435 } | 435 } |
436 check(element1, element2, 'hierarchyDepth', | 436 check(element1, element2, 'hierarchyDepth', |
437 element1.hierarchyDepth, element2.hierarchyDepth); | 437 element1.hierarchyDepth, element2.hierarchyDepth); |
438 checkTypeLists( | 438 checkTypeLists( |
439 element1, element2, 'allSupertypes', | 439 element1, element2, 'allSupertypes', |
440 element1.allSupertypes.toList(), | 440 element1.allSupertypes.toList(), |
441 element2.allSupertypes.toList()); | 441 element2.allSupertypes.toList()); |
442 OrderedTypeSet typeSet1 = element1.allSupertypesAndSelf; | 442 OrderedTypeSet typeSet1 = element1.allSupertypesAndSelf; |
443 OrderedTypeSet typeSet2 = element1.allSupertypesAndSelf; | 443 OrderedTypeSet typeSet2 = element2.allSupertypesAndSelf; |
444 checkListEquivalence( | 444 checkListEquivalence( |
445 element1, element2, 'allSupertypes', | 445 element1, element2, 'allSupertypes', |
446 typeSet1.levelOffsets, | 446 typeSet1.levelOffsets, |
447 typeSet2.levelOffsets, | 447 typeSet2.levelOffsets, |
448 check); | 448 check); |
449 check(element1, element2, 'allSupertypesAndSelf.levels', | 449 check(element1, element2, 'allSupertypesAndSelf.levels', |
450 typeSet1.levels, typeSet2.levels); | 450 typeSet1.levels, typeSet2.levels); |
451 checkTypeLists( | 451 checkTypeLists( |
452 element1, element2, 'supertypes', | 452 element1, element2, 'supertypes', |
453 typeSet1.supertypes.toList(), | 453 typeSet1.supertypes.toList(), |
454 typeSet2.supertypes.toList()); | 454 typeSet2.supertypes.toList()); |
455 checkTypeLists( | 455 checkTypeLists( |
456 element1, element2, 'types', | 456 element1, element2, 'types', |
457 typeSet1.types.toList(), | 457 typeSet1.types.toList(), |
458 typeSet2.types.toList()); | 458 typeSet2.types.toList()); |
459 | 459 |
460 checkTypeLists( | 460 checkTypeLists( |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 void visitPrefixElement(PrefixElement element1, PrefixElement element2) { | 751 void visitPrefixElement(PrefixElement element1, PrefixElement element2) { |
752 check( | 752 check( |
753 element1, element2, 'isDeferred', | 753 element1, element2, 'isDeferred', |
754 element1.isDeferred, element2.isDeferred); | 754 element1.isDeferred, element2.isDeferred); |
755 checkElementIdentities( | 755 checkElementIdentities( |
756 element1, element2, 'importedLibrary', | 756 element1, element2, 'importedLibrary', |
757 element1.deferredImport, element2.deferredImport); | 757 element1.deferredImport, element2.deferredImport); |
758 // TODO(johnniwinther): Check members. | 758 // TODO(johnniwinther): Check members. |
759 } | 759 } |
760 } | 760 } |
OLD | NEW |