| Index: pkg/analyzer2dart/test/sexpr_data.dart
|
| diff --git a/pkg/analyzer2dart/test/sexpr_data.dart b/pkg/analyzer2dart/test/sexpr_data.dart
|
| index 963b781846cdad86e106144535941f7431c1d972..85c937dd711b03ee4a66c90cf290f0a920b2c0ab 100644
|
| --- a/pkg/analyzer2dart/test/sexpr_data.dart
|
| +++ b/pkg/analyzer2dart/test/sexpr_data.dart
|
| @@ -7,6 +7,13 @@ library test.sexpr.data;
|
|
|
| import 'test_helper.dart';
|
|
|
| +class TestSpec extends TestSpecBase {
|
| + // A [String] or a [Map<String, String>].
|
| + final output;
|
| +
|
| + const TestSpec(String input, this.output) : super(input);
|
| +}
|
| +
|
| const List<Group> TEST_DATA = const [
|
| const Group('Empty main', const [
|
| const TestSpec('''
|
| @@ -1277,4 +1284,75 @@ main(a) {
|
| (Branch (IsTrue a) k2 k3))
|
| '''),
|
| ]),
|
| +
|
| + const Group('Top level field', const <TestSpec>[
|
| + const TestSpec('''
|
| +var field;
|
| +main(args) {
|
| + return field;
|
| +}
|
| +''', const {
|
| + 'main': '''
|
| +(FunctionDefinition main (args return)
|
| + (LetCont (k0 v0)
|
| + (InvokeContinuation return v0))
|
| + (InvokeStatic field k0))
|
| +''',
|
| + 'field': '''
|
| +(FieldDefinition field)
|
| +'''}),
|
| +
|
| + const TestSpec('''
|
| +var field = null;
|
| +main(args) {
|
| + return field;
|
| +}
|
| +''', const {
|
| + 'main': '''
|
| +(FunctionDefinition main (args return)
|
| + (LetCont (k0 v0)
|
| + (InvokeContinuation return v0))
|
| + (InvokeStatic field k0))
|
| +''',
|
| + 'field': '''
|
| +(FieldDefinition field (return)
|
| + (LetPrim v0 (Constant NullConstant))
|
| + (InvokeContinuation return v0))
|
| +'''}),
|
| +
|
| + const TestSpec('''
|
| +var field = 0;
|
| +main(args) {
|
| + return field;
|
| +}
|
| +''', const {
|
| + 'main': '''
|
| +(FunctionDefinition main (args return)
|
| + (LetCont (k0 v0)
|
| + (InvokeContinuation return v0))
|
| + (InvokeStatic field k0))
|
| +''',
|
| + 'field': '''
|
| +(FieldDefinition field (return)
|
| + (LetPrim v0 (Constant IntConstant(0)))
|
| + (InvokeContinuation return v0))
|
| +'''}),
|
| +
|
| + const TestSpec('''
|
| +var field;
|
| +main(args) {
|
| + field = args.length;
|
| + return field;
|
| +}
|
| +''', '''
|
| +(FunctionDefinition main (args return)
|
| + (LetCont (k0 v0)
|
| + (LetCont (k1 v1)
|
| + (LetCont (k2 v2)
|
| + (InvokeContinuation return v2))
|
| + (InvokeStatic field k2))
|
| + (InvokeStatic field v0 k1))
|
| + (InvokeMethod args length k0))
|
| +'''),
|
| + ]),
|
| ];
|
|
|