Chromium Code Reviews| Index: tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
| diff --git a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
| index 87eecc3ee5170630d1cbd5f901d9e663a5dd1182..9f1676c9d11b8171a9fcfc569efb33467bba9b19 100644 |
| --- a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
| +++ b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart |
| @@ -3089,6 +3089,43 @@ const Map<String, List<Test>> SEND_TESTS = const { |
| constant: 'const Class(true, 42)')), |
| const Test( |
| ''' |
| + m() => const bool.fromEnvironment('foo'); |
| + ''', |
| + const Visit(VisitKind.VISIT_BOOL_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE, |
| + constant: 'const bool.fromEnvironment("foo", defaultValue: false)')), |
|
karlklose
2015/06/01 11:47:26
Long line.
Johnni Winther
2015/06/01 13:13:43
Done.
|
| + const Test( |
| + ''' |
| + m() => const bool.fromEnvironment('foo', defaultValue: true); |
| + ''', |
| + const Visit(VisitKind.VISIT_BOOL_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE, |
| + constant: 'const bool.fromEnvironment("foo", defaultValue: true)')), |
| + const Test( |
| + ''' |
| + m() => const int.fromEnvironment('foo'); |
| + ''', |
| + const Visit(VisitKind.VISIT_INT_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE, |
| + constant: 'const int.fromEnvironment("foo", defaultValue: null)')), |
| + const Test( |
| + ''' |
| + m() => const String.fromEnvironment('foo'); |
| + ''', |
| + const Visit(VisitKind.VISIT_STRING_FROM_ENVIRONMENT_CONSTRUCTOR_INVOKE, |
| + constant: |
| + 'const String.fromEnvironment("foo", defaultValue: null)')), |
| + const Test( |
| + ''' |
| + class Class { |
| + Class(a, b); |
| + } |
| + m() => const Class(true, 42); |
| + ''', |
| + const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE, |
| + element: 'generative_constructor(Class#)', |
| + arguments: '(true,42)', |
|
karlklose
2015/06/01 11:47:26
Space after ','? (also below)
Johnni Winther
2015/06/01 13:13:43
No. It's checked against unparser output.
|
| + type: 'Class', |
| + selector: 'CallStructure(arity=2)')), |
| + const Test( |
| + ''' |
| class Class {} |
| m() => new Class(); |
| ''', |
| @@ -3123,6 +3160,16 @@ const Map<String, List<Test>> SEND_TESTS = const { |
| selector: 'CallStructure(arity=2)')), |
| const Test( |
| ''' |
| + class Class {} |
| + m() => new Class(true, 42); |
| + ''', |
| + const Visit(VisitKind.VISIT_CONSTRUCTOR_INCOMPATIBLE_INVOKE, |
| + element: 'generative_constructor(Class#)', |
| + arguments: '(true,42)', |
| + type: 'Class', |
| + selector: 'CallStructure(arity=2)')), |
| + const Test( |
| + ''' |
| class Class { |
| Class(a, b) : this._(a, b); |
| Class._(a, b); |
| @@ -3137,6 +3184,19 @@ const Map<String, List<Test>> SEND_TESTS = const { |
| const Test( |
| ''' |
| class Class { |
| + Class() : this._(true, 42); |
| + Class._(a, b); |
| + } |
| + m() => new Class(true, 42); |
| + ''', |
| + const Visit(VisitKind.VISIT_CONSTRUCTOR_INCOMPATIBLE_INVOKE, |
| + element: 'generative_constructor(Class#)', |
| + arguments: '(true,42)', |
| + type: 'Class', |
| + selector: 'CallStructure(arity=2)')), |
| + const Test( |
| + ''' |
| + class Class { |
| factory Class(a, b) => new Class._(a, b); |
| Class._(a, b); |
| } |
| @@ -3149,6 +3209,19 @@ const Map<String, List<Test>> SEND_TESTS = const { |
| selector: 'CallStructure(arity=2)')), |
| const Test( |
| ''' |
| + class Class { |
| + factory Class() => new Class._(true, 42); |
| + Class._(a, b); |
| + } |
| + m() => new Class(true, 42); |
| + ''', |
| + const Visit(VisitKind.VISIT_CONSTRUCTOR_INCOMPATIBLE_INVOKE, |
| + element: 'function(Class#)', |
| + arguments: '(true,42)', |
| + type: 'Class', |
| + selector: 'CallStructure(arity=2)')), |
| + const Test( |
| + ''' |
| class Class<T> { |
| factory Class(a, b) = Class<int>.a; |
| factory Class.a(a, b) = Class<Class<T>>.b; |
| @@ -3166,6 +3239,19 @@ const Map<String, List<Test>> SEND_TESTS = const { |
| const Test( |
| ''' |
| class Class { |
| + factory Class() = Class._; |
| + Class._(); |
| + } |
| + m() => new Class(true, 42); |
| + ''', |
| + const Visit(VisitKind.VISIT_CONSTRUCTOR_INCOMPATIBLE_INVOKE, |
| + element: 'function(Class#)', |
| + arguments: '(true,42)', |
| + type: 'Class', |
| + selector: 'CallStructure(arity=2)')), |
| + const Test( |
| + ''' |
| + class Class { |
| Class(a, b); |
| } |
| m() => new Class.unresolved(true, 42); |