| 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 #ifndef RUNTIME_VM_KERNEL_H_ | 5 #ifndef RUNTIME_VM_KERNEL_H_ |
| 6 #define RUNTIME_VM_KERNEL_H_ | 6 #define RUNTIME_VM_KERNEL_H_ |
| 7 | 7 |
| 8 #if !defined(DART_PRECOMPILED_RUNTIME) | 8 #if !defined(DART_PRECOMPILED_RUNTIME) |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 M(TreeNode) \ | 111 M(TreeNode) \ |
| 112 KERNEL_TREE_NODES_DO(M) | 112 KERNEL_TREE_NODES_DO(M) |
| 113 | 113 |
| 114 #define KERNEL_VISITORS_DO(M) \ | 114 #define KERNEL_VISITORS_DO(M) \ |
| 115 M(ExpressionVisitor) \ | 115 M(ExpressionVisitor) \ |
| 116 M(StatementVisitor) \ | 116 M(StatementVisitor) \ |
| 117 M(MemberVisitor) \ | 117 M(MemberVisitor) \ |
| 118 M(ClassVisitor) \ | 118 M(ClassVisitor) \ |
| 119 M(InitializerVisitor) \ | 119 M(InitializerVisitor) \ |
| 120 M(DartTypeVisitor) \ | 120 M(DartTypeVisitor) \ |
| 121 M(ClassReferenceVisitor) \ |
| 122 M(MemberReferenceVisitor) \ |
| 121 M(TreeVisitor) \ | 123 M(TreeVisitor) \ |
| 122 M(Visitor) | 124 M(Visitor) |
| 123 | 125 |
| 124 namespace dart { | 126 namespace dart { |
| 125 | 127 |
| 126 class Field; | 128 class Field; |
| 127 class ParsedFunction; | 129 class ParsedFunction; |
| 128 class Zone; | 130 class Zone; |
| 129 | 131 |
| 130 namespace kernel { | 132 namespace kernel { |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 class LinkedNode; | 363 class LinkedNode; |
| 362 class Member; | 364 class Member; |
| 363 class Procedure; | 365 class Procedure; |
| 364 | 366 |
| 365 class CanonicalName { | 367 class CanonicalName { |
| 366 public: | 368 public: |
| 367 ~CanonicalName(); | 369 ~CanonicalName(); |
| 368 | 370 |
| 369 String* name() { return name_; } | 371 String* name() { return name_; } |
| 370 CanonicalName* parent() { return parent_; } | 372 CanonicalName* parent() { return parent_; } |
| 373 LinkedNode* definition() { return definition_; } |
| 371 bool is_referenced() { return is_referenced_; } | 374 bool is_referenced() { return is_referenced_; } |
| 372 void set_referenced(bool referenced) { is_referenced_ = referenced; } | 375 void set_referenced(bool referenced) { is_referenced_ = referenced; } |
| 373 | 376 |
| 377 void BindTo(LinkedNode* definition); |
| 378 void Unbind(); |
| 374 CanonicalName* AddChild(String* name); | 379 CanonicalName* AddChild(String* name); |
| 375 | 380 |
| 376 bool IsAdministrative(); | 381 Library* AsLibrary(); |
| 377 bool IsPrivate(); | 382 Class* AsClass(); |
| 378 | 383 Member* AsMember(); |
| 379 bool IsRoot(); | 384 Field* AsField(); |
| 380 bool IsLibrary(); | 385 Constructor* AsConstructor(); |
| 381 bool IsClass(); | 386 Procedure* AsProcedure(); |
| 382 bool IsMember(); | |
| 383 bool IsField(); | |
| 384 bool IsConstructor(); | |
| 385 bool IsProcedure(); | |
| 386 bool IsMethod(); | |
| 387 bool IsGetter(); | |
| 388 bool IsSetter(); | |
| 389 bool IsFactory(); | |
| 390 | |
| 391 // For a member (field, constructor, or procedure) return the canonical name | |
| 392 // of the enclosing class or library. | |
| 393 CanonicalName* EnclosingName(); | |
| 394 | 387 |
| 395 static CanonicalName* NewRoot(); | 388 static CanonicalName* NewRoot(); |
| 396 | 389 |
| 397 private: | 390 private: |
| 398 CanonicalName(); | 391 CanonicalName(); |
| 399 | 392 |
| 400 bool is_referenced_; | 393 bool is_referenced_; |
| 401 Ref<CanonicalName> parent_; | 394 Ref<CanonicalName> parent_; |
| 402 Ref<String> name_; | 395 Ref<String> name_; |
| 396 Ref<LinkedNode> definition_; |
| 403 MallocGrowableArray<CanonicalName*> children_; | 397 MallocGrowableArray<CanonicalName*> children_; |
| 404 | 398 |
| 405 DISALLOW_COPY_AND_ASSIGN(CanonicalName); | 399 DISALLOW_COPY_AND_ASSIGN(CanonicalName); |
| 406 }; | 400 }; |
| 407 | 401 |
| 408 | 402 |
| 409 class Node { | 403 class Node { |
| 410 public: | 404 public: |
| 411 virtual ~Node(); | 405 virtual ~Node(); |
| 412 | 406 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 | 450 |
| 457 class LinkedNode : public TreeNode { | 451 class LinkedNode : public TreeNode { |
| 458 public: | 452 public: |
| 459 virtual ~LinkedNode(); | 453 virtual ~LinkedNode(); |
| 460 | 454 |
| 461 CanonicalName* canonical_name() { return canonical_name_; } | 455 CanonicalName* canonical_name() { return canonical_name_; } |
| 462 | 456 |
| 463 protected: | 457 protected: |
| 464 LinkedNode() {} | 458 LinkedNode() {} |
| 465 | 459 |
| 460 private: |
| 466 Ref<CanonicalName> canonical_name_; | 461 Ref<CanonicalName> canonical_name_; |
| 467 | 462 |
| 468 private: | |
| 469 friend class CanonicalName; | 463 friend class CanonicalName; |
| 470 | 464 |
| 471 DISALLOW_COPY_AND_ASSIGN(LinkedNode); | 465 DISALLOW_COPY_AND_ASSIGN(LinkedNode); |
| 472 }; | 466 }; |
| 473 | 467 |
| 474 | 468 |
| 475 class Library : public LinkedNode { | 469 class Library : public LinkedNode { |
| 476 public: | 470 public: |
| 477 Library* ReadFrom(Reader* reader); | 471 Library* ReadFrom(Reader* reader); |
| 478 | 472 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 class Class : public LinkedNode { | 526 class Class : public LinkedNode { |
| 533 public: | 527 public: |
| 534 Class* ReadFrom(Reader* reader); | 528 Class* ReadFrom(Reader* reader); |
| 535 | 529 |
| 536 virtual ~Class(); | 530 virtual ~Class(); |
| 537 | 531 |
| 538 DEFINE_CASTING_OPERATIONS(Class); | 532 DEFINE_CASTING_OPERATIONS(Class); |
| 539 | 533 |
| 540 virtual void AcceptTreeVisitor(TreeVisitor* visitor); | 534 virtual void AcceptTreeVisitor(TreeVisitor* visitor); |
| 541 virtual void AcceptClassVisitor(ClassVisitor* visitor) = 0; | 535 virtual void AcceptClassVisitor(ClassVisitor* visitor) = 0; |
| 536 virtual void AcceptReferenceVisitor(ClassReferenceVisitor* visitor) = 0; |
| 542 | 537 |
| 543 Library* parent() { return parent_; } | 538 Library* parent() { return parent_; } |
| 544 String* name() { return name_; } | 539 String* name() { return name_; } |
| 545 intptr_t source_uri_index() { return source_uri_index_; } | 540 intptr_t source_uri_index() { return source_uri_index_; } |
| 546 bool is_abstract() { return is_abstract_; } | 541 bool is_abstract() { return is_abstract_; } |
| 547 List<Expression>& annotations() { return annotations_; } | 542 List<Expression>& annotations() { return annotations_; } |
| 548 TokenPosition position() { return position_; } | 543 TokenPosition position() { return position_; } |
| 549 | 544 |
| 550 virtual List<TypeParameter>& type_parameters() = 0; | 545 virtual List<TypeParameter>& type_parameters() = 0; |
| 551 virtual List<InterfaceType>& implemented_classes() = 0; | 546 virtual List<InterfaceType>& implemented_classes() = 0; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 573 | 568 |
| 574 class NormalClass : public Class { | 569 class NormalClass : public Class { |
| 575 public: | 570 public: |
| 576 NormalClass* ReadFrom(Reader* reader); | 571 NormalClass* ReadFrom(Reader* reader); |
| 577 | 572 |
| 578 virtual ~NormalClass(); | 573 virtual ~NormalClass(); |
| 579 | 574 |
| 580 DEFINE_CASTING_OPERATIONS(NormalClass); | 575 DEFINE_CASTING_OPERATIONS(NormalClass); |
| 581 | 576 |
| 582 virtual void AcceptClassVisitor(ClassVisitor* visitor); | 577 virtual void AcceptClassVisitor(ClassVisitor* visitor); |
| 578 virtual void AcceptReferenceVisitor(ClassReferenceVisitor* visitor); |
| 583 virtual void VisitChildren(Visitor* visitor); | 579 virtual void VisitChildren(Visitor* visitor); |
| 584 | 580 |
| 585 virtual TypeParameterList& type_parameters() { return type_parameters_; } | 581 virtual TypeParameterList& type_parameters() { return type_parameters_; } |
| 586 InterfaceType* super_class() { return super_class_; } | 582 InterfaceType* super_class() { return super_class_; } |
| 587 virtual List<InterfaceType>& implemented_classes() { | 583 virtual List<InterfaceType>& implemented_classes() { |
| 588 return implemented_classes_; | 584 return implemented_classes_; |
| 589 } | 585 } |
| 590 virtual List<Constructor>& constructors() { return constructors_; } | 586 virtual List<Constructor>& constructors() { return constructors_; } |
| 591 virtual List<Procedure>& procedures() { return procedures_; } | 587 virtual List<Procedure>& procedures() { return procedures_; } |
| 592 virtual List<Field>& fields() { return fields_; } | 588 virtual List<Field>& fields() { return fields_; } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 610 | 606 |
| 611 class MixinClass : public Class { | 607 class MixinClass : public Class { |
| 612 public: | 608 public: |
| 613 MixinClass* ReadFrom(Reader* reader); | 609 MixinClass* ReadFrom(Reader* reader); |
| 614 | 610 |
| 615 virtual ~MixinClass(); | 611 virtual ~MixinClass(); |
| 616 | 612 |
| 617 DEFINE_CASTING_OPERATIONS(MixinClass); | 613 DEFINE_CASTING_OPERATIONS(MixinClass); |
| 618 | 614 |
| 619 virtual void AcceptClassVisitor(ClassVisitor* visitor); | 615 virtual void AcceptClassVisitor(ClassVisitor* visitor); |
| 616 virtual void AcceptReferenceVisitor(ClassReferenceVisitor* visitor); |
| 620 virtual void VisitChildren(Visitor* visitor); | 617 virtual void VisitChildren(Visitor* visitor); |
| 621 | 618 |
| 622 virtual TypeParameterList& type_parameters() { return type_parameters_; } | 619 virtual TypeParameterList& type_parameters() { return type_parameters_; } |
| 623 InterfaceType* first() { return first_; } | 620 InterfaceType* first() { return first_; } |
| 624 InterfaceType* second() { return second_; } | 621 InterfaceType* second() { return second_; } |
| 625 virtual List<InterfaceType>& implemented_classes() { | 622 virtual List<InterfaceType>& implemented_classes() { |
| 626 return implemented_classes_; | 623 return implemented_classes_; |
| 627 } | 624 } |
| 628 virtual List<Constructor>& constructors() { return constructors_; } | 625 virtual List<Constructor>& constructors() { return constructors_; } |
| 629 virtual List<Field>& fields() { return fields_; } | 626 virtual List<Field>& fields() { return fields_; } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 650 | 647 |
| 651 | 648 |
| 652 class Member : public LinkedNode { | 649 class Member : public LinkedNode { |
| 653 public: | 650 public: |
| 654 virtual ~Member(); | 651 virtual ~Member(); |
| 655 | 652 |
| 656 DEFINE_CASTING_OPERATIONS(Member); | 653 DEFINE_CASTING_OPERATIONS(Member); |
| 657 | 654 |
| 658 virtual void AcceptTreeVisitor(TreeVisitor* visitor); | 655 virtual void AcceptTreeVisitor(TreeVisitor* visitor); |
| 659 virtual void AcceptMemberVisitor(MemberVisitor* visitor) = 0; | 656 virtual void AcceptMemberVisitor(MemberVisitor* visitor) = 0; |
| 657 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor) = 0; |
| 660 | 658 |
| 661 TreeNode* parent() { return parent_; } | 659 TreeNode* parent() { return parent_; } |
| 662 Name* name() { return name_; } | 660 Name* name() { return name_; } |
| 663 List<Expression>& annotations() { return annotations_; } | 661 List<Expression>& annotations() { return annotations_; } |
| 664 TokenPosition position() { return position_; } | 662 TokenPosition position() { return position_; } |
| 665 TokenPosition end_position() { return end_position_; } | 663 TokenPosition end_position() { return end_position_; } |
| 666 | 664 |
| 667 protected: | 665 protected: |
| 668 Member() | 666 Member() |
| 669 : position_(TokenPosition::kNoSource), | 667 : position_(TokenPosition::kNoSource), |
| (...skipping 21 matching lines...) Expand all Loading... |
| 691 kFlagStatic = 1 << 2, | 689 kFlagStatic = 1 << 2, |
| 692 }; | 690 }; |
| 693 | 691 |
| 694 Field* ReadFrom(Reader* reader); | 692 Field* ReadFrom(Reader* reader); |
| 695 | 693 |
| 696 virtual ~Field(); | 694 virtual ~Field(); |
| 697 | 695 |
| 698 DEFINE_CASTING_OPERATIONS(Field); | 696 DEFINE_CASTING_OPERATIONS(Field); |
| 699 | 697 |
| 700 virtual void AcceptMemberVisitor(MemberVisitor* visitor); | 698 virtual void AcceptMemberVisitor(MemberVisitor* visitor); |
| 699 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor); |
| 701 virtual void VisitChildren(Visitor* visitor); | 700 virtual void VisitChildren(Visitor* visitor); |
| 702 | 701 |
| 703 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } | 702 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } |
| 704 bool IsFinal() { return (flags_ & kFlagFinal) == kFlagFinal; } | 703 bool IsFinal() { return (flags_ & kFlagFinal) == kFlagFinal; } |
| 705 bool IsStatic() { return (flags_ & kFlagStatic) == kFlagStatic; } | 704 bool IsStatic() { return (flags_ & kFlagStatic) == kFlagStatic; } |
| 706 intptr_t source_uri_index() { return source_uri_index_; } | 705 intptr_t source_uri_index() { return source_uri_index_; } |
| 707 | 706 |
| 708 DartType* type() { return type_; } | 707 DartType* type() { return type_; } |
| 709 Expression* initializer() { return initializer_; } | 708 Expression* initializer() { return initializer_; } |
| 710 | 709 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 730 kFlagExternal = 1 << 1, | 729 kFlagExternal = 1 << 1, |
| 731 }; | 730 }; |
| 732 | 731 |
| 733 Constructor* ReadFrom(Reader* reader); | 732 Constructor* ReadFrom(Reader* reader); |
| 734 | 733 |
| 735 virtual ~Constructor(); | 734 virtual ~Constructor(); |
| 736 | 735 |
| 737 DEFINE_CASTING_OPERATIONS(Constructor); | 736 DEFINE_CASTING_OPERATIONS(Constructor); |
| 738 | 737 |
| 739 virtual void AcceptMemberVisitor(MemberVisitor* visitor); | 738 virtual void AcceptMemberVisitor(MemberVisitor* visitor); |
| 739 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor); |
| 740 virtual void VisitChildren(Visitor* visitor); | 740 virtual void VisitChildren(Visitor* visitor); |
| 741 | 741 |
| 742 bool IsExternal() { return (flags_ & kFlagExternal) == kFlagExternal; } | 742 bool IsExternal() { return (flags_ & kFlagExternal) == kFlagExternal; } |
| 743 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } | 743 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } |
| 744 | 744 |
| 745 FunctionNode* function() { return function_; } | 745 FunctionNode* function() { return function_; } |
| 746 List<Initializer>& initializers() { return initializers_; } | 746 List<Initializer>& initializers() { return initializers_; } |
| 747 | 747 |
| 748 private: | 748 private: |
| 749 template <typename T> | 749 template <typename T> |
| (...skipping 29 matching lines...) Expand all Loading... |
| 779 kIncompleteProcedure = 255 | 779 kIncompleteProcedure = 255 |
| 780 }; | 780 }; |
| 781 | 781 |
| 782 Procedure* ReadFrom(Reader* reader); | 782 Procedure* ReadFrom(Reader* reader); |
| 783 | 783 |
| 784 virtual ~Procedure(); | 784 virtual ~Procedure(); |
| 785 | 785 |
| 786 DEFINE_CASTING_OPERATIONS(Procedure); | 786 DEFINE_CASTING_OPERATIONS(Procedure); |
| 787 | 787 |
| 788 virtual void AcceptMemberVisitor(MemberVisitor* visitor); | 788 virtual void AcceptMemberVisitor(MemberVisitor* visitor); |
| 789 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor); |
| 789 virtual void VisitChildren(Visitor* visitor); | 790 virtual void VisitChildren(Visitor* visitor); |
| 790 | 791 |
| 791 ProcedureKind kind() { return kind_; } | 792 ProcedureKind kind() { return kind_; } |
| 792 FunctionNode* function() { return function_; } | 793 FunctionNode* function() { return function_; } |
| 793 | 794 |
| 794 bool IsStatic() { return (flags_ & kFlagStatic) == kFlagStatic; } | 795 bool IsStatic() { return (flags_ & kFlagStatic) == kFlagStatic; } |
| 795 bool IsAbstract() { return (flags_ & kFlagAbstract) == kFlagAbstract; } | 796 bool IsAbstract() { return (flags_ & kFlagAbstract) == kFlagAbstract; } |
| 796 bool IsExternal() { return (flags_ & kFlagExternal) == kFlagExternal; } | 797 bool IsExternal() { return (flags_ & kFlagExternal) == kFlagExternal; } |
| 797 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } | 798 bool IsConst() { return (flags_ & kFlagConst) == kFlagConst; } |
| 798 intptr_t source_uri_index() { return source_uri_index_; } | 799 intptr_t source_uri_index() { return source_uri_index_; } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 852 public: | 853 public: |
| 853 static FieldInitializer* ReadFromImpl(Reader* reader); | 854 static FieldInitializer* ReadFromImpl(Reader* reader); |
| 854 | 855 |
| 855 virtual ~FieldInitializer(); | 856 virtual ~FieldInitializer(); |
| 856 | 857 |
| 857 DEFINE_CASTING_OPERATIONS(FieldInitializer); | 858 DEFINE_CASTING_OPERATIONS(FieldInitializer); |
| 858 | 859 |
| 859 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); | 860 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); |
| 860 virtual void VisitChildren(Visitor* visitor); | 861 virtual void VisitChildren(Visitor* visitor); |
| 861 | 862 |
| 862 CanonicalName* field() { return field_reference_; } | 863 Field* field() { return field_reference_->AsField(); } |
| 863 Expression* value() { return value_; } | 864 Expression* value() { return value_; } |
| 864 | 865 |
| 865 private: | 866 private: |
| 866 FieldInitializer() {} | 867 FieldInitializer() {} |
| 867 | 868 |
| 868 Ref<CanonicalName> field_reference_; // Field. | 869 Ref<CanonicalName> field_reference_; |
| 869 Child<Expression> value_; | 870 Child<Expression> value_; |
| 870 | 871 |
| 871 DISALLOW_COPY_AND_ASSIGN(FieldInitializer); | 872 DISALLOW_COPY_AND_ASSIGN(FieldInitializer); |
| 872 }; | 873 }; |
| 873 | 874 |
| 874 | 875 |
| 875 class SuperInitializer : public Initializer { | 876 class SuperInitializer : public Initializer { |
| 876 public: | 877 public: |
| 877 static SuperInitializer* ReadFromImpl(Reader* reader); | 878 static SuperInitializer* ReadFromImpl(Reader* reader); |
| 878 | 879 |
| 879 virtual ~SuperInitializer(); | 880 virtual ~SuperInitializer(); |
| 880 | 881 |
| 881 DEFINE_CASTING_OPERATIONS(SuperInitializer); | 882 DEFINE_CASTING_OPERATIONS(SuperInitializer); |
| 882 | 883 |
| 883 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); | 884 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); |
| 884 virtual void VisitChildren(Visitor* visitor); | 885 virtual void VisitChildren(Visitor* visitor); |
| 885 | 886 |
| 886 CanonicalName* target() { return target_reference_; } | 887 Constructor* target() { return target_reference_->AsConstructor(); } |
| 887 Arguments* arguments() { return arguments_; } | 888 Arguments* arguments() { return arguments_; } |
| 888 | 889 |
| 889 private: | 890 private: |
| 890 SuperInitializer() {} | 891 SuperInitializer() {} |
| 891 | 892 |
| 892 Ref<CanonicalName> target_reference_; // Constructor. | 893 Ref<CanonicalName> target_reference_; |
| 893 Child<Arguments> arguments_; | 894 Child<Arguments> arguments_; |
| 894 | 895 |
| 895 DISALLOW_COPY_AND_ASSIGN(SuperInitializer); | 896 DISALLOW_COPY_AND_ASSIGN(SuperInitializer); |
| 896 }; | 897 }; |
| 897 | 898 |
| 898 | 899 |
| 899 class RedirectingInitializer : public Initializer { | 900 class RedirectingInitializer : public Initializer { |
| 900 public: | 901 public: |
| 901 static RedirectingInitializer* ReadFromImpl(Reader* reader); | 902 static RedirectingInitializer* ReadFromImpl(Reader* reader); |
| 902 | 903 |
| 903 virtual ~RedirectingInitializer(); | 904 virtual ~RedirectingInitializer(); |
| 904 | 905 |
| 905 DEFINE_CASTING_OPERATIONS(RedirectingInitializer); | 906 DEFINE_CASTING_OPERATIONS(RedirectingInitializer); |
| 906 | 907 |
| 907 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); | 908 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); |
| 908 virtual void VisitChildren(Visitor* visitor); | 909 virtual void VisitChildren(Visitor* visitor); |
| 909 | 910 |
| 910 CanonicalName* target() { return target_reference_; } | 911 Constructor* target() { return target_reference_->AsConstructor(); } |
| 911 Arguments* arguments() { return arguments_; } | 912 Arguments* arguments() { return arguments_; } |
| 912 | 913 |
| 913 private: | 914 private: |
| 914 RedirectingInitializer() {} | 915 RedirectingInitializer() {} |
| 915 | 916 |
| 916 Ref<CanonicalName> target_reference_; // Constructor. | 917 Ref<CanonicalName> target_reference_; |
| 917 Child<Arguments> arguments_; | 918 Child<Arguments> arguments_; |
| 918 | 919 |
| 919 DISALLOW_COPY_AND_ASSIGN(RedirectingInitializer); | 920 DISALLOW_COPY_AND_ASSIGN(RedirectingInitializer); |
| 920 }; | 921 }; |
| 921 | 922 |
| 922 | 923 |
| 923 class LocalInitializer : public Initializer { | 924 class LocalInitializer : public Initializer { |
| 924 public: | 925 public: |
| 925 static LocalInitializer* ReadFromImpl(Reader* reader); | 926 static LocalInitializer* ReadFromImpl(Reader* reader); |
| 926 | 927 |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1139 static DirectPropertyGet* ReadFrom(Reader* reader); | 1140 static DirectPropertyGet* ReadFrom(Reader* reader); |
| 1140 | 1141 |
| 1141 virtual ~DirectPropertyGet(); | 1142 virtual ~DirectPropertyGet(); |
| 1142 | 1143 |
| 1143 DEFINE_CASTING_OPERATIONS(DirectPropertyGet); | 1144 DEFINE_CASTING_OPERATIONS(DirectPropertyGet); |
| 1144 | 1145 |
| 1145 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1146 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1146 virtual void VisitChildren(Visitor* visitor); | 1147 virtual void VisitChildren(Visitor* visitor); |
| 1147 | 1148 |
| 1148 Expression* receiver() { return receiver_; } | 1149 Expression* receiver() { return receiver_; } |
| 1149 CanonicalName* target() { return target_reference_; } | 1150 Member* target() { return target_reference_->AsMember(); } |
| 1150 | 1151 |
| 1151 private: | 1152 private: |
| 1152 DirectPropertyGet() {} | 1153 DirectPropertyGet() {} |
| 1153 | 1154 |
| 1154 Child<Expression> receiver_; | 1155 Child<Expression> receiver_; |
| 1155 Ref<CanonicalName> target_reference_; // Member. | 1156 Ref<CanonicalName> target_reference_; |
| 1156 | 1157 |
| 1157 DISALLOW_COPY_AND_ASSIGN(DirectPropertyGet); | 1158 DISALLOW_COPY_AND_ASSIGN(DirectPropertyGet); |
| 1158 }; | 1159 }; |
| 1159 | 1160 |
| 1160 | 1161 |
| 1161 class DirectPropertySet : public Expression { | 1162 class DirectPropertySet : public Expression { |
| 1162 public: | 1163 public: |
| 1163 static DirectPropertySet* ReadFrom(Reader* reader); | 1164 static DirectPropertySet* ReadFrom(Reader* reader); |
| 1164 | 1165 |
| 1165 virtual ~DirectPropertySet(); | 1166 virtual ~DirectPropertySet(); |
| 1166 | 1167 |
| 1167 DEFINE_CASTING_OPERATIONS(DirectPropertySet); | 1168 DEFINE_CASTING_OPERATIONS(DirectPropertySet); |
| 1168 | 1169 |
| 1169 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1170 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1170 virtual void VisitChildren(Visitor* visitor); | 1171 virtual void VisitChildren(Visitor* visitor); |
| 1171 | 1172 |
| 1172 Expression* receiver() { return receiver_; } | 1173 Expression* receiver() { return receiver_; } |
| 1173 CanonicalName* target() { return target_reference_; } | 1174 Member* target() { return target_reference_->AsMember(); } |
| 1174 Expression* value() { return value_; } | 1175 Expression* value() { return value_; } |
| 1175 | 1176 |
| 1176 private: | 1177 private: |
| 1177 DirectPropertySet() {} | 1178 DirectPropertySet() {} |
| 1178 | 1179 |
| 1179 Child<Expression> receiver_; | 1180 Child<Expression> receiver_; |
| 1180 Ref<CanonicalName> target_reference_; // Member. | 1181 Ref<CanonicalName> target_reference_; |
| 1181 Child<Expression> value_; | 1182 Child<Expression> value_; |
| 1182 | 1183 |
| 1183 DISALLOW_COPY_AND_ASSIGN(DirectPropertySet); | 1184 DISALLOW_COPY_AND_ASSIGN(DirectPropertySet); |
| 1184 }; | 1185 }; |
| 1185 | 1186 |
| 1186 | 1187 |
| 1187 class StaticGet : public Expression { | 1188 class StaticGet : public Expression { |
| 1188 public: | 1189 public: |
| 1189 static StaticGet* ReadFrom(Reader* reader); | 1190 static StaticGet* ReadFrom(Reader* reader); |
| 1190 | 1191 |
| 1191 virtual ~StaticGet(); | 1192 virtual ~StaticGet(); |
| 1192 | 1193 |
| 1193 DEFINE_CASTING_OPERATIONS(StaticGet); | 1194 DEFINE_CASTING_OPERATIONS(StaticGet); |
| 1194 | 1195 |
| 1195 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1196 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1196 virtual void VisitChildren(Visitor* visitor); | 1197 virtual void VisitChildren(Visitor* visitor); |
| 1197 | 1198 |
| 1198 CanonicalName* target() { return target_reference_; } | 1199 Member* target() { return target_reference_->AsMember(); } |
| 1199 | 1200 |
| 1200 private: | 1201 private: |
| 1201 StaticGet() {} | 1202 StaticGet() {} |
| 1202 | 1203 |
| 1203 Ref<CanonicalName> target_reference_; // Member. | 1204 Ref<CanonicalName> target_reference_; |
| 1204 | 1205 |
| 1205 DISALLOW_COPY_AND_ASSIGN(StaticGet); | 1206 DISALLOW_COPY_AND_ASSIGN(StaticGet); |
| 1206 }; | 1207 }; |
| 1207 | 1208 |
| 1208 | 1209 |
| 1209 class StaticSet : public Expression { | 1210 class StaticSet : public Expression { |
| 1210 public: | 1211 public: |
| 1211 static StaticSet* ReadFrom(Reader* reader); | 1212 static StaticSet* ReadFrom(Reader* reader); |
| 1212 | 1213 |
| 1213 virtual ~StaticSet(); | 1214 virtual ~StaticSet(); |
| 1214 | 1215 |
| 1215 DEFINE_CASTING_OPERATIONS(StaticSet); | 1216 DEFINE_CASTING_OPERATIONS(StaticSet); |
| 1216 | 1217 |
| 1217 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1218 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1218 virtual void VisitChildren(Visitor* visitor); | 1219 virtual void VisitChildren(Visitor* visitor); |
| 1219 | 1220 |
| 1220 CanonicalName* target() { return target_reference_; } | 1221 Member* target() { return target_reference_->AsMember(); } |
| 1221 Expression* expression() { return expression_; } | 1222 Expression* expression() { return expression_; } |
| 1222 | 1223 |
| 1223 private: | 1224 private: |
| 1224 StaticSet() {} | 1225 StaticSet() {} |
| 1225 | 1226 |
| 1226 Ref<CanonicalName> target_reference_; // Member. | 1227 Ref<CanonicalName> target_reference_; |
| 1227 Child<Expression> expression_; | 1228 Child<Expression> expression_; |
| 1228 | 1229 |
| 1229 DISALLOW_COPY_AND_ASSIGN(StaticSet); | 1230 DISALLOW_COPY_AND_ASSIGN(StaticSet); |
| 1230 }; | 1231 }; |
| 1231 | 1232 |
| 1232 | 1233 |
| 1233 class Arguments : public TreeNode { | 1234 class Arguments : public TreeNode { |
| 1234 public: | 1235 public: |
| 1235 static Arguments* ReadFrom(Reader* reader); | 1236 static Arguments* ReadFrom(Reader* reader); |
| 1236 | 1237 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1316 static DirectMethodInvocation* ReadFrom(Reader* reader); | 1317 static DirectMethodInvocation* ReadFrom(Reader* reader); |
| 1317 | 1318 |
| 1318 virtual ~DirectMethodInvocation(); | 1319 virtual ~DirectMethodInvocation(); |
| 1319 | 1320 |
| 1320 DEFINE_CASTING_OPERATIONS(DirectMethodInvocation); | 1321 DEFINE_CASTING_OPERATIONS(DirectMethodInvocation); |
| 1321 | 1322 |
| 1322 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1323 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1323 virtual void VisitChildren(Visitor* visitor); | 1324 virtual void VisitChildren(Visitor* visitor); |
| 1324 | 1325 |
| 1325 Expression* receiver() { return receiver_; } | 1326 Expression* receiver() { return receiver_; } |
| 1326 CanonicalName* target() { return target_reference_; } | 1327 Procedure* target() { return target_reference_->AsProcedure(); } |
| 1327 Arguments* arguments() { return arguments_; } | 1328 Arguments* arguments() { return arguments_; } |
| 1328 | 1329 |
| 1329 private: | 1330 private: |
| 1330 DirectMethodInvocation() {} | 1331 DirectMethodInvocation() {} |
| 1331 | 1332 |
| 1332 Child<Expression> receiver_; | 1333 Child<Expression> receiver_; |
| 1333 Ref<CanonicalName> target_reference_; // Procedure. | 1334 Ref<CanonicalName> target_reference_; |
| 1334 Child<Arguments> arguments_; | 1335 Child<Arguments> arguments_; |
| 1335 | 1336 |
| 1336 DISALLOW_COPY_AND_ASSIGN(DirectMethodInvocation); | 1337 DISALLOW_COPY_AND_ASSIGN(DirectMethodInvocation); |
| 1337 }; | 1338 }; |
| 1338 | 1339 |
| 1339 | 1340 |
| 1340 class StaticInvocation : public Expression { | 1341 class StaticInvocation : public Expression { |
| 1341 public: | 1342 public: |
| 1342 static StaticInvocation* ReadFrom(Reader* reader, bool is_const); | 1343 static StaticInvocation* ReadFrom(Reader* reader, bool is_const); |
| 1343 ~StaticInvocation(); | 1344 ~StaticInvocation(); |
| 1344 | 1345 |
| 1345 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1346 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1346 virtual void VisitChildren(Visitor* visitor); | 1347 virtual void VisitChildren(Visitor* visitor); |
| 1347 | 1348 |
| 1348 CanonicalName* procedure() { return procedure_reference_; } | 1349 Procedure* procedure() { return procedure_reference_->AsProcedure(); } |
| 1349 Arguments* arguments() { return arguments_; } | 1350 Arguments* arguments() { return arguments_; } |
| 1350 bool is_const() { return is_const_; } | 1351 bool is_const() { return is_const_; } |
| 1351 | 1352 |
| 1352 private: | 1353 private: |
| 1353 StaticInvocation() {} | 1354 StaticInvocation() {} |
| 1354 | 1355 |
| 1355 Ref<CanonicalName> procedure_reference_; // Procedure. | 1356 Ref<CanonicalName> procedure_reference_; |
| 1356 Child<Arguments> arguments_; | 1357 Child<Arguments> arguments_; |
| 1357 bool is_const_; | 1358 bool is_const_; |
| 1358 | 1359 |
| 1359 DISALLOW_COPY_AND_ASSIGN(StaticInvocation); | 1360 DISALLOW_COPY_AND_ASSIGN(StaticInvocation); |
| 1360 }; | 1361 }; |
| 1361 | 1362 |
| 1362 | 1363 |
| 1363 class ConstructorInvocation : public Expression { | 1364 class ConstructorInvocation : public Expression { |
| 1364 public: | 1365 public: |
| 1365 static ConstructorInvocation* ReadFrom(Reader* reader, bool is_const); | 1366 static ConstructorInvocation* ReadFrom(Reader* reader, bool is_const); |
| 1366 | 1367 |
| 1367 virtual ~ConstructorInvocation(); | 1368 virtual ~ConstructorInvocation(); |
| 1368 | 1369 |
| 1369 DEFINE_CASTING_OPERATIONS(ConstructorInvocation); | 1370 DEFINE_CASTING_OPERATIONS(ConstructorInvocation); |
| 1370 | 1371 |
| 1371 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); | 1372 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); |
| 1372 virtual void VisitChildren(Visitor* visitor); | 1373 virtual void VisitChildren(Visitor* visitor); |
| 1373 | 1374 |
| 1374 bool is_const() { return is_const_; } | 1375 bool is_const() { return is_const_; } |
| 1375 CanonicalName* target() { return target_reference_; } | 1376 Constructor* target() { return target_reference_->AsConstructor(); } |
| 1376 Arguments* arguments() { return arguments_; } | 1377 Arguments* arguments() { return arguments_; } |
| 1377 | 1378 |
| 1378 private: | 1379 private: |
| 1379 ConstructorInvocation() {} | 1380 ConstructorInvocation() {} |
| 1380 | 1381 |
| 1381 bool is_const_; | 1382 bool is_const_; |
| 1382 Ref<CanonicalName> target_reference_; // Constructor. | 1383 Ref<CanonicalName> target_reference_; |
| 1383 Child<Arguments> arguments_; | 1384 Child<Arguments> arguments_; |
| 1384 | 1385 |
| 1385 DISALLOW_COPY_AND_ASSIGN(ConstructorInvocation); | 1386 DISALLOW_COPY_AND_ASSIGN(ConstructorInvocation); |
| 1386 }; | 1387 }; |
| 1387 | 1388 |
| 1388 | 1389 |
| 1389 class Not : public Expression { | 1390 class Not : public Expression { |
| 1390 public: | 1391 public: |
| 1391 static Not* ReadFrom(Reader* reader); | 1392 static Not* ReadFrom(Reader* reader); |
| 1392 | 1393 |
| (...skipping 1128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2521 static Name* ReadFrom(Reader* reader); | 2522 static Name* ReadFrom(Reader* reader); |
| 2522 | 2523 |
| 2523 virtual ~Name(); | 2524 virtual ~Name(); |
| 2524 | 2525 |
| 2525 DEFINE_CASTING_OPERATIONS(Name); | 2526 DEFINE_CASTING_OPERATIONS(Name); |
| 2526 | 2527 |
| 2527 virtual void AcceptVisitor(Visitor* visitor); | 2528 virtual void AcceptVisitor(Visitor* visitor); |
| 2528 virtual void VisitChildren(Visitor* visitor); | 2529 virtual void VisitChildren(Visitor* visitor); |
| 2529 | 2530 |
| 2530 String* string() { return string_; } | 2531 String* string() { return string_; } |
| 2531 CanonicalName* library() { return library_reference_; } | 2532 Library* library() { |
| 2533 if (library_reference_ == NULL) return NULL; |
| 2534 return library_reference_->AsLibrary(); |
| 2535 } |
| 2536 CanonicalName* library_reference() { return library_reference_; } |
| 2532 | 2537 |
| 2533 private: | 2538 private: |
| 2534 Name(String* string, CanonicalName* library_reference) | 2539 Name(String* string, CanonicalName* library_reference) |
| 2535 : string_(string), library_reference_(library_reference) {} // NOLINT | 2540 : string_(string), library_reference_(library_reference) {} // NOLINT |
| 2536 | 2541 |
| 2537 Ref<String> string_; | 2542 Ref<String> string_; |
| 2538 Ref<CanonicalName> library_reference_; // Library. | 2543 Ref<CanonicalName> library_reference_; |
| 2539 | 2544 |
| 2540 DISALLOW_COPY_AND_ASSIGN(Name); | 2545 DISALLOW_COPY_AND_ASSIGN(Name); |
| 2541 }; | 2546 }; |
| 2542 | 2547 |
| 2543 | 2548 |
| 2544 class DartType : public Node { | 2549 class DartType : public Node { |
| 2545 public: | 2550 public: |
| 2546 static DartType* ReadFrom(Reader* reader); | 2551 static DartType* ReadFrom(Reader* reader); |
| 2547 | 2552 |
| 2548 virtual ~DartType(); | 2553 virtual ~DartType(); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2621 | 2626 |
| 2622 explicit InterfaceType(CanonicalName* class_reference) | 2627 explicit InterfaceType(CanonicalName* class_reference) |
| 2623 : class_reference_(class_reference) {} | 2628 : class_reference_(class_reference) {} |
| 2624 virtual ~InterfaceType(); | 2629 virtual ~InterfaceType(); |
| 2625 | 2630 |
| 2626 DEFINE_CASTING_OPERATIONS(InterfaceType); | 2631 DEFINE_CASTING_OPERATIONS(InterfaceType); |
| 2627 | 2632 |
| 2628 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor); | 2633 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor); |
| 2629 virtual void VisitChildren(Visitor* visitor); | 2634 virtual void VisitChildren(Visitor* visitor); |
| 2630 | 2635 |
| 2631 CanonicalName* klass() { return class_reference_; } | 2636 Class* klass() { return class_reference_->AsClass(); } |
| 2637 CanonicalName* class_reference() { return class_reference_; } |
| 2632 List<DartType>& type_arguments() { return type_arguments_; } | 2638 List<DartType>& type_arguments() { return type_arguments_; } |
| 2633 | 2639 |
| 2634 private: | 2640 private: |
| 2635 InterfaceType() {} | 2641 InterfaceType() {} |
| 2636 | 2642 |
| 2637 Ref<CanonicalName> class_reference_; // Class. | 2643 Ref<CanonicalName> class_reference_; |
| 2638 List<DartType> type_arguments_; | 2644 List<DartType> type_arguments_; |
| 2639 | 2645 |
| 2640 DISALLOW_COPY_AND_ASSIGN(InterfaceType); | 2646 DISALLOW_COPY_AND_ASSIGN(InterfaceType); |
| 2641 }; | 2647 }; |
| 2642 | 2648 |
| 2643 | 2649 |
| 2644 class FunctionType : public DartType { | 2650 class FunctionType : public DartType { |
| 2645 public: | 2651 public: |
| 2646 static FunctionType* ReadFrom(Reader* reader); | 2652 static FunctionType* ReadFrom(Reader* reader); |
| 2647 static FunctionType* ReadFrom(Reader* reader, bool _without_type_arguments_); | 2653 static FunctionType* ReadFrom(Reader* reader, bool _without_type_arguments_); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2732 | 2738 |
| 2733 DEFINE_CASTING_OPERATIONS(Program); | 2739 DEFINE_CASTING_OPERATIONS(Program); |
| 2734 | 2740 |
| 2735 virtual void AcceptTreeVisitor(TreeVisitor* visitor); | 2741 virtual void AcceptTreeVisitor(TreeVisitor* visitor); |
| 2736 virtual void VisitChildren(Visitor* visitor); | 2742 virtual void VisitChildren(Visitor* visitor); |
| 2737 | 2743 |
| 2738 StringTable& string_table() { return string_table_; } | 2744 StringTable& string_table() { return string_table_; } |
| 2739 StringTable& source_uri_table() { return source_uri_table_; } | 2745 StringTable& source_uri_table() { return source_uri_table_; } |
| 2740 SourceTable& source_table() { return source_table_; } | 2746 SourceTable& source_table() { return source_table_; } |
| 2741 List<Library>& libraries() { return libraries_; } | 2747 List<Library>& libraries() { return libraries_; } |
| 2742 CanonicalName* main_method() { return main_method_reference_; } | 2748 Procedure* main_method() { |
| 2749 if (main_method_reference_ == NULL) return NULL; |
| 2750 return main_method_reference_->AsProcedure(); |
| 2751 } |
| 2743 CanonicalName* canonical_name_root() { return canonical_name_root_; } | 2752 CanonicalName* canonical_name_root() { return canonical_name_root_; } |
| 2744 MallocGrowableArray<MallocGrowableArray<intptr_t>*> valid_token_positions; | 2753 MallocGrowableArray<MallocGrowableArray<intptr_t>*> valid_token_positions; |
| 2745 MallocGrowableArray<MallocGrowableArray<intptr_t>*> yield_token_positions; | 2754 MallocGrowableArray<MallocGrowableArray<intptr_t>*> yield_token_positions; |
| 2746 | 2755 |
| 2747 private: | 2756 private: |
| 2748 Program() {} | 2757 Program() {} |
| 2749 | 2758 |
| 2750 Child<CanonicalName> canonical_name_root_; | 2759 Child<CanonicalName> canonical_name_root_; |
| 2751 List<Library> libraries_; | 2760 List<Library> libraries_; |
| 2752 Ref<CanonicalName> main_method_reference_; // Procedure. | 2761 Ref<CanonicalName> main_method_reference_; |
| 2753 StringTable string_table_; | 2762 StringTable string_table_; |
| 2754 StringTable source_uri_table_; | 2763 StringTable source_uri_table_; |
| 2755 SourceTable source_table_; | 2764 SourceTable source_table_; |
| 2756 | 2765 |
| 2757 DISALLOW_COPY_AND_ASSIGN(Program); | 2766 DISALLOW_COPY_AND_ASSIGN(Program); |
| 2758 }; | 2767 }; |
| 2759 | 2768 |
| 2760 | 2769 |
| 2761 class Reference : public AllStatic { | 2770 class Reference : public AllStatic { |
| 2762 public: | 2771 public: |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2997 } | 3006 } |
| 2998 virtual void VisitFunctionType(FunctionType* node) { | 3007 virtual void VisitFunctionType(FunctionType* node) { |
| 2999 VisitDefaultDartType(node); | 3008 VisitDefaultDartType(node); |
| 3000 } | 3009 } |
| 3001 virtual void VisitTypeParameterType(TypeParameterType* node) { | 3010 virtual void VisitTypeParameterType(TypeParameterType* node) { |
| 3002 VisitDefaultDartType(node); | 3011 VisitDefaultDartType(node); |
| 3003 } | 3012 } |
| 3004 }; | 3013 }; |
| 3005 | 3014 |
| 3006 | 3015 |
| 3016 class ClassReferenceVisitor { |
| 3017 public: |
| 3018 virtual ~ClassReferenceVisitor() {} |
| 3019 |
| 3020 virtual void VisitDefaultClassReference(Class* node) = 0; |
| 3021 virtual void VisitNormalClassReference(NormalClass* node) { |
| 3022 VisitDefaultClassReference(node); |
| 3023 } |
| 3024 virtual void VisitMixinClassReference(MixinClass* node) { |
| 3025 VisitDefaultClassReference(node); |
| 3026 } |
| 3027 }; |
| 3028 |
| 3029 |
| 3030 class MemberReferenceVisitor { |
| 3031 public: |
| 3032 virtual ~MemberReferenceVisitor() {} |
| 3033 |
| 3034 virtual void VisitDefaultMemberReference(Member* node) = 0; |
| 3035 virtual void VisitFieldReference(Field* node) { |
| 3036 VisitDefaultMemberReference(node); |
| 3037 } |
| 3038 virtual void VisitConstructorReference(Constructor* node) { |
| 3039 VisitDefaultMemberReference(node); |
| 3040 } |
| 3041 virtual void VisitProcedureReference(Procedure* node) { |
| 3042 VisitDefaultMemberReference(node); |
| 3043 } |
| 3044 }; |
| 3045 |
| 3046 |
| 3007 class TreeVisitor : public ExpressionVisitor, | 3047 class TreeVisitor : public ExpressionVisitor, |
| 3008 public StatementVisitor, | 3048 public StatementVisitor, |
| 3009 public MemberVisitor, | 3049 public MemberVisitor, |
| 3010 public ClassVisitor, | 3050 public ClassVisitor, |
| 3011 public InitializerVisitor { | 3051 public InitializerVisitor { |
| 3012 public: | 3052 public: |
| 3013 virtual ~TreeVisitor() {} | 3053 virtual ~TreeVisitor() {} |
| 3014 | 3054 |
| 3015 virtual void VisitDefaultTreeNode(TreeNode* node) = 0; | 3055 virtual void VisitDefaultTreeNode(TreeNode* node) = 0; |
| 3016 virtual void VisitDefaultStatement(Statement* node) { | 3056 virtual void VisitDefaultStatement(Statement* node) { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 3036 virtual void VisitNamedExpression(NamedExpression* node) { | 3076 virtual void VisitNamedExpression(NamedExpression* node) { |
| 3037 VisitDefaultTreeNode(node); | 3077 VisitDefaultTreeNode(node); |
| 3038 } | 3078 } |
| 3039 virtual void VisitSwitchCase(SwitchCase* node) { VisitDefaultTreeNode(node); } | 3079 virtual void VisitSwitchCase(SwitchCase* node) { VisitDefaultTreeNode(node); } |
| 3040 virtual void VisitCatch(Catch* node) { VisitDefaultTreeNode(node); } | 3080 virtual void VisitCatch(Catch* node) { VisitDefaultTreeNode(node); } |
| 3041 virtual void VisitMapEntry(MapEntry* node) { VisitDefaultTreeNode(node); } | 3081 virtual void VisitMapEntry(MapEntry* node) { VisitDefaultTreeNode(node); } |
| 3042 virtual void VisitProgram(Program* node) { VisitDefaultTreeNode(node); } | 3082 virtual void VisitProgram(Program* node) { VisitDefaultTreeNode(node); } |
| 3043 }; | 3083 }; |
| 3044 | 3084 |
| 3045 | 3085 |
| 3046 class Visitor : public TreeVisitor, public DartTypeVisitor { | 3086 class Visitor : public TreeVisitor, |
| 3087 public DartTypeVisitor, |
| 3088 public ClassReferenceVisitor, |
| 3089 public MemberReferenceVisitor { |
| 3047 public: | 3090 public: |
| 3048 virtual ~Visitor() {} | 3091 virtual ~Visitor() {} |
| 3049 | 3092 |
| 3050 virtual void VisitDefaultNode(Node* node) = 0; | 3093 virtual void VisitDefaultNode(Node* node) = 0; |
| 3051 virtual void VisitDefaultTreeNode(TreeNode* node) { VisitDefaultNode(node); } | 3094 virtual void VisitDefaultTreeNode(TreeNode* node) { VisitDefaultNode(node); } |
| 3052 virtual void VisitDefaultDartType(DartType* node) { VisitDefaultNode(node); } | 3095 virtual void VisitDefaultDartType(DartType* node) { VisitDefaultNode(node); } |
| 3053 virtual void VisitName(Name* node) { VisitDefaultNode(node); } | 3096 virtual void VisitName(Name* node) { VisitDefaultNode(node); } |
| 3054 virtual void VisitDefaultClassReference(Class* node) { | 3097 virtual void VisitDefaultClassReference(Class* node) { |
| 3055 VisitDefaultNode(node); | 3098 VisitDefaultNode(node); |
| 3056 } | 3099 } |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3144 | 3187 |
| 3145 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, | 3188 kernel::Program* ReadPrecompiledKernelFromBuffer(const uint8_t* buffer, |
| 3146 intptr_t buffer_length); | 3189 intptr_t buffer_length); |
| 3147 | 3190 |
| 3148 | 3191 |
| 3149 | 3192 |
| 3150 } // namespace dart | 3193 } // namespace dart |
| 3151 | 3194 |
| 3152 #endif // !defined(DART_PRECOMPILED_RUNTIME) | 3195 #endif // !defined(DART_PRECOMPILED_RUNTIME) |
| 3153 #endif // RUNTIME_VM_KERNEL_H_ | 3196 #endif // RUNTIME_VM_KERNEL_H_ |
| OLD | NEW |