blob: c16454e5535a15496caafe0f1057d272363e81d9 [file] [log] [blame]
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of dart2js.semantics_visitor_test;
class SemanticSendTestVisitor extends SemanticTestVisitor {
SemanticSendTestVisitor(TreeElements elements) : super(elements);
@override
visitAs(Send node, Node expression, DartType type, arg) {
visits
.add(new Visit(VisitKind.VISIT_AS, expression: expression, type: type));
apply(expression, arg);
}
@override
errorInvalidCompound(Send node, ErroneousElement error,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_COMPOUND,
error: error.messageKind, operator: operator, rhs: rhs));
super.errorInvalidCompound(node, error, operator, rhs, arg);
}
@override
errorInvalidGet(Send node, ErroneousElement error, arg) {
visits
.add(new Visit(VisitKind.ERROR_INVALID_GET, error: error.messageKind));
super.errorInvalidGet(node, error, arg);
}
@override
errorInvalidInvoke(Send node, ErroneousElement error, NodeList arguments,
Selector selector, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_INVOKE,
error: error.messageKind, arguments: arguments));
super.errorInvalidInvoke(node, error, arguments, selector, arg);
}
@override
errorInvalidPostfix(
Send node, ErroneousElement error, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_POSTFIX,
error: error.messageKind, operator: operator));
super.errorInvalidPostfix(node, error, operator, arg);
}
@override
errorInvalidPrefix(
Send node, ErroneousElement error, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_PREFIX,
error: error.messageKind, operator: operator));
super.errorInvalidPrefix(node, error, operator, arg);
}
@override
errorInvalidSet(Send node, ErroneousElement error, Node rhs, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_SET,
error: error.messageKind, rhs: rhs));
super.errorInvalidSet(node, error, rhs, arg);
}
@override
errorInvalidSetIfNull(Send node, ErroneousElement error, Node rhs, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_SET_IF_NULL,
error: error.messageKind, rhs: rhs));
super.errorInvalidSetIfNull(node, error, rhs, arg);
}
@override
errorInvalidUnary(
Send node, UnaryOperator operator, ErroneousElement error, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_UNARY,
error: error.messageKind, operator: operator));
super.errorInvalidUnary(node, operator, error, arg);
}
@override
errorInvalidEquals(Send node, ErroneousElement error, Node right, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_EQUALS,
error: error.messageKind, right: right));
super.errorInvalidEquals(node, error, right, arg);
}
@override
errorInvalidNotEquals(Send node, ErroneousElement error, Node right, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_NOT_EQUALS,
error: error.messageKind, right: right));
super.errorInvalidNotEquals(node, error, right, arg);
}
@override
errorInvalidBinary(Send node, ErroneousElement error, BinaryOperator operator,
Node right, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_BINARY,
error: error.messageKind, operator: operator, right: right));
super.errorInvalidBinary(node, error, operator, right, arg);
}
@override
errorInvalidIndex(Send node, ErroneousElement error, Node index, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_INDEX,
error: error.messageKind, index: index));
super.errorInvalidIndex(node, error, index, arg);
}
@override
errorInvalidIndexSet(
Send node, ErroneousElement error, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_INDEX_SET,
error: error.messageKind, index: index, rhs: rhs));
super.errorInvalidIndexSet(node, error, index, rhs, arg);
}
@override
errorInvalidCompoundIndexSet(Send node, ErroneousElement error, Node index,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_COMPOUND_INDEX_SET,
error: error.messageKind, index: index, operator: operator, rhs: rhs));
super.errorInvalidCompoundIndexSet(node, error, index, operator, rhs, arg);
}
@override
errorInvalidIndexPrefix(Send node, ErroneousElement error, Node index,
IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_INDEX_PREFIX,
error: error.messageKind, index: index, operator: operator));
super.errorInvalidIndexPrefix(node, error, index, operator, arg);
}
@override
errorInvalidIndexPostfix(Send node, ErroneousElement error, Node index,
IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.ERROR_INVALID_INDEX_POSTFIX,
error: error.messageKind, index: index, operator: operator));
super.errorInvalidIndexPostfix(node, error, index, operator, arg);
}
@override
visitBinary(Send node, Node left, BinaryOperator operator, Node right, arg) {
visits.add(new Visit(VisitKind.VISIT_BINARY,
left: left, operator: operator, right: right));
super.visitBinary(node, left, operator, right, arg);
}
@override
errorUndefinedBinaryExpression(
Send node, Node left, Operator operator, Node right, arg) {
visits.add(new Visit(VisitKind.ERROR_UNDEFINED_BINARY_EXPRESSION,
left: left, operator: operator, right: right));
super.errorUndefinedBinaryExpression(node, left, operator, right, arg);
}
@override
visitIndex(Send node, Node receiver, Node index, arg) {
visits.add(
new Visit(VisitKind.VISIT_INDEX, receiver: receiver, index: index));
apply(receiver, arg);
apply(index, arg);
}
@override
visitClassTypeLiteralGet(Send node, ConstantExpression constant, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_GET,
constant: constant.toDartText()));
}
@override
visitClassTypeLiteralInvoke(Send node, ConstantExpression constant,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_INVOKE,
constant: constant.toDartText(), arguments: arguments));
apply(arguments, arg);
}
@override
visitClassTypeLiteralSet(
SendSet node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_SET,
constant: constant.toDartText(), rhs: rhs));
super.visitClassTypeLiteralSet(node, constant, rhs, arg);
}
@override
visitNotEquals(Send node, Node left, Node right, arg) {
visits.add(new Visit(VisitKind.VISIT_NOT_EQUALS, left: left, right: right));
apply(left, arg);
apply(right, arg);
}
@override
visitDynamicPropertyPrefix(
Send node, Node receiver, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_PREFIX,
receiver: receiver, operator: operator, name: name));
super.visitDynamicPropertyPrefix(node, receiver, name, operator, arg);
}
@override
visitDynamicPropertyPostfix(
Send node, Node receiver, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_POSTFIX,
receiver: receiver, operator: operator, name: name));
super.visitDynamicPropertyPostfix(node, receiver, name, operator, arg);
}
@override
visitDynamicPropertyGet(Send node, Node receiver, Name name, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_GET,
receiver: receiver, name: name));
super.visitDynamicPropertyGet(node, receiver, name, arg);
}
@override
visitDynamicPropertyInvoke(
Send node, Node receiver, NodeList arguments, Selector selector, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_INVOKE,
receiver: receiver, name: selector.name, arguments: arguments));
super.visitDynamicPropertyInvoke(node, receiver, arguments, selector, arg);
}
@override
visitDynamicPropertySet(
SendSet node, Node receiver, Name name, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_SET,
receiver: receiver, name: name, rhs: rhs));
super.visitDynamicPropertySet(node, receiver, name, rhs, arg);
}
@override
visitDynamicTypeLiteralGet(Send node, ConstantExpression constant, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_GET,
constant: constant.toDartText()));
}
@override
visitDynamicTypeLiteralInvoke(Send node, ConstantExpression constant,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
constant: constant.toDartText(), arguments: arguments));
}
@override
visitDynamicTypeLiteralSet(
Send node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET,
constant: constant.toDartText(), rhs: rhs));
super.visitDynamicTypeLiteralSet(node, constant, rhs, arg);
}
@override
visitExpressionInvoke(Send node, Node expression, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_EXPRESSION_INVOKE,
receiver: expression, arguments: arguments));
}
@override
visitIs(Send node, Node expression, DartType type, arg) {
visits
.add(new Visit(VisitKind.VISIT_IS, expression: expression, type: type));
apply(expression, arg);
}
@override
visitIsNot(Send node, Node expression, DartType type, arg) {
visits.add(
new Visit(VisitKind.VISIT_IS_NOT, expression: expression, type: type));
apply(expression, arg);
}
@override
visitLogicalAnd(Send node, Node left, Node right, arg) {
visits
.add(new Visit(VisitKind.VISIT_LOGICAL_AND, left: left, right: right));
apply(left, arg);
apply(right, arg);
}
@override
visitLogicalOr(Send node, Node left, Node right, arg) {
visits.add(new Visit(VisitKind.VISIT_LOGICAL_OR, left: left, right: right));
apply(left, arg);
apply(right, arg);
}
@override
visitLocalFunctionGet(Send node, LocalFunctionElement function, arg) {
visits
.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_GET, element: function));
}
@override
visitLocalFunctionSet(
SendSet node, LocalFunctionElement function, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_SET,
element: function, rhs: rhs));
super.visitLocalFunctionSet(node, function, rhs, arg);
}
@override
visitLocalFunctionInvoke(Send node, LocalFunctionElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_INVOKE,
element: function, arguments: arguments, selector: callStructure));
super.visitLocalFunctionInvoke(
node, function, arguments, callStructure, arg);
}
@override
visitLocalFunctionIncompatibleInvoke(Send node, LocalFunctionElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_INCOMPATIBLE_INVOKE,
element: function, arguments: arguments, selector: callStructure));
super.visitLocalFunctionInvoke(
node, function, arguments, callStructure, arg);
}
@override
visitLocalVariableGet(Send node, LocalVariableElement variable, arg) {
visits
.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_GET, element: variable));
}
@override
visitLocalVariableInvoke(Send node, LocalVariableElement variable,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_INVOKE,
element: variable, arguments: arguments, selector: callStructure));
apply(arguments, arg);
}
@override
visitLocalVariableSet(
SendSet node, LocalVariableElement variable, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_SET,
element: variable, rhs: rhs));
super.visitLocalVariableSet(node, variable, rhs, arg);
}
@override
visitFinalLocalVariableSet(
SendSet node, LocalVariableElement variable, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_SET,
element: variable, rhs: rhs));
super.visitFinalLocalVariableSet(node, variable, rhs, arg);
}
@override
visitParameterGet(Send node, ParameterElement parameter, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_GET, element: parameter));
}
@override
visitParameterInvoke(Send node, ParameterElement parameter,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_INVOKE,
element: parameter, arguments: arguments, selector: callStructure));
apply(arguments, arg);
}
@override
visitParameterSet(SendSet node, ParameterElement parameter, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_PARAMETER_SET, element: parameter, rhs: rhs));
super.visitParameterSet(node, parameter, rhs, arg);
}
@override
visitFinalParameterSet(
SendSet node, ParameterElement parameter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_SET,
element: parameter, rhs: rhs));
super.visitFinalParameterSet(node, parameter, rhs, arg);
}
@override
visitStaticFieldGet(Send node, FieldElement field, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_GET, element: field));
}
@override
visitStaticFieldInvoke(Send node, FieldElement field, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE,
element: field, arguments: arguments));
apply(arguments, arg);
}
@override
visitStaticFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_STATIC_FIELD_SET, element: field, rhs: rhs));
super.visitStaticFieldSet(node, field, rhs, arg);
}
@override
visitFinalStaticFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_STATIC_FIELD_SET,
element: field, rhs: rhs));
super.visitFinalStaticFieldSet(node, field, rhs, arg);
}
@override
visitStaticFunctionGet(Send node, MethodElement function, arg) {
visits
.add(new Visit(VisitKind.VISIT_STATIC_FUNCTION_GET, element: function));
}
@override
visitStaticFunctionSet(SendSet node, MethodElement function, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FUNCTION_SET,
element: function, rhs: rhs));
super.visitStaticFunctionSet(node, function, rhs, arg);
}
@override
visitStaticFunctionInvoke(Send node, MethodElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FUNCTION_INVOKE,
element: function, arguments: arguments));
super.visitStaticFunctionInvoke(
node, function, arguments, callStructure, arg);
}
@override
visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE,
element: function, arguments: arguments));
apply(arguments, arg);
}
@override
visitStaticGetterGet(Send node, FunctionElement getter, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_GET, element: getter));
super.visitStaticGetterGet(node, getter, arg);
}
@override
visitStaticGetterSet(SendSet node, MethodElement getter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SET,
element: getter, rhs: rhs));
super.visitStaticGetterSet(node, getter, rhs, arg);
}
@override
visitStaticGetterInvoke(Send node, FunctionElement getter, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_INVOKE,
element: getter, arguments: arguments));
super.visitStaticGetterInvoke(node, getter, arguments, callStructure, arg);
}
@override
visitStaticSetterInvoke(Send node, FunctionElement setter, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE,
element: setter, arguments: arguments));
super.visitStaticSetterInvoke(node, setter, arguments, callStructure, arg);
}
@override
visitStaticSetterGet(Send node, FunctionElement getter, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_GET, element: getter));
super.visitStaticSetterGet(node, getter, arg);
}
@override
visitStaticSetterSet(SendSet node, FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_SET,
element: setter, rhs: rhs));
super.visitStaticSetterSet(node, setter, rhs, arg);
}
@override
visitSuperBinary(Send node, FunctionElement function, BinaryOperator operator,
Node argument, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_BINARY,
element: function, operator: operator, right: argument));
apply(argument, arg);
}
@override
visitUnresolvedSuperBinary(
Send node, Element element, BinaryOperator operator, Node argument, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_BINARY,
operator: operator, right: argument));
apply(argument, arg);
}
@override
visitSuperIndex(Send node, FunctionElement function, Node index, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX,
element: function, index: index));
apply(index, arg);
}
@override
visitUnresolvedSuperIndex(Send node, Element element, Node index, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX, index: index));
apply(index, arg);
}
@override
visitSuperNotEquals(Send node, FunctionElement function, Node argument, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_NOT_EQUALS,
element: function, right: argument));
apply(argument, arg);
}
@override
visitThisGet(Identifier node, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_GET));
}
@override
visitThisInvoke(
Send node, NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_INVOKE, arguments: arguments));
apply(arguments, arg);
}
@override
visitThisPropertyGet(Send node, Name name, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_GET, name: name));
super.visitThisPropertyGet(node, name, arg);
}
@override
visitThisPropertyInvoke(
Send node, NodeList arguments, Selector selector, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_INVOKE,
name: selector.name, arguments: arguments));
super.visitThisPropertyInvoke(node, arguments, selector, arg);
}
@override
visitThisPropertySet(SendSet node, Name name, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_THIS_PROPERTY_SET, name: name, rhs: rhs));
super.visitThisPropertySet(node, name, rhs, arg);
}
@override
visitTopLevelFieldGet(Send node, FieldElement field, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_GET, element: field));
}
@override
visitTopLevelFieldInvoke(Send node, FieldElement field, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_INVOKE,
element: field, arguments: arguments));
apply(arguments, arg);
}
@override
visitTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_SET,
element: field, rhs: rhs));
super.visitTopLevelFieldSet(node, field, rhs, arg);
}
@override
visitFinalTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_TOP_LEVEL_FIELD_SET,
element: field, rhs: rhs));
super.visitFinalTopLevelFieldSet(node, field, rhs, arg);
}
@override
visitTopLevelFunctionGet(Send node, MethodElement function, arg) {
visits.add(
new Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_GET, element: function));
}
@override
visitTopLevelFunctionSet(
SendSet node, MethodElement function, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_SET,
element: function, rhs: rhs));
super.visitTopLevelFunctionSet(node, function, rhs, arg);
}
@override
visitTopLevelFunctionInvoke(Send node, MethodElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_INVOKE,
element: function, arguments: arguments));
apply(arguments, arg);
}
@override
visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE,
element: function, arguments: arguments));
apply(arguments, arg);
}
@override
visitTopLevelGetterGet(Send node, FunctionElement getter, arg) {
visits
.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_GET, element: getter));
super.visitTopLevelGetterGet(node, getter, arg);
}
@override
visitTopLevelSetterGet(Send node, FunctionElement setter, arg) {
visits
.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_GET, element: setter));
super.visitTopLevelSetterGet(node, setter, arg);
}
@override
visitTopLevelGetterInvoke(Send node, FunctionElement getter,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_INVOKE,
element: getter, arguments: arguments));
super
.visitTopLevelGetterInvoke(node, getter, arguments, callStructure, arg);
}
@override
visitTopLevelSetterInvoke(Send node, FunctionElement setter,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_INVOKE,
element: setter, arguments: arguments));
super
.visitTopLevelSetterInvoke(node, setter, arguments, callStructure, arg);
}
@override
visitTopLevelGetterSet(SendSet node, FunctionElement getter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SET,
element: getter, rhs: rhs));
super.visitTopLevelGetterSet(node, getter, rhs, arg);
}
@override
visitTopLevelSetterSet(SendSet node, FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_SET,
element: setter, rhs: rhs));
super.visitTopLevelSetterSet(node, setter, rhs, arg);
}
@override
visitTypeVariableTypeLiteralGet(Send node, TypeVariableElement element, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET,
element: element));
}
@override
visitTypeVariableTypeLiteralInvoke(Send node, TypeVariableElement element,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE,
element: element, arguments: arguments));
apply(arguments, arg);
}
@override
visitTypeVariableTypeLiteralSet(
SendSet node, TypeVariableElement element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
element: element, rhs: rhs));
super.visitTypeVariableTypeLiteralSet(node, element, rhs, arg);
}
@override
visitTypedefTypeLiteralGet(Send node, ConstantExpression constant, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_GET,
constant: constant.toDartText()));
}
@override
visitTypedefTypeLiteralInvoke(Send node, ConstantExpression constant,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_INVOKE,
constant: constant.toDartText(), arguments: arguments));
apply(arguments, arg);
}
@override
visitTypedefTypeLiteralSet(
SendSet node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET,
constant: constant.toDartText(), rhs: rhs));
super.visitTypedefTypeLiteralSet(node, constant, rhs, arg);
}
@override
visitUnary(Send node, UnaryOperator operator, Node expression, arg) {
visits.add(new Visit(VisitKind.VISIT_UNARY,
expression: expression, operator: operator));
super.visitUnary(node, operator, expression, arg);
}
@override
errorUndefinedUnaryExpression(
Send node, Operator operator, Node expression, arg) {
visits.add(new Visit(VisitKind.ERROR_UNDEFINED_UNARY_EXPRESSION,
expression: expression, operator: operator));
super.errorUndefinedUnaryExpression(node, operator, expression, arg);
}
@override
visitNot(Send node, Node expression, arg) {
visits.add(new Visit(VisitKind.VISIT_NOT, expression: expression));
apply(expression, arg);
}
@override
visitSuperFieldGet(Send node, FieldElement field, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_GET, element: field));
}
@override
visitUnresolvedSuperGet(Send node, Element element, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GET));
return super.visitUnresolvedSuperGet(node, element, arg);
}
@override
visitUnresolvedSuperSet(Send node, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SET, rhs: rhs));
return super.visitUnresolvedSuperSet(node, element, rhs, arg);
}
@override
visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_INVOKE,
element: field, arguments: arguments));
apply(arguments, arg);
}
@override
visitUnresolvedSuperInvoke(
Send node, Element element, NodeList arguments, Selector selector, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INVOKE,
arguments: arguments));
apply(arguments, arg);
}
@override
visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_SUPER_FIELD_SET, element: field, rhs: rhs));
super.visitSuperFieldSet(node, field, rhs, arg);
}
@override
visitFinalSuperFieldSet(SendSet node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_SUPER_FIELD_SET,
element: field, rhs: rhs));
super.visitFinalSuperFieldSet(node, field, rhs, arg);
}
@override
visitSuperMethodGet(Send node, MethodElement method, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_GET, element: method));
}
@override
visitSuperMethodSet(SendSet node, MethodElement method, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_SUPER_METHOD_SET, element: method, rhs: rhs));
super.visitSuperMethodSet(node, method, rhs, arg);
}
@override
visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_INVOKE,
element: method, arguments: arguments));
apply(arguments, arg);
}
@override
visitSuperMethodIncompatibleInvoke(Send node, MethodElement method,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE,
element: method, arguments: arguments));
apply(arguments, arg);
}
@override
visitSuperGetterGet(Send node, FunctionElement getter, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_GET, element: getter));
super.visitSuperGetterGet(node, getter, arg);
}
@override
visitSuperSetterGet(Send node, FunctionElement setter, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_SETTER_GET, element: setter));
super.visitSuperSetterGet(node, setter, arg);
}
@override
visitSuperGetterInvoke(Send node, FunctionElement getter, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_INVOKE,
element: getter, arguments: arguments));
super.visitSuperGetterInvoke(node, getter, arguments, callStructure, arg);
}
@override
visitSuperSetterInvoke(Send node, FunctionElement setter, NodeList arguments,
CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_SETTER_INVOKE,
element: setter, arguments: arguments));
super.visitSuperSetterInvoke(node, setter, arguments, callStructure, arg);
}
@override
visitSuperGetterSet(SendSet node, FunctionElement getter, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_SUPER_GETTER_SET, element: getter, rhs: rhs));
super.visitSuperGetterSet(node, getter, rhs, arg);
}
@override
visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, arg) {
visits.add(
new Visit(VisitKind.VISIT_SUPER_SETTER_SET, element: setter, rhs: rhs));
super.visitSuperSetterSet(node, setter, rhs, arg);
}
@override
visitSuperUnary(
Send node, UnaryOperator operator, FunctionElement function, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_UNARY,
element: function, operator: operator));
}
@override
visitUnresolvedSuperUnary(
Send node, UnaryOperator operator, Element element, arg) {
visits.add(
new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_UNARY, operator: operator));
}
@override
visitEquals(Send node, Node left, Node right, arg) {
visits.add(new Visit(VisitKind.VISIT_EQUALS, left: left, right: right));
apply(left, arg);
apply(right, arg);
}
@override
visitSuperEquals(Send node, FunctionElement function, Node argument, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_EQUALS,
element: function, right: argument));
apply(argument, arg);
}
@override
visitIndexSet(Send node, Node receiver, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_INDEX_SET,
receiver: receiver, index: index, rhs: rhs));
apply(receiver, arg);
apply(index, arg);
apply(rhs, arg);
}
@override
visitSuperIndexSet(
Send node, FunctionElement function, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET,
element: function, index: index, rhs: rhs));
apply(index, arg);
apply(rhs, arg);
}
@override
visitDynamicPropertyCompound(Send node, Node receiver, Name name,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND,
receiver: receiver, operator: operator, rhs: rhs, name: name));
super
.visitDynamicPropertyCompound(node, receiver, name, operator, rhs, arg);
}
@override
visitFinalLocalVariableCompound(Send node, LocalVariableElement variable,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
element: variable, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitFinalLocalVariablePrefix(
Send node, LocalVariableElement variable, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
element: variable, operator: operator));
}
@override
visitFinalLocalVariablePostfix(
Send node, LocalVariableElement variable, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
element: variable, operator: operator));
}
@override
visitFinalParameterCompound(Send node, ParameterElement parameter,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
element: parameter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitFinalParameterPrefix(
Send node, ParameterElement parameter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
element: parameter, operator: operator));
}
@override
visitFinalParameterPostfix(
Send node, ParameterElement parameter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
element: parameter, operator: operator));
}
@override
visitFinalStaticFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitFinalStaticFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitFinalStaticFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitFinalSuperFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitFinalTopLevelFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitFinalTopLevelFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitFinalTopLevelFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitLocalFunctionCompound(Send node, LocalFunctionElement function,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
element: function, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitLocalVariableCompound(Send node, LocalVariableElement variable,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND,
element: variable, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitParameterCompound(Send node, ParameterElement parameter,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_COMPOUND,
element: parameter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitStaticFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitStaticGetterSetterCompound(Send node, FunctionElement getter,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SETTER_COMPOUND,
operator: operator, rhs: rhs, getter: getter, setter: setter));
apply(rhs, arg);
}
@override
visitSuperFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitSuperGetterSetterCompound(Send node, FunctionElement getter,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_COMPOUND,
operator: operator, rhs: rhs, getter: getter, setter: setter));
apply(rhs, arg);
}
@override
visitThisPropertyCompound(
Send node, Name name, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_COMPOUND,
name: name, operator: operator, rhs: rhs));
super.visitThisPropertyCompound(node, name, operator, rhs, arg);
}
@override
visitTopLevelFieldCompound(Send node, FieldElement field,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_COMPOUND,
element: field, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitTopLevelGetterSetterCompound(Send node, FunctionElement getter,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND,
operator: operator, rhs: rhs, getter: getter, setter: setter));
apply(rhs, arg);
}
@override
visitStaticMethodSetterCompound(Send node, FunctionElement method,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_COMPOUND,
operator: operator, rhs: rhs, getter: method, setter: setter));
apply(rhs, arg);
}
@override
visitSuperFieldSetterCompound(Send node, FieldElement field,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_COMPOUND,
operator: operator, rhs: rhs, getter: field, setter: setter));
apply(rhs, arg);
}
@override
visitSuperGetterFieldCompound(Send node, FunctionElement getter,
FieldElement field, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_FIELD_COMPOUND,
operator: operator, rhs: rhs, getter: getter, setter: field));
apply(rhs, arg);
}
@override
visitSuperMethodSetterCompound(Send node, FunctionElement method,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
getter: method, setter: setter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitSuperMethodCompound(Send node, FunctionElement method,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
element: method, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitSuperMethodPrefix(
Send node, FunctionElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
element: method, operator: operator));
}
@override
visitSuperMethodPostfix(
Send node, FunctionElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
element: method, operator: operator));
}
@override
visitUnresolvedSuperCompound(
Send node, Element element, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedSuperPrefix(
Send node, Element element, IncDecOperator operator, arg) {
visits.add(
new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX, operator: operator));
}
@override
visitUnresolvedSuperPostfix(
Send node, Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
operator: operator));
}
@override
visitTopLevelMethodSetterCompound(Send node, FunctionElement method,
FunctionElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
getter: method, setter: setter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitCompoundIndexSet(Send node, Node receiver, Node index,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_COMPOUND_INDEX_SET,
receiver: receiver, index: index, rhs: rhs, operator: operator));
apply(receiver, arg);
apply(index, arg);
apply(rhs, arg);
}
@override
visitSuperCompoundIndexSet(
Send node,
FunctionElement getter,
FunctionElement setter,
Node index,
AssignmentOperator operator,
Node rhs,
arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_COMPOUND_INDEX_SET,
getter: getter,
setter: setter,
index: index,
rhs: rhs,
operator: operator));
apply(index, arg);
apply(rhs, arg);
}
@override
visitClassTypeLiteralCompound(Send node, ConstantExpression constant,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
constant: constant.toDartText(), operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitDynamicTypeLiteralCompound(Send node, ConstantExpression constant,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
constant: constant.toDartText(), operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitTypeVariableTypeLiteralCompound(Send node, TypeVariableElement element,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
element: element, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitTypedefTypeLiteralCompound(Send node, ConstantExpression constant,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
constant: constant.toDartText(), operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitLocalFunctionPrefix(
Send node, LocalFunctionElement function, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
element: function, operator: operator));
}
@override
visitClassTypeLiteralPrefix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitDynamicTypeLiteralPrefix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitLocalVariablePrefix(
Send node, LocalVariableElement variable, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX,
element: variable, operator: operator));
}
@override
visitParameterPrefix(
Send node, ParameterElement parameter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_PREFIX,
element: parameter, operator: operator));
}
@override
visitStaticFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitStaticGetterSetterPrefix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SETTER_PREFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitStaticMethodSetterPrefix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitSuperFieldFieldCompound(Send node, FieldElement readField,
FieldElement writtenField, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
getter: readField, setter: writtenField, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitSuperFieldFieldPrefix(Send node, FieldElement readField,
FieldElement writtenField, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
getter: readField, setter: writtenField, operator: operator));
}
@override
visitSuperFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitFinalSuperFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitSuperFieldSetterPrefix(Send node, FieldElement field,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
getter: field, setter: setter, operator: operator));
}
@override
visitSuperGetterFieldPrefix(Send node, FunctionElement getter,
FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_FIELD_PREFIX,
getter: getter, setter: field, operator: operator));
}
@override
visitSuperGetterSetterPrefix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_PREFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitSuperMethodSetterPrefix(Send node, FunctionElement method,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
getter: method, setter: setter, operator: operator));
}
@override
visitThisPropertyPrefix(Send node, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_PREFIX,
name: name, operator: operator));
super.visitThisPropertyPrefix(node, name, operator, arg);
}
@override
visitTopLevelFieldPrefix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_PREFIX,
element: field, operator: operator));
}
@override
visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitTopLevelMethodSetterPrefix(Send node, FunctionElement method,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
getter: method, setter: setter, operator: operator));
}
@override
visitTypeVariableTypeLiteralPrefix(
Send node, TypeVariableElement element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
element: element, operator: operator));
}
@override
visitTypedefTypeLiteralPrefix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitLocalFunctionPostfix(
Send node, LocalFunctionElement function, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
element: function, operator: operator));
}
@override
visitClassTypeLiteralPostfix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitDynamicTypeLiteralPostfix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitLocalVariablePostfix(
Send node, LocalVariableElement variable, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX,
element: variable, operator: operator));
}
@override
visitParameterPostfix(
Send node, ParameterElement parameter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_POSTFIX,
element: parameter, operator: operator));
}
@override
visitStaticFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitStaticGetterSetterPostfix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SETTER_POSTFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitStaticMethodSetterPostfix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitSuperFieldFieldPostfix(Send node, FieldElement readField,
FieldElement writtenField, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
getter: readField, setter: writtenField, operator: operator));
}
@override
visitSuperFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitFinalSuperFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitSuperFieldSetterPostfix(Send node, FieldElement field,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
getter: field, setter: setter, operator: operator));
}
@override
visitSuperGetterFieldPostfix(Send node, FunctionElement getter,
FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_FIELD_POSTFIX,
getter: getter, setter: field, operator: operator));
}
@override
visitSuperGetterSetterPostfix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_POSTFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitSuperMethodSetterPostfix(Send node, FunctionElement method,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
getter: method, setter: setter, operator: operator));
}
@override
visitThisPropertyPostfix(Send node, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_POSTFIX,
name: name, operator: operator));
super.visitThisPropertyPostfix(node, name, operator, arg);
}
@override
visitTopLevelFieldPostfix(
Send node, FieldElement field, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_POSTFIX,
element: field, operator: operator));
}
@override
visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX,
getter: getter, setter: setter, operator: operator));
}
@override
visitTopLevelMethodSetterPostfix(Send node, FunctionElement method,
FunctionElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
getter: method, setter: setter, operator: operator));
}
@override
visitTypeVariableTypeLiteralPostfix(
Send node, TypeVariableElement element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
element: element, operator: operator));
}
@override
visitTypedefTypeLiteralPostfix(
Send node, ConstantExpression constant, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
constant: constant.toDartText(), operator: operator));
}
@override
visitUnresolvedCompound(Send node, ErroneousElement element,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedGet(Send node, Element element, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_GET, name: element.name));
}
@override
visitUnresolvedSet(Send node, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SET,
name: element.name, rhs: rhs));
super.visitUnresolvedSet(node, element, rhs, arg);
}
@override
visitUnresolvedInvoke(
Send node, Element element, NodeList arguments, Selector selector, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
name: element.name, arguments: arguments));
super.visitUnresolvedInvoke(node, element, arguments, selector, arg);
}
@override
visitUnresolvedPostfix(
Send node, ErroneousElement element, IncDecOperator operator, arg) {
visits
.add(new Visit(VisitKind.VISIT_UNRESOLVED_POSTFIX, operator: operator));
}
@override
visitUnresolvedPrefix(
Send node, ErroneousElement element, IncDecOperator operator, arg) {
visits
.add(new Visit(VisitKind.VISIT_UNRESOLVED_PREFIX, operator: operator));
}
@override
visitUnresolvedSuperCompoundIndexSet(Send node, Element element, Node index,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET,
index: index, operator: operator, rhs: rhs));
apply(index, arg);
apply(rhs, arg);
}
@override
visitUnresolvedSuperGetterCompoundIndexSet(
Send node,
Element element,
MethodElement setter,
Node index,
AssignmentOperator operator,
Node rhs,
arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
setter: setter,
index: index,
operator: operator,
rhs: rhs));
apply(index, arg);
apply(rhs, arg);
}
@override
visitUnresolvedSuperSetterCompoundIndexSet(Send node, MethodElement getter,
Element element, Node index, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET,
getter: getter,
index: index,
operator: operator,
rhs: rhs));
apply(index, arg);
apply(rhs, arg);
}
@override
visitUnresolvedSuperIndexSet(
Send node, ErroneousElement element, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_SET,
index: index, rhs: rhs));
apply(index, arg);
apply(rhs, arg);
}
@override
visitUnresolvedSuperIndexPostfix(
Send node, Element element, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
index: index, operator: operator));
apply(index, arg);
}
@override
visitUnresolvedSuperGetterIndexPostfix(Send node, Element element,
MethodElement setter, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
setter: setter, index: index, operator: operator));
apply(index, arg);
}
@override
visitUnresolvedSuperSetterIndexPostfix(Send node, MethodElement getter,
Element element, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX,
getter: getter, index: index, operator: operator));
apply(index, arg);
}
@override
visitUnresolvedSuperIndexPrefix(
Send node, Element element, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
index: index, operator: operator));
apply(index, arg);
}
@override
visitUnresolvedSuperGetterIndexPrefix(Send node, Element element,
MethodElement setter, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
setter: setter, index: index, operator: operator));
apply(index, arg);
}
@override
visitUnresolvedSuperSetterIndexPrefix(Send node, MethodElement getter,
Element element, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX,
getter: getter, index: index, operator: operator));
apply(index, arg);
}
@override
visitIndexPostfix(
Send node, Node receiver, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_INDEX_POSTFIX,
receiver: receiver, index: index, operator: operator));
apply(receiver, arg);
apply(index, arg);
}
@override
visitIndexPrefix(
Send node, Node receiver, Node index, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_INDEX_PREFIX,
receiver: receiver, index: index, operator: operator));
apply(receiver, arg);
apply(index, arg);
}
@override
visitSuperIndexPostfix(
Send node,
FunctionElement indexFunction,
FunctionElement indexSetFunction,
Node index,
IncDecOperator operator,
arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_POSTFIX,
getter: indexFunction,
setter: indexSetFunction,
index: index,
operator: operator));
apply(index, arg);
}
@override
visitSuperIndexPrefix(
Send node,
FunctionElement indexFunction,
FunctionElement indexSetFunction,
Node index,
IncDecOperator operator,
arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_PREFIX,
getter: indexFunction,
setter: indexSetFunction,
index: index,
operator: operator));
apply(index, arg);
}
@override
visitUnresolvedClassConstructorInvoke(NewExpression node, Element constructor,
DartType type, NodeList arguments, Selector selector, arg) {
// TODO(johnniwinther): Test [type] when it is not `dynamic`.
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_CLASS_CONSTRUCTOR_INVOKE,
arguments: arguments));
apply(arguments, arg);
}
@override
visitUnresolvedConstructorInvoke(NewExpression node, Element constructor,
DartType type, NodeList arguments, Selector selector, arg) {
// TODO(johnniwinther): Test [type] when it is not `dynamic`.
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_CONSTRUCTOR_INVOKE,
arguments: arguments));
apply(arguments, arg);
}
@override
visitConstConstructorInvoke(
NewExpression node, ConstructedConstantExpression constant, arg) {
visits.add(new Visit(VisitKind.VISIT_CONST_CONSTRUCTOR_INVOKE,
constant: constant.toDartText()));
super.visitConstConstructorInvoke(node, constant, arg);
}
@override
visitBoolFromEnvironmentConstructorInvoke(
NewExpression node, BoolFromEnvironmentConstantExpression constant, arg) {
visits.add(new Visit(
VisitKind.VISIT_BOOL_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE,
constant: constant.toDartText()));
super.visitBoolFromEnvironmentConstructorInvoke(node, constant, arg);
}
@override
visitIntFromEnvironmentConstructorInvoke(
NewExpression node, IntFromEnvironmentConstantExpression constant, arg) {
visits.add(new Visit(
VisitKind.VISIT_INT_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE,
constant: constant.toDartText()));
super.visitIntFromEnvironmentConstructorInvoke(node, constant, arg);
}
@override
visitStringFromEnvironmentConstructorInvoke(NewExpression node,
StringFromEnvironmentConstantExpression constant, arg) {
visits.add(new Visit(
VisitKind.VISIT_STRING_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE,
constant: constant.toDartText()));
super.visitStringFromEnvironmentConstructorInvoke(node, constant, arg);
}
@override
errorNonConstantConstructorInvoke(NewExpression node, Element element,
DartType type, NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
element: element,
type: type,
arguments: arguments,
selector: callStructure));
super.errorNonConstantConstructorInvoke(
node, element, type, arguments, callStructure, arg);
}
@override
visitConstructorIncompatibleInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_CONSTRUCTOR_INCOMPATIBLE_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
super.visitConstructorIncompatibleInvoke(
node, constructor, type, arguments, callStructure, arg);
}
@override
visitFactoryConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_FACTORY_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitGenerativeConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_GENERATIVE_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitRedirectingFactoryConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
ConstructorElement effectiveTarget,
InterfaceType effectiveTargetType,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
target: effectiveTarget,
targetType: effectiveTargetType,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitRedirectingGenerativeConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(
VisitKind.VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitAbstractClassConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(VisitKind.VISIT_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitUnresolvedRedirectingFactoryConstructorInvoke(
NewExpression node,
ConstructorElement constructor,
InterfaceType type,
NodeList arguments,
CallStructure callStructure,
arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
element: constructor,
type: type,
arguments: arguments,
selector: callStructure));
apply(arguments, arg);
}
@override
visitUnresolvedStaticGetterCompound(Send node, Element element,
MethodElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
setter: setter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedTopLevelGetterCompound(Send node, Element element,
MethodElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
setter: setter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedStaticSetterCompound(Send node, MethodElement getter,
Element element, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
getter: getter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedTopLevelSetterCompound(Send node, MethodElement getter,
Element element, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
getter: getter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitStaticMethodCompound(Send node, MethodElement method,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
element: method, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitTopLevelMethodCompound(Send node, MethodElement method,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
element: method, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedStaticGetterPrefix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedTopLevelGetterPrefix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedStaticSetterPrefix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
getter: getter, operator: operator));
}
@override
visitUnresolvedTopLevelSetterPrefix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
getter: getter, operator: operator));
}
@override
visitStaticMethodPrefix(
Send node, MethodElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
element: method, operator: operator));
}
@override
visitTopLevelMethodPrefix(
Send node, MethodElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
element: method, operator: operator));
}
@override
visitUnresolvedStaticGetterPostfix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedTopLevelGetterPostfix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedStaticSetterPostfix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
getter: getter, operator: operator));
}
@override
visitUnresolvedTopLevelSetterPostfix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
getter: getter, operator: operator));
}
@override
visitStaticMethodPostfix(
Send node, MethodElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
element: method, operator: operator));
}
@override
visitTopLevelMethodPostfix(
Send node, MethodElement method, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
element: method, operator: operator));
}
@override
visitUnresolvedSuperGetterCompound(Send node, Element element,
MethodElement setter, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
setter: setter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedSuperGetterPostfix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedSuperGetterPrefix(Send node, Element element,
MethodElement setter, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
setter: setter, operator: operator));
}
@override
visitUnresolvedSuperSetterCompound(Send node, MethodElement getter,
Element element, AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
getter: getter, operator: operator, rhs: rhs));
apply(rhs, arg);
}
@override
visitUnresolvedSuperSetterPostfix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
getter: getter, operator: operator));
}
@override
visitUnresolvedSuperSetterPrefix(Send node, MethodElement getter,
Element element, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
getter: getter, operator: operator));
}
@override
visitIfNotNullDynamicPropertyGet(Send node, Node receiver, Name name, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_GET,
receiver: receiver, name: name));
super.visitIfNotNullDynamicPropertyGet(node, receiver, name, arg);
}
@override
visitIfNotNullDynamicPropertySet(
Send node, Node receiver, Name name, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET,
receiver: receiver, name: name, rhs: rhs));
super.visitIfNotNullDynamicPropertySet(node, receiver, name, rhs, arg);
}
@override
visitIfNotNullDynamicPropertyInvoke(
Send node, Node receiver, NodeList arguments, Selector selector, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_INVOKE,
receiver: receiver, selector: selector, arguments: arguments));
super.visitIfNotNullDynamicPropertyInvoke(
node, receiver, arguments, selector, arg);
}
@override
visitIfNotNullDynamicPropertyPrefix(
Send node, Node receiver, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_PREFIX,
receiver: receiver, name: name, operator: operator));
super.visitIfNotNullDynamicPropertyPrefix(
node, receiver, name, operator, arg);
}
@override
visitIfNotNullDynamicPropertyPostfix(
Send node, Node receiver, Name name, IncDecOperator operator, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_POSTFIX,
receiver: receiver, name: name, operator: operator));
super.visitIfNotNullDynamicPropertyPostfix(
node, receiver, name, operator, arg);
}
@override
visitIfNotNullDynamicPropertyCompound(Send node, Node receiver, Name name,
AssignmentOperator operator, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_COMPOUND,
receiver: receiver, name: name, operator: operator, rhs: rhs));
super.visitIfNotNullDynamicPropertyCompound(
node, receiver, name, operator, rhs, arg);
}
@override
visitIfNull(Send node, Node left, Node right, arg) {
visits.add(new Visit(VisitKind.VISIT_IF_NULL, left: left, right: right));
super.visitIfNull(node, left, right, arg);
}
@override
visitConstantGet(Send node, ConstantExpression constant, arg) {
visits.add(new Visit(VisitKind.VISIT_CONSTANT_GET,
constant: constant.toDartText()));
super.visitConstantGet(node, constant, arg);
}
@override
visitConstantInvoke(Send node, ConstantExpression constant,
NodeList arguments, CallStructure callStructure, arg) {
visits.add(new Visit(VisitKind.VISIT_CONSTANT_INVOKE,
constant: constant.toDartText()));
super.visitConstantInvoke(node, constant, arguments, callStructure, arg);
}
@override
previsitDeferredAccess(Send node, PrefixElement prefix, arg) {
visits.add(new Visit(VisitKind.PREVISIT_DEFERRED_ACCESS, element: prefix));
}
@override
visitClassTypeLiteralSetIfNull(
Send node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_SET_IF_NULL,
constant: constant.toDartText(), rhs: rhs));
super.visitClassTypeLiteralSetIfNull(node, constant, rhs, arg);
}
@override
visitDynamicPropertySetIfNull(
Send node, Node receiver, Name name, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_SET_IF_NULL,
receiver: receiver, name: name, rhs: rhs));
super.visitDynamicPropertySetIfNull(node, receiver, name, rhs, arg);
}
@override
visitDynamicTypeLiteralSetIfNull(
Send node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET_IF_NULL,
constant: constant.toDartText(), rhs: rhs));
super.visitDynamicTypeLiteralSetIfNull(node, constant, rhs, arg);
}
@override
visitFinalLocalVariableSetIfNull(
Send node, LocalVariableElement variable, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_SET_IF_NULL,
element: variable, rhs: rhs));
super.visitFinalLocalVariableSetIfNull(node, variable, rhs, arg);
}
@override
visitFinalParameterSetIfNull(
Send node, ParameterElement parameter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_SET_IF_NULL,
element: parameter, rhs: rhs));
super.visitFinalParameterSetIfNull(node, parameter, rhs, arg);
}
@override
visitFinalStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitFinalStaticFieldSetIfNull(node, field, rhs, arg);
}
@override
visitFinalSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitFinalSuperFieldSetIfNull(node, field, rhs, arg);
}
@override
visitFinalTopLevelFieldSetIfNull(
Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitFinalTopLevelFieldSetIfNull(node, field, rhs, arg);
}
@override
visitIfNotNullDynamicPropertySetIfNull(
Send node, Node receiver, Name name, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET_IF_NULL,
receiver: receiver,
name: name,
rhs: rhs));
super
.visitIfNotNullDynamicPropertySetIfNull(node, receiver, name, rhs, arg);
}
@override
visitLocalFunctionSetIfNull(
Send node, LocalFunctionElement function, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_SET_IF_NULL,
element: function, rhs: rhs));
super.visitLocalFunctionSetIfNull(node, function, rhs, arg);
}
@override
visitLocalVariableSetIfNull(
Send node, LocalVariableElement variable, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_SET_IF_NULL,
element: variable, rhs: rhs));
super.visitLocalVariableSetIfNull(node, variable, rhs, arg);
}
@override
visitParameterSetIfNull(
Send node, ParameterElement parameter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_PARAMETER_SET_IF_NULL,
element: parameter, rhs: rhs));
super.visitParameterSetIfNull(node, parameter, rhs, arg);
}
@override
visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitStaticFieldSetIfNull(node, field, rhs, arg);
}
@override
visitStaticGetterSetterSetIfNull(Send node, FunctionElement getter,
FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SETTER_SET_IF_NULL,
getter: getter, setter: setter, rhs: rhs));
super.visitStaticGetterSetterSetIfNull(node, getter, setter, rhs, arg);
}
@override
visitStaticMethodSetIfNull(Send node, FunctionElement method, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SET_IF_NULL,
element: method, rhs: rhs));
super.visitStaticMethodSetIfNull(node, method, rhs, arg);
}
@override
visitStaticMethodSetterSetIfNull(
Send node, MethodElement method, MethodElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_SET_IF_NULL,
getter: method, setter: setter, rhs: rhs));
super.visitStaticMethodSetterSetIfNull(node, method, setter, rhs, arg);
}
@override
visitSuperFieldFieldSetIfNull(Send node, FieldElement readField,
FieldElement writtenField, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_SET_IF_NULL,
getter: readField, setter: writtenField, rhs: rhs));
super
.visitSuperFieldFieldSetIfNull(node, readField, writtenField, rhs, arg);
}
@override
visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitSuperFieldSetIfNull(node, field, rhs, arg);
}
@override
visitSuperFieldSetterSetIfNull(
Send node, FieldElement field, FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_SET_IF_NULL,
getter: field, setter: setter, rhs: rhs));
super.visitSuperFieldSetterSetIfNull(node, field, setter, rhs, arg);
}
@override
visitSuperGetterFieldSetIfNull(
Send node, FunctionElement getter, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_FIELD_SET_IF_NULL,
getter: getter, setter: field, rhs: rhs));
super.visitSuperGetterFieldSetIfNull(node, getter, field, rhs, arg);
}
@override
visitSuperGetterSetterSetIfNull(Send node, FunctionElement getter,
FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_SET_IF_NULL,
getter: getter, setter: setter, rhs: rhs));
super.visitSuperGetterSetterSetIfNull(node, getter, setter, rhs, arg);
}
@override
visitSuperMethodSetIfNull(Send node, FunctionElement method, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SET_IF_NULL,
element: method, rhs: rhs));
super.visitSuperMethodSetIfNull(node, method, rhs, arg);
}
@override
visitSuperMethodSetterSetIfNull(Send node, FunctionElement method,
FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_SET_IF_NULL,
getter: method, setter: setter, rhs: rhs));
super.visitSuperMethodSetterSetIfNull(node, method, setter, rhs, arg);
}
@override
visitThisPropertySetIfNull(Send node, Name name, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_SET_IF_NULL,
name: name, rhs: rhs));
super.visitThisPropertySetIfNull(node, name, rhs, arg);
}
@override
visitTopLevelFieldSetIfNull(Send node, FieldElement field, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_SET_IF_NULL,
element: field, rhs: rhs));
super.visitTopLevelFieldSetIfNull(node, field, rhs, arg);
}
@override
visitTopLevelGetterSetterSetIfNull(Send node, FunctionElement getter,
FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SETTER_SET_IF_NULL,
getter: getter, setter: setter, rhs: rhs));
super.visitTopLevelGetterSetterSetIfNull(node, getter, setter, rhs, arg);
}
@override
visitTopLevelMethodSetIfNull(
Send node, FunctionElement method, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SET_IF_NULL,
element: method, rhs: rhs));
super.visitTopLevelMethodSetIfNull(node, method, rhs, arg);
}
@override
visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method,
FunctionElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_SET_IF_NULL,
getter: method, setter: setter, rhs: rhs));
super.visitTopLevelMethodSetterSetIfNull(node, method, setter, rhs, arg);
}
@override
visitTypeVariableTypeLiteralSetIfNull(
Send node, TypeVariableElement element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET_IF_NULL,
element: element, rhs: rhs));
super.visitTypeVariableTypeLiteralSetIfNull(node, element, rhs, arg);
}
@override
visitTypedefTypeLiteralSetIfNull(
Send node, ConstantExpression constant, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET_IF_NULL,
constant: constant.toDartText(), rhs: rhs));
super.visitTypedefTypeLiteralSetIfNull(node, constant, rhs, arg);
}
@override
visitUnresolvedSetIfNull(Send node, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SET_IF_NULL,
name: element.name, rhs: rhs));
super.visitUnresolvedSetIfNull(node, element, rhs, arg);
}
@override
visitUnresolvedStaticGetterSetIfNull(
Send node, Element element, MethodElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_SET_IF_NULL,
setter: setter, rhs: rhs));
super.visitUnresolvedStaticGetterSetIfNull(node, element, setter, rhs, arg);
}
@override
visitUnresolvedStaticSetterSetIfNull(
Send node, MethodElement getter, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_SET_IF_NULL,
getter: getter, rhs: rhs));
super.visitUnresolvedStaticSetterSetIfNull(node, getter, element, rhs, arg);
}
@override
visitUnresolvedSuperGetterSetIfNull(
Send node, Element element, MethodElement setter, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_SET_IF_NULL,
setter: setter, rhs: rhs));
super.visitUnresolvedSuperGetterSetIfNull(node, element, setter, rhs, arg);
}
@override
visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SET_IF_NULL,
name: element.name, rhs: rhs));
super.visitUnresolvedSuperSetIfNull(node, element, rhs, arg);
}
@override
visitUnresolvedSuperSetterSetIfNull(
Send node, MethodElement getter, Element element, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_SET_IF_NULL,
getter: getter, rhs: rhs));
super.visitUnresolvedSuperSetterSetIfNull(node, getter, element, rhs, arg);
}
@override
visitUnresolvedTopLevelGetterSetIfNull(
Send node, Element element, MethodElement setter, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_SET_IF_NULL,
setter: setter,
rhs: rhs));
super.visitUnresolvedTopLevelGetterSetIfNull(
node, element, setter, rhs, arg);
}
@override
visitUnresolvedTopLevelSetterSetIfNull(
Send node, MethodElement getter, Element element, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_SET_IF_NULL,
getter: getter,
rhs: rhs));
super.visitUnresolvedTopLevelSetterSetIfNull(
node, getter, element, rhs, arg);
}
@override
visitIndexSetIfNull(SendSet node, Node receiver, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_INDEX_SET_IF_NULL,
receiver: receiver, index: index, rhs: rhs));
super.visitIndexSetIfNull(node, receiver, index, rhs, arg);
}
@override
visitSuperIndexSetIfNull(SendSet node, MethodElement getter,
MethodElement setter, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET_IF_NULL,
getter: getter, setter: setter, index: index, rhs: rhs));
super.visitSuperIndexSetIfNull(node, getter, setter, index, rhs, arg);
}
@override
visitUnresolvedSuperGetterIndexSetIfNull(Send node, Element element,
MethodElement setter, Node index, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_SET_IF_NULL,
setter: setter,
index: index,
rhs: rhs));
super.visitUnresolvedSuperGetterIndexSetIfNull(
node, element, setter, index, rhs, arg);
}
@override
visitUnresolvedSuperSetterIndexSetIfNull(Send node, MethodElement getter,
Element element, Node index, Node rhs, arg) {
visits.add(new Visit(
VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_INDEX_SET_IF_NULL,
getter: getter,
index: index,
rhs: rhs));
super.visitUnresolvedSuperSetterIndexSetIfNull(
node, getter, element, index, rhs, arg);
}
@override
visitUnresolvedSuperIndexSetIfNull(
Send node, Element element, Node index, Node rhs, arg) {
visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_SET_IF_NULL,
index: index, rhs: rhs));
super.visitUnresolvedSuperIndexSetIfNull(node, element, index, rhs, arg);
}
@override
errorInvalidIndexSetIfNull(
SendSet node, ErroneousElement error, Node index, Node rhs, arg) {
visits.add(
new Visit(VisitKind.ERROR_INVALID_SET_IF_NULL, index: index, rhs: rhs));
super.visitUnresolvedSuperIndexSetIfNull(node, error, index, rhs, arg);
}
}