Index: tests/compiler/dart2js/semantic_visitor_test.dart |
diff --git a/tests/compiler/dart2js/semantic_visitor_test.dart b/tests/compiler/dart2js/semantic_visitor_test.dart |
index 969b95d2849947f0b1c6d7076e2fcb5307f785f1..37d83bb24b15753b6846fbdcd5787f88e168b469 100644 |
--- a/tests/compiler/dart2js/semantic_visitor_test.dart |
+++ b/tests/compiler/dart2js/semantic_visitor_test.dart |
@@ -182,17 +182,21 @@ const List<VisitKind> UNTESTABLE_KINDS = const <VisitKind>[ |
// A final field shadowing a non-final field is currently not supported in |
// resolution. |
VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND, |
+ VisitKind.VISIT_SUPER_FIELD_FIELD_SET_IF_NULL, |
VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX, |
VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX, |
// Combination of method and setter with the same name is currently not |
// supported by the element model. |
VisitKind.VISIT_STATIC_METHOD_SETTER_COMPOUND, |
+ VisitKind.VISIT_STATIC_METHOD_SETTER_SET_IF_NULL, |
VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX, |
VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX, |
VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND, |
+ VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_SET_IF_NULL, |
VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX, |
VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX, |
VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND, |
+ VisitKind.VISIT_SUPER_METHOD_SETTER_SET_IF_NULL, |
VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX, |
VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX, |
// The only undefined unary, `+`, is currently handled and skipped in the |
@@ -371,10 +375,12 @@ enum VisitKind { |
VISIT_PARAMETER_SET, |
VISIT_PARAMETER_INVOKE, |
VISIT_PARAMETER_COMPOUND, |
+ VISIT_PARAMETER_SET_IF_NULL, |
VISIT_PARAMETER_PREFIX, |
VISIT_PARAMETER_POSTFIX, |
VISIT_FINAL_PARAMETER_SET, |
VISIT_FINAL_PARAMETER_COMPOUND, |
+ VISIT_FINAL_PARAMETER_SET_IF_NULL, |
VISIT_FINAL_PARAMETER_PREFIX, |
VISIT_FINAL_PARAMETER_POSTFIX, |
@@ -382,12 +388,14 @@ enum VisitKind { |
VISIT_LOCAL_VARIABLE_SET, |
VISIT_LOCAL_VARIABLE_INVOKE, |
VISIT_LOCAL_VARIABLE_COMPOUND, |
+ VISIT_LOCAL_VARIABLE_SET_IF_NULL, |
VISIT_LOCAL_VARIABLE_PREFIX, |
VISIT_LOCAL_VARIABLE_POSTFIX, |
VISIT_LOCAL_VARIABLE_DECL, |
VISIT_LOCAL_CONSTANT_DECL, |
VISIT_FINAL_LOCAL_VARIABLE_SET, |
VISIT_FINAL_LOCAL_VARIABLE_COMPOUND, |
+ VISIT_FINAL_LOCAL_VARIABLE_SET_IF_NULL, |
VISIT_FINAL_LOCAL_VARIABLE_PREFIX, |
VISIT_FINAL_LOCAL_VARIABLE_POSTFIX, |
@@ -398,6 +406,7 @@ enum VisitKind { |
VISIT_CLOSURE_DECL, |
VISIT_LOCAL_FUNCTION_SET, |
VISIT_LOCAL_FUNCTION_COMPOUND, |
+ VISIT_LOCAL_FUNCTION_SET_IF_NULL, |
VISIT_LOCAL_FUNCTION_PREFIX, |
VISIT_LOCAL_FUNCTION_POSTFIX, |
@@ -405,6 +414,7 @@ enum VisitKind { |
VISIT_STATIC_FIELD_SET, |
VISIT_STATIC_FIELD_INVOKE, |
VISIT_STATIC_FIELD_COMPOUND, |
+ VISIT_STATIC_FIELD_SET_IF_NULL, |
VISIT_STATIC_FIELD_PREFIX, |
VISIT_STATIC_FIELD_POSTFIX, |
VISIT_STATIC_FIELD_DECL, |
@@ -419,7 +429,9 @@ enum VisitKind { |
VISIT_STATIC_SETTER_INVOKE, |
VISIT_STATIC_GETTER_SETTER_COMPOUND, |
+ VISIT_STATIC_GETTER_SETTER_SET_IF_NULL, |
VISIT_STATIC_METHOD_SETTER_COMPOUND, |
+ VISIT_STATIC_METHOD_SETTER_SET_IF_NULL, |
VISIT_STATIC_GETTER_SETTER_PREFIX, |
VISIT_STATIC_GETTER_SETTER_POSTFIX, |
@@ -428,6 +440,7 @@ enum VisitKind { |
VISIT_FINAL_STATIC_FIELD_SET, |
VISIT_STATIC_FINAL_FIELD_COMPOUND, |
+ VISIT_STATIC_FINAL_FIELD_SET_IF_NULL, |
VISIT_STATIC_FINAL_FIELD_POSTFIX, |
VISIT_STATIC_FINAL_FIELD_PREFIX, |
@@ -440,8 +453,11 @@ enum VisitKind { |
VISIT_STATIC_METHOD_SETTER_POSTFIX, |
VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND, |
+ VISIT_UNRESOLVED_STATIC_GETTER_SET_IF_NULL, |
VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND, |
+ VISIT_UNRESOLVED_STATIC_SETTER_SET_IF_NULL, |
VISIT_STATIC_METHOD_COMPOUND, |
+ VISIT_STATIC_METHOD_SET_IF_NULL, |
VISIT_UNRESOLVED_STATIC_GETTER_PREFIX, |
VISIT_UNRESOLVED_STATIC_SETTER_PREFIX, |
VISIT_STATIC_METHOD_PREFIX, |
@@ -454,11 +470,13 @@ enum VisitKind { |
VISIT_TOP_LEVEL_FIELD_INVOKE, |
VISIT_FINAL_TOP_LEVEL_FIELD_SET, |
VISIT_TOP_LEVEL_FIELD_COMPOUND, |
+ VISIT_TOP_LEVEL_FIELD_SET_IF_NULL, |
VISIT_TOP_LEVEL_FIELD_PREFIX, |
VISIT_TOP_LEVEL_FIELD_POSTFIX, |
VISIT_TOP_LEVEL_FIELD_DECL, |
VISIT_TOP_LEVEL_CONSTANT_DECL, |
VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND, |
+ VISIT_TOP_LEVEL_FINAL_FIELD_SET_IF_NULL, |
VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX, |
VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX, |
@@ -469,6 +487,7 @@ enum VisitKind { |
VISIT_TOP_LEVEL_SETTER_SET, |
VISIT_TOP_LEVEL_SETTER_INVOKE, |
VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND, |
+ VISIT_TOP_LEVEL_GETTER_SETTER_SET_IF_NULL, |
VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX, |
VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX, |
VISIT_TOP_LEVEL_GETTER_DECL, |
@@ -480,12 +499,16 @@ enum VisitKind { |
VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE, |
VISIT_TOP_LEVEL_FUNCTION_DECL, |
VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND, |
+ VISIT_TOP_LEVEL_METHOD_SETTER_SET_IF_NULL, |
VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX, |
VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX, |
VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND, |
+ VISIT_UNRESOLVED_TOP_LEVEL_GETTER_SET_IF_NULL, |
VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND, |
+ VISIT_UNRESOLVED_TOP_LEVEL_SETTER_SET_IF_NULL, |
VISIT_TOP_LEVEL_METHOD_COMPOUND, |
+ VISIT_TOP_LEVEL_METHOD_SET_IF_NULL, |
VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX, |
VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX, |
VISIT_TOP_LEVEL_METHOD_PREFIX, |
@@ -497,6 +520,7 @@ enum VisitKind { |
VISIT_DYNAMIC_PROPERTY_SET, |
VISIT_DYNAMIC_PROPERTY_INVOKE, |
VISIT_DYNAMIC_PROPERTY_COMPOUND, |
+ VISIT_DYNAMIC_PROPERTY_SET_IF_NULL, |
VISIT_DYNAMIC_PROPERTY_PREFIX, |
VISIT_DYNAMIC_PROPERTY_POSTFIX, |
@@ -507,6 +531,7 @@ enum VisitKind { |
VISIT_THIS_PROPERTY_SET, |
VISIT_THIS_PROPERTY_INVOKE, |
VISIT_THIS_PROPERTY_COMPOUND, |
+ VISIT_THIS_PROPERTY_SET_IF_NULL, |
VISIT_THIS_PROPERTY_PREFIX, |
VISIT_THIS_PROPERTY_POSTFIX, |
@@ -515,12 +540,15 @@ enum VisitKind { |
VISIT_FINAL_SUPER_FIELD_SET, |
VISIT_SUPER_FIELD_INVOKE, |
VISIT_SUPER_FIELD_COMPOUND, |
+ VISIT_SUPER_FIELD_SET_IF_NULL, |
VISIT_SUPER_FIELD_PREFIX, |
VISIT_SUPER_FIELD_POSTFIX, |
VISIT_SUPER_FINAL_FIELD_COMPOUND, |
+ VISIT_SUPER_FINAL_FIELD_SET_IF_NULL, |
VISIT_SUPER_FINAL_FIELD_PREFIX, |
VISIT_SUPER_FINAL_FIELD_POSTFIX, |
VISIT_SUPER_FIELD_FIELD_COMPOUND, |
+ VISIT_SUPER_FIELD_FIELD_SET_IF_NULL, |
VISIT_SUPER_FIELD_FIELD_PREFIX, |
VISIT_SUPER_FIELD_FIELD_POSTFIX, |
@@ -531,8 +559,11 @@ enum VisitKind { |
VISIT_SUPER_SETTER_SET, |
VISIT_SUPER_SETTER_INVOKE, |
VISIT_SUPER_GETTER_SETTER_COMPOUND, |
+ VISIT_SUPER_GETTER_SETTER_SET_IF_NULL, |
VISIT_SUPER_GETTER_FIELD_COMPOUND, |
+ VISIT_SUPER_GETTER_FIELD_SET_IF_NULL, |
VISIT_SUPER_FIELD_SETTER_COMPOUND, |
+ VISIT_SUPER_FIELD_SETTER_SET_IF_NULL, |
VISIT_SUPER_GETTER_SETTER_PREFIX, |
VISIT_SUPER_GETTER_FIELD_PREFIX, |
VISIT_SUPER_FIELD_SETTER_PREFIX, |
@@ -545,9 +576,11 @@ enum VisitKind { |
VISIT_SUPER_METHOD_INVOKE, |
VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE, |
VISIT_SUPER_METHOD_SETTER_COMPOUND, |
+ VISIT_SUPER_METHOD_SETTER_SET_IF_NULL, |
VISIT_SUPER_METHOD_SETTER_PREFIX, |
VISIT_SUPER_METHOD_SETTER_POSTFIX, |
VISIT_SUPER_METHOD_COMPOUND, |
+ VISIT_SUPER_METHOD_SET_IF_NULL, |
VISIT_SUPER_METHOD_PREFIX, |
VISIT_SUPER_METHOD_POSTFIX, |
@@ -572,7 +605,9 @@ enum VisitKind { |
VISIT_SUPER_NOT_EQUALS, |
VISIT_SUPER_INDEX_PREFIX, |
VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND, |
+ VISIT_UNRESOLVED_SUPER_GETTER_SET_IF_NULL, |
VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND, |
+ VISIT_UNRESOLVED_SUPER_SETTER_SET_IF_NULL, |
VISIT_UNRESOLVED_SUPER_GETTER_PREFIX, |
VISIT_UNRESOLVED_SUPER_SETTER_PREFIX, |
VISIT_UNRESOLVED_SUPER_INDEX_PREFIX, |
@@ -586,6 +621,7 @@ enum VisitKind { |
VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX, |
VISIT_UNRESOLVED_SUPER_COMPOUND, |
+ VISIT_UNRESOLVED_SUPER_SET_IF_NULL, |
VISIT_UNRESOLVED_SUPER_PREFIX, |
VISIT_UNRESOLVED_SUPER_POSTFIX, |
@@ -600,6 +636,7 @@ enum VisitKind { |
VISIT_CLASS_TYPE_LITERAL_SET, |
VISIT_CLASS_TYPE_LITERAL_INVOKE, |
VISIT_CLASS_TYPE_LITERAL_COMPOUND, |
+ VISIT_CLASS_TYPE_LITERAL_SET_IF_NULL, |
VISIT_CLASS_TYPE_LITERAL_PREFIX, |
VISIT_CLASS_TYPE_LITERAL_POSTFIX, |
@@ -607,6 +644,7 @@ enum VisitKind { |
VISIT_TYPEDEF_TYPE_LITERAL_SET, |
VISIT_TYPEDEF_TYPE_LITERAL_INVOKE, |
VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND, |
+ VISIT_TYPEDEF_TYPE_LITERAL_SET_IF_NULL, |
VISIT_TYPEDEF_TYPE_LITERAL_PREFIX, |
VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX, |
@@ -614,6 +652,7 @@ enum VisitKind { |
VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET, |
VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE, |
VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, |
+ VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET_IF_NULL, |
VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX, |
VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX, |
@@ -621,6 +660,7 @@ enum VisitKind { |
VISIT_DYNAMIC_TYPE_LITERAL_SET, |
VISIT_DYNAMIC_TYPE_LITERAL_INVOKE, |
VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND, |
+ VISIT_DYNAMIC_TYPE_LITERAL_SET_IF_NULL, |
VISIT_DYNAMIC_TYPE_LITERAL_PREFIX, |
VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX, |
@@ -682,6 +722,7 @@ enum VisitKind { |
VISIT_NAMED_INITIALIZING_FORMAL_DECL, |
VISIT_UNRESOLVED_COMPOUND, |
+ VISIT_UNRESOLVED_SET_IF_NULL, |
VISIT_UNRESOLVED_PREFIX, |
VISIT_UNRESOLVED_POSTFIX, |
@@ -690,6 +731,7 @@ enum VisitKind { |
VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET, |
VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_INVOKE, |
VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_COMPOUND, |
+ VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET_IF_NULL, |
VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_PREFIX, |
VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_POSTFIX, |
@@ -702,6 +744,7 @@ enum VisitKind { |
ERROR_INVALID_PREFIX, |
ERROR_INVALID_POSTFIX, |
ERROR_INVALID_COMPOUND, |
+ ERROR_INVALID_SET_IF_NULL, |
ERROR_INVALID_UNARY, |
ERROR_INVALID_EQUALS, |
ERROR_INVALID_NOT_EQUALS, |