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

Side by Side Diff: runtime/vm/kernel.h

Issue 2481873005: clang-format runtime/vm (Closed)
Patch Set: Merge Created 4 years, 1 month 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
« no previous file with comments | « runtime/vm/json_test.cc ('k') | runtime/vm/kernel.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #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 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 #include "vm/globals.h" 10 #include "vm/globals.h"
11 11
12 #define KERNEL_NODES_DO(M) \ 12 #define KERNEL_NODES_DO(M) \
13 M(Name) \ 13 M(Name) \
14 M(InferredValue) \ 14 M(InferredValue) \
15 M(DartType) \ 15 M(DartType) \
16 M(InvalidType) \ 16 M(InvalidType) \
17 M(DynamicType) \ 17 M(DynamicType) \
18 M(VoidType) \ 18 M(VoidType) \
19 M(InterfaceType) \ 19 M(InterfaceType) \
20 M(FunctionType) \ 20 M(FunctionType) \
21 M(TypeParameterType) 21 M(TypeParameterType)
22 22
23 #define KERNEL_TREE_NODES_DO(M) \ 23 #define KERNEL_TREE_NODES_DO(M) \
24 M(Library) \ 24 M(Library) \
25 M(Class) \ 25 M(Class) \
26 M(NormalClass) \ 26 M(NormalClass) \
27 M(MixinClass) \ 27 M(MixinClass) \
28 M(Member) \ 28 M(Member) \
29 M(Field) \ 29 M(Field) \
30 M(Constructor) \ 30 M(Constructor) \
31 M(Procedure) \ 31 M(Procedure) \
32 M(Initializer) \ 32 M(Initializer) \
33 M(InvalidInitializer) \ 33 M(InvalidInitializer) \
34 M(FieldInitializer) \ 34 M(FieldInitializer) \
35 M(SuperInitializer) \ 35 M(SuperInitializer) \
36 M(RedirectingInitializer) \ 36 M(RedirectingInitializer) \
37 M(LocalInitializer) \ 37 M(LocalInitializer) \
38 M(FunctionNode) \ 38 M(FunctionNode) \
39 M(Expression) \ 39 M(Expression) \
40 M(InvalidExpression) \ 40 M(InvalidExpression) \
41 M(VariableGet) \ 41 M(VariableGet) \
42 M(VariableSet) \ 42 M(VariableSet) \
43 M(PropertyGet) \ 43 M(PropertyGet) \
44 M(PropertySet) \ 44 M(PropertySet) \
45 M(DirectPropertyGet) \ 45 M(DirectPropertyGet) \
46 M(DirectPropertySet) \ 46 M(DirectPropertySet) \
47 M(StaticGet) \ 47 M(StaticGet) \
48 M(StaticSet) \ 48 M(StaticSet) \
49 M(Arguments) \ 49 M(Arguments) \
50 M(NamedExpression) \ 50 M(NamedExpression) \
51 M(MethodInvocation) \ 51 M(MethodInvocation) \
52 M(DirectMethodInvocation) \ 52 M(DirectMethodInvocation) \
53 M(StaticInvocation) \ 53 M(StaticInvocation) \
54 M(ConstructorInvocation) \ 54 M(ConstructorInvocation) \
55 M(Not) \ 55 M(Not) \
56 M(LogicalExpression) \ 56 M(LogicalExpression) \
57 M(ConditionalExpression) \ 57 M(ConditionalExpression) \
58 M(StringConcatenation) \ 58 M(StringConcatenation) \
59 M(IsExpression) \ 59 M(IsExpression) \
60 M(AsExpression) \ 60 M(AsExpression) \
61 M(BasicLiteral) \ 61 M(BasicLiteral) \
62 M(StringLiteral) \ 62 M(StringLiteral) \
63 M(BigintLiteral) \ 63 M(BigintLiteral) \
64 M(IntLiteral) \ 64 M(IntLiteral) \
65 M(DoubleLiteral) \ 65 M(DoubleLiteral) \
66 M(BoolLiteral) \ 66 M(BoolLiteral) \
67 M(NullLiteral) \ 67 M(NullLiteral) \
68 M(SymbolLiteral) \ 68 M(SymbolLiteral) \
69 M(TypeLiteral) \ 69 M(TypeLiteral) \
70 M(ThisExpression) \ 70 M(ThisExpression) \
71 M(Rethrow) \ 71 M(Rethrow) \
72 M(Throw) \ 72 M(Throw) \
73 M(ListLiteral) \ 73 M(ListLiteral) \
74 M(MapLiteral) \ 74 M(MapLiteral) \
75 M(MapEntry) \ 75 M(MapEntry) \
76 M(AwaitExpression) \ 76 M(AwaitExpression) \
77 M(FunctionExpression) \ 77 M(FunctionExpression) \
78 M(Let) \ 78 M(Let) \
79 M(BlockExpression) \ 79 M(BlockExpression) \
80 M(Statement) \ 80 M(Statement) \
81 M(InvalidStatement) \ 81 M(InvalidStatement) \
82 M(ExpressionStatement) \ 82 M(ExpressionStatement) \
83 M(Block) \ 83 M(Block) \
84 M(EmptyStatement) \ 84 M(EmptyStatement) \
85 M(AssertStatement) \ 85 M(AssertStatement) \
86 M(LabeledStatement) \ 86 M(LabeledStatement) \
87 M(BreakStatement) \ 87 M(BreakStatement) \
88 M(WhileStatement) \ 88 M(WhileStatement) \
89 M(DoStatement) \ 89 M(DoStatement) \
90 M(ForStatement) \ 90 M(ForStatement) \
91 M(ForInStatement) \ 91 M(ForInStatement) \
92 M(SwitchStatement) \ 92 M(SwitchStatement) \
93 M(SwitchCase) \ 93 M(SwitchCase) \
94 M(ContinueSwitchStatement) \ 94 M(ContinueSwitchStatement) \
95 M(IfStatement) \ 95 M(IfStatement) \
96 M(ReturnStatement) \ 96 M(ReturnStatement) \
97 M(TryCatch) \ 97 M(TryCatch) \
98 M(Catch) \ 98 M(Catch) \
99 M(TryFinally) \ 99 M(TryFinally) \
100 M(YieldStatement) \ 100 M(YieldStatement) \
101 M(VariableDeclaration) \ 101 M(VariableDeclaration) \
102 M(FunctionDeclaration) \ 102 M(FunctionDeclaration) \
103 M(TypeParameter) \ 103 M(TypeParameter) \
104 M(Program) 104 M(Program)
105 105
106 #define KERNEL_ALL_NODES_DO(M) \ 106 #define KERNEL_ALL_NODES_DO(M) \
107 M(Node) \ 107 M(Node) \
108 KERNEL_NODES_DO(M) \ 108 KERNEL_NODES_DO(M) \
109 M(TreeNode) \ 109 M(TreeNode) \
110 KERNEL_TREE_NODES_DO(M) 110 KERNEL_TREE_NODES_DO(M)
111 111
112 #define KERNEL_VISITORS_DO(M) \ 112 #define KERNEL_VISITORS_DO(M) \
113 M(ExpressionVisitor) \ 113 M(ExpressionVisitor) \
114 M(StatementVisitor) \ 114 M(StatementVisitor) \
115 M(MemberVisitor) \ 115 M(MemberVisitor) \
116 M(ClassVisitor) \ 116 M(ClassVisitor) \
117 M(InitializerVisitor) \ 117 M(InitializerVisitor) \
118 M(DartTypeVisitor) \ 118 M(DartTypeVisitor) \
119 M(ClassReferenceVisitor) \ 119 M(ClassReferenceVisitor) \
120 M(MemberReferenceVisitor) \ 120 M(MemberReferenceVisitor) \
121 M(TreeVisitor) \ 121 M(TreeVisitor) \
122 M(Visitor) 122 M(Visitor)
123 123
124 namespace dart { 124 namespace dart {
125 125
126 namespace kernel { 126 namespace kernel {
127 127
128 128
129 class Reader; 129 class Reader;
130 class TreeNode; 130 class TreeNode;
131 class TypeParameter; 131 class TypeParameter;
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 DISALLOW_COPY_AND_ASSIGN(LineStartingTable); 329 DISALLOW_COPY_AND_ASSIGN(LineStartingTable);
330 }; 330 };
331 331
332 // Forward declare all classes. 332 // Forward declare all classes.
333 #define DO(name) class name; 333 #define DO(name) class name;
334 KERNEL_ALL_NODES_DO(DO) 334 KERNEL_ALL_NODES_DO(DO)
335 KERNEL_VISITORS_DO(DO) 335 KERNEL_VISITORS_DO(DO)
336 #undef DO 336 #undef DO
337 337
338 338
339 #define DEFINE_CASTING_OPERATIONS(klass) \ 339 #define DEFINE_CASTING_OPERATIONS(klass) \
340 virtual bool Is##klass() { return true; } \ 340 virtual bool Is##klass() { return true; } \
341 \ 341 \
342 static klass* Cast(Node* node) { \ 342 static klass* Cast(Node* node) { \
343 ASSERT(node == NULL || node->Is##klass()); \ 343 ASSERT(node == NULL || node->Is##klass()); \
344 return static_cast<klass*>(node); \ 344 return static_cast<klass*>(node); \
345 } \ 345 } \
346 \ 346 \
347 virtual Node::NodeType Type() { return Node::kType##klass; } 347 virtual Node::NodeType Type() { return Node::kType##klass; }
348 348
349 #define DEFINE_IS_OPERATION(klass) \ 349 #define DEFINE_IS_OPERATION(klass) \
350 virtual bool Is##klass() { return false; } 350 virtual bool Is##klass() { return false; }
351 351
352 #define DEFINE_ALL_IS_OPERATIONS() \ 352 #define DEFINE_ALL_IS_OPERATIONS() \
353 KERNEL_NODES_DO(DEFINE_IS_OPERATION) \ 353 KERNEL_NODES_DO(DEFINE_IS_OPERATION) \
354 DEFINE_IS_OPERATION(TreeNode) \ 354 DEFINE_IS_OPERATION(TreeNode) \
355 KERNEL_TREE_NODES_DO(DEFINE_IS_OPERATION) 355 KERNEL_TREE_NODES_DO(DEFINE_IS_OPERATION)
356 356
357 357
358 class Node { 358 class Node {
359 public: 359 public:
360 virtual ~Node(); 360 virtual ~Node();
361 361
362 enum NodeType { 362 enum NodeType {
363 #define DO(name) kType##name, 363 #define DO(name) kType##name,
364 KERNEL_ALL_NODES_DO(DO) 364 KERNEL_ALL_NODES_DO(DO)
365 #undef DO 365 #undef DO
366 366
367 kNumTypes 367 kNumTypes
368 }; 368 };
369 369
370 DEFINE_ALL_IS_OPERATIONS(); 370 DEFINE_ALL_IS_OPERATIONS();
371 DEFINE_CASTING_OPERATIONS(Node); 371 DEFINE_CASTING_OPERATIONS(Node);
372 372
373 virtual void AcceptVisitor(Visitor* visitor) = 0; 373 virtual void AcceptVisitor(Visitor* visitor) = 0;
374 virtual void VisitChildren(Visitor* visitor) = 0; 374 virtual void VisitChildren(Visitor* visitor) = 0;
375 375
376 protected: 376 protected:
377 Node() { } 377 Node() {}
378 378
379 private: 379 private:
380 DISALLOW_COPY_AND_ASSIGN(Node); 380 DISALLOW_COPY_AND_ASSIGN(Node);
381 }; 381 };
382 382
383 383
384 class TreeNode : public Node { 384 class TreeNode : public Node {
385 public: 385 public:
386 virtual ~TreeNode(); 386 virtual ~TreeNode();
387 387
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 584
585 virtual void AcceptTreeVisitor(TreeVisitor* visitor); 585 virtual void AcceptTreeVisitor(TreeVisitor* visitor);
586 virtual void AcceptMemberVisitor(MemberVisitor* visitor) = 0; 586 virtual void AcceptMemberVisitor(MemberVisitor* visitor) = 0;
587 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor) = 0; 587 virtual void AcceptReferenceVisitor(MemberReferenceVisitor* visitor) = 0;
588 588
589 TreeNode* parent() { return parent_; } 589 TreeNode* parent() { return parent_; }
590 Name* name() { return name_; } 590 Name* name() { return name_; }
591 List<Expression>& annotations() { return annotations_; } 591 List<Expression>& annotations() { return annotations_; }
592 592
593 protected: 593 protected:
594 Member() { } 594 Member() {}
595 595
596 template <typename T> 596 template <typename T>
597 friend class List; 597 friend class List;
598 598
599 Ref<TreeNode> parent_; 599 Ref<TreeNode> parent_;
600 Child<Name> name_; 600 Child<Name> name_;
601 List<Expression> annotations_; 601 List<Expression> annotations_;
602 602
603 private: 603 private:
604 DISALLOW_COPY_AND_ASSIGN(Member); 604 DISALLOW_COPY_AND_ASSIGN(Member);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 virtual void WriteTo(Writer* writer) = 0; 744 virtual void WriteTo(Writer* writer) = 0;
745 745
746 virtual ~Initializer(); 746 virtual ~Initializer();
747 747
748 DEFINE_CASTING_OPERATIONS(Initializer); 748 DEFINE_CASTING_OPERATIONS(Initializer);
749 749
750 virtual void AcceptTreeVisitor(TreeVisitor* visitor); 750 virtual void AcceptTreeVisitor(TreeVisitor* visitor);
751 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor) = 0; 751 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor) = 0;
752 752
753 protected: 753 protected:
754 Initializer() { } 754 Initializer() {}
755 755
756 private: 756 private:
757 DISALLOW_COPY_AND_ASSIGN(Initializer); 757 DISALLOW_COPY_AND_ASSIGN(Initializer);
758 }; 758 };
759 759
760 760
761 class InvalidInitializer : public Initializer { 761 class InvalidInitializer : public Initializer {
762 public: 762 public:
763 static InvalidInitializer* ReadFromImpl(Reader* reader); 763 static InvalidInitializer* ReadFromImpl(Reader* reader);
764 virtual void WriteTo(Writer* writer); 764 virtual void WriteTo(Writer* writer);
765 765
766 virtual ~InvalidInitializer(); 766 virtual ~InvalidInitializer();
767 767
768 DEFINE_CASTING_OPERATIONS(InvalidInitializer); 768 DEFINE_CASTING_OPERATIONS(InvalidInitializer);
769 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor); 769 virtual void AcceptInitializerVisitor(InitializerVisitor* visitor);
770 virtual void VisitChildren(Visitor* visitor); 770 virtual void VisitChildren(Visitor* visitor);
771 771
772 private: 772 private:
773 InvalidInitializer() { } 773 InvalidInitializer() {}
774 774
775 DISALLOW_COPY_AND_ASSIGN(InvalidInitializer); 775 DISALLOW_COPY_AND_ASSIGN(InvalidInitializer);
776 }; 776 };
777 777
778 778
779 class FieldInitializer : public Initializer { 779 class FieldInitializer : public Initializer {
780 public: 780 public:
781 static FieldInitializer* ReadFromImpl(Reader* reader); 781 static FieldInitializer* ReadFromImpl(Reader* reader);
782 virtual void WriteTo(Writer* writer); 782 virtual void WriteTo(Writer* writer);
783 783
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 virtual void WriteTo(Writer* writer) = 0; 927 virtual void WriteTo(Writer* writer) = 0;
928 928
929 virtual ~Expression(); 929 virtual ~Expression();
930 930
931 DEFINE_CASTING_OPERATIONS(Expression); 931 DEFINE_CASTING_OPERATIONS(Expression);
932 932
933 virtual void AcceptTreeVisitor(TreeVisitor* visitor); 933 virtual void AcceptTreeVisitor(TreeVisitor* visitor);
934 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor) = 0; 934 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor) = 0;
935 935
936 protected: 936 protected:
937 Expression() { } 937 Expression() {}
938 938
939 private: 939 private:
940 DISALLOW_COPY_AND_ASSIGN(Expression); 940 DISALLOW_COPY_AND_ASSIGN(Expression);
941 }; 941 };
942 942
943 943
944 class InvalidExpression : public Expression { 944 class InvalidExpression : public Expression {
945 public: 945 public:
946 static InvalidExpression* ReadFrom(Reader* reader); 946 static InvalidExpression* ReadFrom(Reader* reader);
947 virtual void WriteTo(Writer* writer); 947 virtual void WriteTo(Writer* writer);
948 948
949 virtual ~InvalidExpression(); 949 virtual ~InvalidExpression();
950 virtual void VisitChildren(Visitor* visitor); 950 virtual void VisitChildren(Visitor* visitor);
951 951
952 DEFINE_CASTING_OPERATIONS(InvalidExpression); 952 DEFINE_CASTING_OPERATIONS(InvalidExpression);
953 953
954 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); 954 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
955 955
956 private: 956 private:
957 InvalidExpression() { } 957 InvalidExpression() {}
958 958
959 DISALLOW_COPY_AND_ASSIGN(InvalidExpression); 959 DISALLOW_COPY_AND_ASSIGN(InvalidExpression);
960 }; 960 };
961 961
962 962
963 class VariableGet : public Expression { 963 class VariableGet : public Expression {
964 public: 964 public:
965 static VariableGet* ReadFrom(Reader* reader); 965 static VariableGet* ReadFrom(Reader* reader);
966 static VariableGet* ReadFrom(Reader* reader, uint8_t payload); 966 static VariableGet* ReadFrom(Reader* reader, uint8_t payload);
967 virtual void WriteTo(Writer* writer); 967 virtual void WriteTo(Writer* writer);
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
1273 1273
1274 DISALLOW_COPY_AND_ASSIGN(DirectMethodInvocation); 1274 DISALLOW_COPY_AND_ASSIGN(DirectMethodInvocation);
1275 }; 1275 };
1276 1276
1277 1277
1278 class StaticInvocation : public Expression { 1278 class StaticInvocation : public Expression {
1279 public: 1279 public:
1280 static StaticInvocation* ReadFrom(Reader* reader, bool is_const); 1280 static StaticInvocation* ReadFrom(Reader* reader, bool is_const);
1281 virtual void WriteTo(Writer* writer); 1281 virtual void WriteTo(Writer* writer);
1282 1282
1283 explicit StaticInvocation(Procedure* procedure, Arguments* args, 1283 explicit StaticInvocation(Procedure* procedure,
1284 Arguments* args,
1284 bool is_const) 1285 bool is_const)
1285 : procedure_(procedure), arguments_(args), is_const_(is_const) {} 1286 : procedure_(procedure), arguments_(args), is_const_(is_const) {}
1286 ~StaticInvocation(); 1287 ~StaticInvocation();
1287 1288
1288 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); 1289 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
1289 virtual void VisitChildren(Visitor* visitor); 1290 virtual void VisitChildren(Visitor* visitor);
1290 1291
1291 Procedure* procedure() { return procedure_; } 1292 Procedure* procedure() { return procedure_; }
1292 Arguments* arguments() { return arguments_; } 1293 Arguments* arguments() { return arguments_; }
1293 bool is_const() { return is_const_; } 1294 bool is_const() { return is_const_; }
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1607 static NullLiteral* ReadFrom(Reader* reader); 1608 static NullLiteral* ReadFrom(Reader* reader);
1608 virtual void WriteTo(Writer* writer); 1609 virtual void WriteTo(Writer* writer);
1609 1610
1610 virtual ~NullLiteral(); 1611 virtual ~NullLiteral();
1611 1612
1612 DEFINE_CASTING_OPERATIONS(NullLiteral); 1613 DEFINE_CASTING_OPERATIONS(NullLiteral);
1613 1614
1614 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); 1615 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
1615 1616
1616 private: 1617 private:
1617 NullLiteral() { } 1618 NullLiteral() {}
1618 1619
1619 DISALLOW_COPY_AND_ASSIGN(NullLiteral); 1620 DISALLOW_COPY_AND_ASSIGN(NullLiteral);
1620 }; 1621 };
1621 1622
1622 1623
1623 class SymbolLiteral : public Expression { 1624 class SymbolLiteral : public Expression {
1624 public: 1625 public:
1625 static SymbolLiteral* ReadFrom(Reader* reader); 1626 static SymbolLiteral* ReadFrom(Reader* reader);
1626 virtual void WriteTo(Writer* writer); 1627 virtual void WriteTo(Writer* writer);
1627 1628
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1672 virtual void WriteTo(Writer* writer); 1673 virtual void WriteTo(Writer* writer);
1673 1674
1674 virtual ~ThisExpression(); 1675 virtual ~ThisExpression();
1675 1676
1676 DEFINE_CASTING_OPERATIONS(ThisExpression); 1677 DEFINE_CASTING_OPERATIONS(ThisExpression);
1677 1678
1678 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); 1679 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
1679 virtual void VisitChildren(Visitor* visitor); 1680 virtual void VisitChildren(Visitor* visitor);
1680 1681
1681 private: 1682 private:
1682 ThisExpression() { } 1683 ThisExpression() {}
1683 1684
1684 DISALLOW_COPY_AND_ASSIGN(ThisExpression); 1685 DISALLOW_COPY_AND_ASSIGN(ThisExpression);
1685 }; 1686 };
1686 1687
1687 1688
1688 class Rethrow : public Expression { 1689 class Rethrow : public Expression {
1689 public: 1690 public:
1690 static Rethrow* ReadFrom(Reader* reader); 1691 static Rethrow* ReadFrom(Reader* reader);
1691 virtual void WriteTo(Writer* writer); 1692 virtual void WriteTo(Writer* writer);
1692 1693
1693 virtual ~Rethrow(); 1694 virtual ~Rethrow();
1694 1695
1695 DEFINE_CASTING_OPERATIONS(Rethrow); 1696 DEFINE_CASTING_OPERATIONS(Rethrow);
1696 1697
1697 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor); 1698 virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
1698 virtual void VisitChildren(Visitor* visitor); 1699 virtual void VisitChildren(Visitor* visitor);
1699 1700
1700 private: 1701 private:
1701 Rethrow() { } 1702 Rethrow() {}
1702 1703
1703 DISALLOW_COPY_AND_ASSIGN(Rethrow); 1704 DISALLOW_COPY_AND_ASSIGN(Rethrow);
1704 }; 1705 };
1705 1706
1706 1707
1707 class Throw : public Expression { 1708 class Throw : public Expression {
1708 public: 1709 public:
1709 static Throw* ReadFrom(Reader* reader); 1710 static Throw* ReadFrom(Reader* reader);
1710 virtual void WriteTo(Writer* writer); 1711 virtual void WriteTo(Writer* writer);
1711 1712
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 virtual void WriteTo(Writer* writer) = 0; 1914 virtual void WriteTo(Writer* writer) = 0;
1914 1915
1915 virtual ~Statement(); 1916 virtual ~Statement();
1916 1917
1917 DEFINE_CASTING_OPERATIONS(Statement); 1918 DEFINE_CASTING_OPERATIONS(Statement);
1918 1919
1919 virtual void AcceptTreeVisitor(TreeVisitor* visitor); 1920 virtual void AcceptTreeVisitor(TreeVisitor* visitor);
1920 virtual void AcceptStatementVisitor(StatementVisitor* visitor) = 0; 1921 virtual void AcceptStatementVisitor(StatementVisitor* visitor) = 0;
1921 1922
1922 protected: 1923 protected:
1923 Statement() { } 1924 Statement() {}
1924 1925
1925 private: 1926 private:
1926 DISALLOW_COPY_AND_ASSIGN(Statement); 1927 DISALLOW_COPY_AND_ASSIGN(Statement);
1927 }; 1928 };
1928 1929
1929 1930
1930 class InvalidStatement : public Statement { 1931 class InvalidStatement : public Statement {
1931 public: 1932 public:
1932 static InvalidStatement* ReadFrom(Reader* reader); 1933 static InvalidStatement* ReadFrom(Reader* reader);
1933 virtual void WriteTo(Writer* writer); 1934 virtual void WriteTo(Writer* writer);
1934 1935
1935 virtual ~InvalidStatement(); 1936 virtual ~InvalidStatement();
1936 1937
1937 DEFINE_CASTING_OPERATIONS(InvalidStatement); 1938 DEFINE_CASTING_OPERATIONS(InvalidStatement);
1938 1939
1939 virtual void AcceptStatementVisitor(StatementVisitor* visitor); 1940 virtual void AcceptStatementVisitor(StatementVisitor* visitor);
1940 virtual void VisitChildren(Visitor* visitor); 1941 virtual void VisitChildren(Visitor* visitor);
1941 1942
1942 private: 1943 private:
1943 InvalidStatement() { } 1944 InvalidStatement() {}
1944 1945
1945 DISALLOW_COPY_AND_ASSIGN(InvalidStatement); 1946 DISALLOW_COPY_AND_ASSIGN(InvalidStatement);
1946 }; 1947 };
1947 1948
1948 1949
1949 class ExpressionStatement : public Statement { 1950 class ExpressionStatement : public Statement {
1950 public: 1951 public:
1951 static ExpressionStatement* ReadFrom(Reader* reader); 1952 static ExpressionStatement* ReadFrom(Reader* reader);
1952 virtual void WriteTo(Writer* writer); 1953 virtual void WriteTo(Writer* writer);
1953 1954
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2000 virtual void WriteTo(Writer* writer); 2001 virtual void WriteTo(Writer* writer);
2001 2002
2002 virtual ~EmptyStatement(); 2003 virtual ~EmptyStatement();
2003 2004
2004 DEFINE_CASTING_OPERATIONS(EmptyStatement); 2005 DEFINE_CASTING_OPERATIONS(EmptyStatement);
2005 2006
2006 virtual void AcceptStatementVisitor(StatementVisitor* visitor); 2007 virtual void AcceptStatementVisitor(StatementVisitor* visitor);
2007 virtual void VisitChildren(Visitor* visitor); 2008 virtual void VisitChildren(Visitor* visitor);
2008 2009
2009 private: 2010 private:
2010 EmptyStatement() { } 2011 EmptyStatement() {}
2011 2012
2012 DISALLOW_COPY_AND_ASSIGN(EmptyStatement); 2013 DISALLOW_COPY_AND_ASSIGN(EmptyStatement);
2013 }; 2014 };
2014 2015
2015 2016
2016 class AssertStatement : public Statement { 2017 class AssertStatement : public Statement {
2017 public: 2018 public:
2018 static AssertStatement* ReadFrom(Reader* reader); 2019 static AssertStatement* ReadFrom(Reader* reader);
2019 virtual void WriteTo(Writer* writer); 2020 virtual void WriteTo(Writer* writer);
2020 2021
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
2562 bool IsAlwaysNull() { return value_bits_ == kNull; } 2563 bool IsAlwaysNull() { return value_bits_ == kNull; }
2563 bool IsAlwaysInteger() { return value_bits_ == kInteger; } 2564 bool IsAlwaysInteger() { return value_bits_ == kInteger; }
2564 bool IsAlwaysDouble() { return value_bits_ == kDouble; } 2565 bool IsAlwaysDouble() { return value_bits_ == kDouble; }
2565 bool IsAlwaysString() { return value_bits_ == kString; } 2566 bool IsAlwaysString() { return value_bits_ == kString; }
2566 2567
2567 Class* klass() { return klass_; } 2568 Class* klass() { return klass_; }
2568 BaseClassKind kind() { return kind_; } 2569 BaseClassKind kind() { return kind_; }
2569 uint8_t value_bits() { return value_bits_; } 2570 uint8_t value_bits() { return value_bits_; }
2570 2571
2571 private: 2572 private:
2572 InferredValue() { } 2573 InferredValue() {}
2573 2574
2574 Ref<Class> klass_; 2575 Ref<Class> klass_;
2575 BaseClassKind kind_; 2576 BaseClassKind kind_;
2576 uint8_t value_bits_; 2577 uint8_t value_bits_;
2577 2578
2578 DISALLOW_COPY_AND_ASSIGN(InferredValue); 2579 DISALLOW_COPY_AND_ASSIGN(InferredValue);
2579 }; 2580 };
2580 2581
2581 2582
2582 class DartType : public Node { 2583 class DartType : public Node {
2583 public: 2584 public:
2584 static DartType* ReadFrom(Reader* reader); 2585 static DartType* ReadFrom(Reader* reader);
2585 virtual void WriteTo(Writer* writer) = 0; 2586 virtual void WriteTo(Writer* writer) = 0;
2586 2587
2587 virtual ~DartType(); 2588 virtual ~DartType();
2588 2589
2589 DEFINE_CASTING_OPERATIONS(DartType); 2590 DEFINE_CASTING_OPERATIONS(DartType);
2590 2591
2591 virtual void AcceptVisitor(Visitor* visitor); 2592 virtual void AcceptVisitor(Visitor* visitor);
2592 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor) = 0; 2593 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor) = 0;
2593 2594
2594 protected: 2595 protected:
2595 DartType() { } 2596 DartType() {}
2596 2597
2597 private: 2598 private:
2598 DISALLOW_COPY_AND_ASSIGN(DartType); 2599 DISALLOW_COPY_AND_ASSIGN(DartType);
2599 }; 2600 };
2600 2601
2601 2602
2602 class InvalidType : public DartType { 2603 class InvalidType : public DartType {
2603 public: 2604 public:
2604 static InvalidType* ReadFrom(Reader* reader); 2605 static InvalidType* ReadFrom(Reader* reader);
2605 void WriteTo(Writer* writer); 2606 void WriteTo(Writer* writer);
2606 2607
2607 virtual ~InvalidType(); 2608 virtual ~InvalidType();
2608 2609
2609 DEFINE_CASTING_OPERATIONS(InvalidType); 2610 DEFINE_CASTING_OPERATIONS(InvalidType);
2610 2611
2611 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor); 2612 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
2612 virtual void VisitChildren(Visitor* visitor); 2613 virtual void VisitChildren(Visitor* visitor);
2613 2614
2614 private: 2615 private:
2615 InvalidType() { } 2616 InvalidType() {}
2616 2617
2617 DISALLOW_COPY_AND_ASSIGN(InvalidType); 2618 DISALLOW_COPY_AND_ASSIGN(InvalidType);
2618 }; 2619 };
2619 2620
2620 2621
2621 class DynamicType : public DartType { 2622 class DynamicType : public DartType {
2622 public: 2623 public:
2623 static DynamicType* ReadFrom(Reader* reader); 2624 static DynamicType* ReadFrom(Reader* reader);
2624 void WriteTo(Writer* writer); 2625 void WriteTo(Writer* writer);
2625 2626
2626 virtual ~DynamicType(); 2627 virtual ~DynamicType();
2627 2628
2628 DEFINE_CASTING_OPERATIONS(DynamicType); 2629 DEFINE_CASTING_OPERATIONS(DynamicType);
2629 2630
2630 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor); 2631 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
2631 virtual void VisitChildren(Visitor* visitor); 2632 virtual void VisitChildren(Visitor* visitor);
2632 2633
2633 private: 2634 private:
2634 DynamicType() { } 2635 DynamicType() {}
2635 2636
2636 DISALLOW_COPY_AND_ASSIGN(DynamicType); 2637 DISALLOW_COPY_AND_ASSIGN(DynamicType);
2637 }; 2638 };
2638 2639
2639 2640
2640 class VoidType : public DartType { 2641 class VoidType : public DartType {
2641 public: 2642 public:
2642 static VoidType* ReadFrom(Reader* reader); 2643 static VoidType* ReadFrom(Reader* reader);
2643 void WriteTo(Writer* writer); 2644 void WriteTo(Writer* writer);
2644 2645
2645 virtual ~VoidType(); 2646 virtual ~VoidType();
2646 2647
2647 DEFINE_CASTING_OPERATIONS(VoidType); 2648 DEFINE_CASTING_OPERATIONS(VoidType);
2648 2649
2649 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor); 2650 virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
2650 virtual void VisitChildren(Visitor* visitor); 2651 virtual void VisitChildren(Visitor* visitor);
2651 2652
2652 private: 2653 private:
2653 VoidType() { } 2654 VoidType() {}
2654 2655
2655 DISALLOW_COPY_AND_ASSIGN(VoidType); 2656 DISALLOW_COPY_AND_ASSIGN(VoidType);
2656 }; 2657 };
2657 2658
2658 2659
2659 class InterfaceType : public DartType { 2660 class InterfaceType : public DartType {
2660 public: 2661 public:
2661 static InterfaceType* ReadFrom(Reader* reader); 2662 static InterfaceType* ReadFrom(Reader* reader);
2662 static InterfaceType* ReadFrom(Reader* reader, bool _without_type_arguments_); 2663 static InterfaceType* ReadFrom(Reader* reader, bool _without_type_arguments_);
2663 void WriteTo(Writer* writer); 2664 void WriteTo(Writer* writer);
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
2792 Ref<Procedure> main_method_; 2793 Ref<Procedure> main_method_;
2793 StringTable string_table_; 2794 StringTable string_table_;
2794 2795
2795 DISALLOW_COPY_AND_ASSIGN(Program); 2796 DISALLOW_COPY_AND_ASSIGN(Program);
2796 }; 2797 };
2797 2798
2798 2799
2799 class Reference : public AllStatic { 2800 class Reference : public AllStatic {
2800 public: 2801 public:
2801 static Member* ReadMemberFrom(Reader* reader, bool allow_null = false); 2802 static Member* ReadMemberFrom(Reader* reader, bool allow_null = false);
2802 static void WriteMemberTo(Writer* writer, Member* member, 2803 static void WriteMemberTo(Writer* writer,
2804 Member* member,
2803 bool allow_null = false); 2805 bool allow_null = false);
2804 2806
2805 static Class* ReadClassFrom(Reader* reader, bool allow_null = false); 2807 static Class* ReadClassFrom(Reader* reader, bool allow_null = false);
2806 static void WriteClassTo(Writer* writer, Class* klass, 2808 static void WriteClassTo(Writer* writer,
2809 Class* klass,
2807 bool allow_null = false); 2810 bool allow_null = false);
2808 2811
2809 static String* ReadStringFrom(Reader* reader); 2812 static String* ReadStringFrom(Reader* reader);
2810 static void WriteStringTo(Writer* writer, String* string); // NOLINT 2813 static void WriteStringTo(Writer* writer, String* string); // NOLINT
2811 }; 2814 };
2812 2815
2813 2816
2814 class ExpressionVisitor { 2817 class ExpressionVisitor {
2815 public: 2818 public:
2816 virtual ~ExpressionVisitor() {} 2819 virtual ~ExpressionVisitor() {}
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
3234 virtual void WriteBytes(uint8_t* buffer, int count) = 0; 3237 virtual void WriteBytes(uint8_t* buffer, int count) = 0;
3235 }; 3238 };
3236 3239
3237 3240
3238 void WritePrecompiledKernel(ByteWriter* out, kernel::Program* program); 3241 void WritePrecompiledKernel(ByteWriter* out, kernel::Program* program);
3239 3242
3240 3243
3241 } // namespace dart 3244 } // namespace dart
3242 3245
3243 #endif // RUNTIME_VM_KERNEL_H_ 3246 #endif // RUNTIME_VM_KERNEL_H_
OLDNEW
« no previous file with comments | « runtime/vm/json_test.cc ('k') | runtime/vm/kernel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698