| Index: runtime/vm/kernel.h
|
| diff --git a/runtime/vm/kernel.h b/runtime/vm/kernel.h
|
| index 92caa4fcb6a0669b691daccbbef6e84e4fe98e71..ae3c5553b0a9fca602e1f682d7a3f2618a43a304 100644
|
| --- a/runtime/vm/kernel.h
|
| +++ b/runtime/vm/kernel.h
|
| @@ -120,10 +120,6 @@
|
| M(TreeNode) \
|
| KERNEL_TREE_NODES_DO(M)
|
|
|
| -#define KERNEL_VISITORS_DO(M) \
|
| - M(ExpressionVisitor) \
|
| - M(DartTypeVisitor) \
|
| -
|
| namespace dart {
|
|
|
| class Field;
|
| @@ -356,7 +352,6 @@ class NameIndex {
|
| // Forward declare all classes.
|
| #define DO(name) class name;
|
| KERNEL_ALL_NODES_DO(DO)
|
| -KERNEL_VISITORS_DO(DO)
|
| #undef DO
|
|
|
|
|
| @@ -972,7 +967,6 @@ class Expression : public TreeNode {
|
|
|
| DEFINE_CASTING_OPERATIONS(Expression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor) = 0;
|
| TokenPosition position() { return position_; }
|
| void set_position(TokenPosition position) { position_ = position; }
|
|
|
| @@ -993,8 +987,6 @@ class InvalidExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(InvalidExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| private:
|
| InvalidExpression() {}
|
|
|
| @@ -1011,8 +1003,6 @@ class VariableGet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VariableGet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| VariableDeclaration* variable() { return variable_; }
|
|
|
| private:
|
| @@ -1034,8 +1024,6 @@ class VariableSet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VariableSet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| VariableDeclaration* variable() { return variable_; }
|
| Expression* expression() { return expression_; }
|
|
|
| @@ -1058,8 +1046,6 @@ class PropertyGet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(PropertyGet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* receiver() { return receiver_; }
|
| Name* name() { return name_; }
|
|
|
| @@ -1082,8 +1068,6 @@ class PropertySet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(PropertySet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* receiver() { return receiver_; }
|
| Name* name() { return name_; }
|
| Expression* value() { return value_; }
|
| @@ -1108,8 +1092,6 @@ class DirectPropertyGet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(DirectPropertyGet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* receiver() { return receiver_; }
|
| NameIndex target() { return target_reference_; }
|
|
|
| @@ -1131,8 +1113,6 @@ class DirectPropertySet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(DirectPropertySet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| NameIndex target() { return target_reference_; }
|
| Expression* receiver() { return receiver_; }
|
| Expression* value() { return value_; }
|
| @@ -1156,8 +1136,6 @@ class StaticGet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(StaticGet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| NameIndex target() { return target_reference_; }
|
|
|
| private:
|
| @@ -1177,8 +1155,6 @@ class StaticSet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(StaticSet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| NameIndex target() { return target_reference_; }
|
| Expression* expression() { return expression_; }
|
|
|
| @@ -1250,8 +1226,6 @@ class MethodInvocation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(MethodInvocation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* receiver() { return receiver_; }
|
| Name* name() { return name_; }
|
| Arguments* arguments() { return arguments_; }
|
| @@ -1276,8 +1250,6 @@ class DirectMethodInvocation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(DirectMethodInvocation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* receiver() { return receiver_; }
|
| NameIndex target() { return target_reference_; }
|
| Arguments* arguments() { return arguments_; }
|
| @@ -1300,8 +1272,6 @@ class StaticInvocation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(StaticInvocation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| NameIndex procedure() { return procedure_reference_; }
|
| Arguments* arguments() { return arguments_; }
|
| bool is_const() { return is_const_; }
|
| @@ -1325,8 +1295,6 @@ class ConstructorInvocation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(ConstructorInvocation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| bool is_const() { return is_const_; }
|
| NameIndex target() { return target_reference_; }
|
| Arguments* arguments() { return arguments_; }
|
| @@ -1350,8 +1318,6 @@ class Not : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(Not);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* expression() { return expression_; }
|
|
|
| private:
|
| @@ -1373,8 +1339,6 @@ class LogicalExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(LogicalExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* left() { return left_; }
|
| Operator op() { return operator_; }
|
| Expression* right() { return right_; }
|
| @@ -1398,8 +1362,6 @@ class ConditionalExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(ConditionalExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* condition() { return condition_; }
|
| Expression* then() { return then_; }
|
| Expression* otherwise() { return otherwise_; }
|
| @@ -1423,8 +1385,6 @@ class StringConcatenation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(StringConcatenation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| List<Expression>& expressions() { return expressions_; }
|
|
|
| private:
|
| @@ -1444,8 +1404,6 @@ class IsExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(IsExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* operand() { return operand_; }
|
| DartType* type() { return type_; }
|
|
|
| @@ -1467,8 +1425,6 @@ class AsExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(AsExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* operand() { return operand_; }
|
| DartType* type() { return type_; }
|
|
|
| @@ -1494,8 +1450,6 @@ class StringLiteral : public BasicLiteral {
|
| public:
|
| static StringLiteral* ReadFrom(Reader* reader);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| explicit StringLiteral(StringIndex string_index)
|
| : value_index_(string_index) {}
|
| virtual ~StringLiteral();
|
| @@ -1518,8 +1472,6 @@ class BigintLiteral : public StringLiteral {
|
| public:
|
| static BigintLiteral* ReadFrom(Reader* reader);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| explicit BigintLiteral(StringIndex string_index)
|
| : StringLiteral(string_index) {}
|
| virtual ~BigintLiteral();
|
| @@ -1542,8 +1494,6 @@ class IntLiteral : public BasicLiteral {
|
|
|
| DEFINE_CASTING_OPERATIONS(IntLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| int64_t value() { return value_; }
|
|
|
| private:
|
| @@ -1563,8 +1513,6 @@ class DoubleLiteral : public BasicLiteral {
|
|
|
| DEFINE_CASTING_OPERATIONS(DoubleLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| StringIndex value() { return value_index_; }
|
|
|
| private:
|
| @@ -1584,8 +1532,6 @@ class BoolLiteral : public BasicLiteral {
|
|
|
| DEFINE_CASTING_OPERATIONS(BoolLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| bool value() { return value_; }
|
|
|
| private:
|
| @@ -1605,8 +1551,6 @@ class NullLiteral : public BasicLiteral {
|
|
|
| DEFINE_CASTING_OPERATIONS(NullLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| private:
|
| NullLiteral() {}
|
|
|
| @@ -1622,8 +1566,6 @@ class SymbolLiteral : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(SymbolLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| StringIndex value() { return value_index_; }
|
|
|
| private:
|
| @@ -1643,8 +1585,6 @@ class TypeLiteral : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(TypeLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| DartType* type() { return type_; }
|
|
|
| private:
|
| @@ -1664,8 +1604,6 @@ class ThisExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(ThisExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| private:
|
| ThisExpression() {}
|
|
|
| @@ -1681,8 +1619,6 @@ class Rethrow : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(Rethrow);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| private:
|
| Rethrow() {}
|
|
|
| @@ -1698,8 +1634,6 @@ class Throw : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(Throw);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* expression() { return expression_; }
|
|
|
| private:
|
| @@ -1719,8 +1653,6 @@ class ListLiteral : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(ListLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| bool is_const() { return is_const_; }
|
| DartType* type() { return type_; }
|
| List<Expression>& expressions() { return expressions_; }
|
| @@ -1744,8 +1676,6 @@ class MapLiteral : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(MapLiteral);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| bool is_const() { return is_const_; }
|
| DartType* key_type() { return key_type_; }
|
| DartType* value_type() { return value_type_; }
|
| @@ -1795,8 +1725,6 @@ class AwaitExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(AwaitExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* operand() { return operand_; }
|
|
|
| private:
|
| @@ -1816,8 +1744,6 @@ class FunctionExpression : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(FunctionExpression);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| FunctionNode* function() { return function_; }
|
|
|
| private:
|
| @@ -1837,8 +1763,6 @@ class Let : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(Let);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| VariableDeclaration* variable() { return variable_; }
|
| Expression* body() { return body_; }
|
| TokenPosition position() { return position_; }
|
| @@ -1866,8 +1790,6 @@ class VectorCreation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VectorCreation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| intptr_t value() { return value_; }
|
|
|
| private:
|
| @@ -1887,8 +1809,6 @@ class VectorGet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VectorGet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* vector_expression() { return vector_expression_; }
|
| intptr_t index() { return index_; }
|
|
|
| @@ -1910,8 +1830,6 @@ class VectorSet : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VectorSet);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* vector_expression() { return vector_expression_; }
|
| intptr_t index() { return index_; }
|
| Expression* value() { return value_; }
|
| @@ -1935,8 +1853,6 @@ class VectorCopy : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(VectorCopy);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| Expression* vector_expression() { return vector_expression_; }
|
|
|
| private:
|
| @@ -1956,8 +1872,6 @@ class ClosureCreation : public Expression {
|
|
|
| DEFINE_CASTING_OPERATIONS(ClosureCreation);
|
|
|
| - virtual void AcceptExpressionVisitor(ExpressionVisitor* visitor);
|
| -
|
| NameIndex top_level_function() { return top_level_function_reference_; }
|
| Expression* context_vector() { return context_vector_; }
|
| FunctionType* function_type() { return function_type_; }
|
| @@ -2537,8 +2451,6 @@ class DartType : public Node {
|
|
|
| DEFINE_CASTING_OPERATIONS(DartType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor) = 0;
|
| -
|
| protected:
|
| DartType() {}
|
|
|
| @@ -2555,8 +2467,6 @@ class InvalidType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(InvalidType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| private:
|
| InvalidType() {}
|
|
|
| @@ -2572,8 +2482,6 @@ class DynamicType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(DynamicType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| private:
|
| DynamicType() {}
|
|
|
| @@ -2589,8 +2497,6 @@ class VoidType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(VoidType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| private:
|
| VoidType() {}
|
|
|
| @@ -2606,8 +2512,6 @@ class BottomType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(BottomType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| private:
|
| BottomType() {}
|
|
|
| @@ -2626,8 +2530,6 @@ class InterfaceType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(InterfaceType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| NameIndex klass() { return class_reference_; }
|
| List<DartType>& type_arguments() { return type_arguments_; }
|
|
|
| @@ -2651,8 +2553,6 @@ class TypedefType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(TypedefType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| NameIndex typedef_reference() { return typedef_reference_; }
|
| List<DartType>& type_arguments() { return type_arguments_; }
|
|
|
| @@ -2695,8 +2595,6 @@ class FunctionType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(FunctionType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| TypeParameterList& type_parameters() { return type_parameters_; }
|
| int required_parameter_count() { return required_parameter_count_; }
|
| List<DartType>& positional_parameters() { return positional_parameters_; }
|
| @@ -2724,8 +2622,6 @@ class TypeParameterType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(TypeParameterType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| TypeParameter* parameter() { return parameter_; }
|
|
|
| private:
|
| @@ -2745,8 +2641,6 @@ class VectorType : public DartType {
|
|
|
| DEFINE_CASTING_OPERATIONS(VectorType);
|
|
|
| - virtual void AcceptDartTypeVisitor(DartTypeVisitor* visitor);
|
| -
|
| private:
|
| VectorType() {}
|
|
|
| @@ -2822,150 +2716,6 @@ class Reference : public AllStatic {
|
| };
|
|
|
|
|
| -class ExpressionVisitor {
|
| - public:
|
| - virtual ~ExpressionVisitor() {}
|
| -
|
| - virtual void VisitDefaultExpression(Expression* node) = 0;
|
| - virtual void VisitDefaultBasicLiteral(BasicLiteral* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitInvalidExpression(InvalidExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitVariableGet(VariableGet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitVariableSet(VariableSet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitPropertyGet(PropertyGet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitPropertySet(PropertySet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitDirectPropertyGet(DirectPropertyGet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitDirectPropertySet(DirectPropertySet* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitStaticGet(StaticGet* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitStaticSet(StaticSet* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitMethodInvocation(MethodInvocation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitDirectMethodInvocation(DirectMethodInvocation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitStaticInvocation(StaticInvocation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitConstructorInvocation(ConstructorInvocation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitNot(Not* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitLogicalExpression(LogicalExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitConditionalExpression(ConditionalExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitStringConcatenation(StringConcatenation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitIsExpression(IsExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitAsExpression(AsExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitSymbolLiteral(SymbolLiteral* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitTypeLiteral(TypeLiteral* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitThisExpression(ThisExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitRethrow(Rethrow* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitThrow(Throw* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitListLiteral(ListLiteral* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitMapLiteral(MapLiteral* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitAwaitExpression(AwaitExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitFunctionExpression(FunctionExpression* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitStringLiteral(StringLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitBigintLiteral(BigintLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitIntLiteral(IntLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitDoubleLiteral(DoubleLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitBoolLiteral(BoolLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitNullLiteral(NullLiteral* node) {
|
| - VisitDefaultBasicLiteral(node);
|
| - }
|
| - virtual void VisitLet(Let* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitVectorCreation(VectorCreation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitVectorGet(VectorGet* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitVectorSet(VectorSet* node) { VisitDefaultExpression(node); }
|
| - virtual void VisitVectorCopy(VectorCopy* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| - virtual void VisitClosureCreation(ClosureCreation* node) {
|
| - VisitDefaultExpression(node);
|
| - }
|
| -};
|
| -
|
| -
|
| -class DartTypeVisitor {
|
| - public:
|
| - virtual ~DartTypeVisitor() {}
|
| -
|
| - virtual void VisitDefaultDartType(DartType* node) = 0;
|
| - virtual void VisitInvalidType(InvalidType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| - virtual void VisitDynamicType(DynamicType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| - virtual void VisitVoidType(VoidType* node) { VisitDefaultDartType(node); }
|
| - virtual void VisitBottomType(BottomType* node) { VisitDefaultDartType(node); }
|
| - virtual void VisitInterfaceType(InterfaceType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| - virtual void VisitFunctionType(FunctionType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| - virtual void VisitTypeParameterType(TypeParameterType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| - virtual void VisitVectorType(VectorType* node) { VisitDefaultDartType(node); }
|
| - virtual void VisitTypedefType(TypedefType* node) {
|
| - VisitDefaultDartType(node);
|
| - }
|
| -};
|
| -
|
| -
|
| template <typename T>
|
| List<T>::~List() {
|
| for (int i = 0; i < length_; i++) {
|
|
|