OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'package:analyzer/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
6 import 'package:analyzer/dart/ast/token.dart' as analyzer; | 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; |
7 import 'package:analyzer/dart/element/element.dart'; | 7 import 'package:analyzer/dart/element/element.dart'; |
8 import 'package:analyzer/error/error.dart'; | 8 import 'package:analyzer/error/error.dart'; |
9 import 'package:analyzer/src/fasta/ast_builder.dart'; | 9 import 'package:analyzer/src/fasta/ast_builder.dart'; |
10 import 'package:analyzer/src/fasta/element_store.dart'; | 10 import 'package:analyzer/src/fasta/element_store.dart'; |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 | 673 |
674 @override | 674 @override |
675 @failingTest | 675 @failingTest |
676 void test_parseFormalParameterList_prefixedType_partial2() { | 676 void test_parseFormalParameterList_prefixedType_partial2() { |
677 // TODO(scheglov): Unimplemented: errors | 677 // TODO(scheglov): Unimplemented: errors |
678 super.test_parseFormalParameterList_prefixedType_partial2(); | 678 super.test_parseFormalParameterList_prefixedType_partial2(); |
679 } | 679 } |
680 | 680 |
681 @override | 681 @override |
682 @failingTest | 682 @failingTest |
| 683 void test_parseNormalFormalParameter_field_const_noType() { |
| 684 super.test_parseNormalFormalParameter_field_const_noType(); |
| 685 } |
| 686 |
| 687 @override |
| 688 @failingTest |
| 689 void test_parseNormalFormalParameter_field_const_type() { |
| 690 super.test_parseNormalFormalParameter_field_const_type(); |
| 691 } |
| 692 |
| 693 @override |
| 694 @failingTest |
683 void test_parseNormalFormalParameter_function_noType_nullable() { | 695 void test_parseNormalFormalParameter_function_noType_nullable() { |
684 // TODO(scheglov): Not implemented: Nnbd | 696 // TODO(scheglov): Not implemented: Nnbd |
685 super.test_parseNormalFormalParameter_function_noType_nullable(); | 697 super.test_parseNormalFormalParameter_function_noType_nullable(); |
686 } | 698 } |
687 | 699 |
688 @override | 700 @override |
689 @failingTest | 701 @failingTest |
690 void | 702 void |
691 test_parseNormalFormalParameter_function_noType_typeParameters_nullable()
{ | 703 test_parseNormalFormalParameter_function_noType_typeParameters_nullable()
{ |
692 // TODO(scheglov): Not implemented: Nnbd | 704 // TODO(scheglov): Not implemented: Nnbd |
(...skipping 26 matching lines...) Expand all Loading... |
719 @override | 731 @override |
720 @failingTest | 732 @failingTest |
721 void test_parseNormalFormalParameter_function_void_typeParameters_nullable() { | 733 void test_parseNormalFormalParameter_function_void_typeParameters_nullable() { |
722 // TODO(scheglov): Not implemented: Nnbd | 734 // TODO(scheglov): Not implemented: Nnbd |
723 super | 735 super |
724 .test_parseNormalFormalParameter_function_void_typeParameters_nullable()
; | 736 .test_parseNormalFormalParameter_function_void_typeParameters_nullable()
; |
725 } | 737 } |
726 | 738 |
727 @override | 739 @override |
728 @failingTest | 740 @failingTest |
729 void test_parseNormalFormalParameter_field_const_noType() { | |
730 super.test_parseNormalFormalParameter_field_const_noType(); | |
731 } | |
732 | |
733 @override | |
734 @failingTest | |
735 void test_parseNormalFormalParameter_field_const_type() { | |
736 super.test_parseNormalFormalParameter_field_const_type(); | |
737 } | |
738 | |
739 @override | |
740 @failingTest | |
741 void test_parseNormalFormalParameter_simple_const_noType() { | 741 void test_parseNormalFormalParameter_simple_const_noType() { |
742 super.test_parseNormalFormalParameter_simple_const_noType(); | 742 super.test_parseNormalFormalParameter_simple_const_noType(); |
743 } | 743 } |
744 | 744 |
745 @override | 745 @override |
746 @failingTest | 746 @failingTest |
747 void test_parseNormalFormalParameter_simple_const_type() { | 747 void test_parseNormalFormalParameter_simple_const_type() { |
748 super.test_parseNormalFormalParameter_simple_const_type(); | 748 super.test_parseNormalFormalParameter_simple_const_type(); |
749 } | 749 } |
750 } | 750 } |
(...skipping 12 matching lines...) Expand all Loading... |
763 * Proxy implementation of [KernelLibraryBuilderProxy] used by Fasta parser | 763 * Proxy implementation of [KernelLibraryBuilderProxy] used by Fasta parser |
764 * tests. | 764 * tests. |
765 */ | 765 */ |
766 class KernelLibraryBuilderProxy implements KernelLibraryBuilder { | 766 class KernelLibraryBuilderProxy implements KernelLibraryBuilder { |
767 @override | 767 @override |
768 final uri = Uri.parse('file:///test.dart'); | 768 final uri = Uri.parse('file:///test.dart'); |
769 | 769 |
770 @override | 770 @override |
771 Uri get fileUri => uri; | 771 Uri get fileUri => uri; |
772 | 772 |
773 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | |
774 | |
775 @override | 773 @override |
776 void addCompileTimeError(int charOffset, Object message, | 774 void addCompileTimeError(int charOffset, Object message, |
777 {Uri fileUri, bool silent: false}) { | 775 {Uri fileUri, bool silent: false}) { |
778 fail('$message'); | 776 fail('$message'); |
779 } | 777 } |
| 778 |
| 779 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
780 } | 780 } |
781 | 781 |
782 /** | 782 /** |
783 * Proxy implementation of the analyzer parser, implemented in terms of the | 783 * Proxy implementation of the analyzer parser, implemented in terms of the |
784 * Fasta parser. | 784 * Fasta parser. |
785 * | 785 * |
786 * This allows many of the analyzer parser tests to be run on Fasta, even if | 786 * This allows many of the analyzer parser tests to be run on Fasta, even if |
787 * they call into the analyzer parser class directly. | 787 * they call into the analyzer parser class directly. |
788 */ | 788 */ |
789 class ParserProxy implements analyzer.Parser { | 789 class ParserProxy implements analyzer.Parser { |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 /** | 853 /** |
854 * Proxy implementation of [Scope] used by Fasta parser tests. | 854 * Proxy implementation of [Scope] used by Fasta parser tests. |
855 * | 855 * |
856 * Any name lookup request is satisfied by creating an instance of | 856 * Any name lookup request is satisfied by creating an instance of |
857 * [BuilderProxy]. | 857 * [BuilderProxy]. |
858 */ | 858 */ |
859 class ScopeProxy implements Scope { | 859 class ScopeProxy implements Scope { |
860 final _locals = <String, Builder>{}; | 860 final _locals = <String, Builder>{}; |
861 | 861 |
862 @override | 862 @override |
| 863 Scope createNestedScope({bool isModifiable: true}) { |
| 864 return new Scope.nested(this, isModifiable: isModifiable); |
| 865 } |
| 866 |
| 867 @override |
863 declare(String name, Builder builder, int charOffset, Uri fileUri) { | 868 declare(String name, Builder builder, int charOffset, Uri fileUri) { |
864 _locals[name] = builder; | 869 _locals[name] = builder; |
865 return null; | 870 return null; |
866 } | 871 } |
867 | 872 |
868 @override | 873 @override |
869 Scope createNestedScope({bool isModifiable: true}) { | |
870 return new Scope.nested(this, isModifiable: isModifiable); | |
871 } | |
872 | |
873 @override | |
874 Builder lookup(String name, int charOffset, Uri fileUri, | 874 Builder lookup(String name, int charOffset, Uri fileUri, |
875 {bool isInstanceScope: true}) => | 875 {bool isInstanceScope: true}) => |
876 _locals.putIfAbsent(name, () => new BuilderProxy()); | 876 _locals.putIfAbsent(name, () => new BuilderProxy()); |
877 | 877 |
878 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 878 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
879 } | 879 } |
880 | 880 |
881 /** | 881 /** |
882 * Tests of the fasta parser based on [StatementParserTestMixin]. | 882 * Tests of the fasta parser based on [StatementParserTestMixin]. |
883 */ | 883 */ |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 with TopLevelParserTestMixin { | 935 with TopLevelParserTestMixin { |
936 @override | 936 @override |
937 @failingTest | 937 @failingTest |
938 void test_parseClassDeclaration_native() { | 938 void test_parseClassDeclaration_native() { |
939 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp
ort "native" syntax yet. | 939 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp
ort "native" syntax yet. |
940 super.test_parseClassDeclaration_native(); | 940 super.test_parseClassDeclaration_native(); |
941 } | 941 } |
942 | 942 |
943 @override | 943 @override |
944 @failingTest | 944 @failingTest |
| 945 void test_parseCompilationUnit_abstractAsPrefix_parameterized() { |
| 946 super.test_parseCompilationUnit_abstractAsPrefix_parameterized(); |
| 947 } |
| 948 |
| 949 @override |
| 950 @failingTest |
945 void test_parseCompilationUnit_builtIn_asFunctionName() { | 951 void test_parseCompilationUnit_builtIn_asFunctionName() { |
946 // TODO(paulberry,ahe): Fasta's parser is confused when one of the built-in | 952 // TODO(paulberry,ahe): Fasta's parser is confused when one of the built-in |
947 // identifiers `export`, `import`, `library`, `part`, or `typedef` appears | 953 // identifiers `export`, `import`, `library`, `part`, or `typedef` appears |
948 // as the name of a top level function with an implicit return type. | 954 // as the name of a top level function with an implicit return type. |
949 super.test_parseCompilationUnit_builtIn_asFunctionName(); | 955 super.test_parseCompilationUnit_builtIn_asFunctionName(); |
950 } | 956 } |
951 | 957 |
952 @override | 958 @override |
953 @failingTest | 959 @failingTest |
954 void test_parseCompilationUnit_exportAsPrefix() { | 960 void test_parseCompilationUnit_exportAsPrefix() { |
955 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. | 961 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. |
956 super.test_parseCompilationUnit_exportAsPrefix(); | 962 super.test_parseCompilationUnit_exportAsPrefix(); |
957 } | 963 } |
958 | 964 |
959 @override | 965 @override |
960 @failingTest | 966 @failingTest |
961 void test_parseCompilationUnit_exportAsPrefix_parameterized() { | 967 void test_parseCompilationUnit_exportAsPrefix_parameterized() { |
962 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. | 968 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. |
963 super.test_parseCompilationUnit_exportAsPrefix_parameterized(); | 969 super.test_parseCompilationUnit_exportAsPrefix_parameterized(); |
964 } | 970 } |
965 | 971 |
966 @override | 972 @override |
967 @failingTest | 973 @failingTest |
| 974 void test_parseCompilationUnit_operatorAsPrefix_parameterized() { |
| 975 super.test_parseCompilationUnit_operatorAsPrefix_parameterized(); |
| 976 } |
| 977 |
| 978 @override |
| 979 @failingTest |
968 void test_parseDirectives_mixed() { | 980 void test_parseDirectives_mixed() { |
969 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to | 981 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to |
970 // stop parsing as soon as the first non-directive is encountered; this is | 982 // stop parsing as soon as the first non-directive is encountered; this is |
971 // useful for quickly traversing an import graph. Consider adding a similar | 983 // useful for quickly traversing an import graph. Consider adding a similar |
972 // ability to Fasta's parser. | 984 // ability to Fasta's parser. |
973 super.test_parseDirectives_mixed(); | 985 super.test_parseDirectives_mixed(); |
974 } | 986 } |
975 | 987 |
976 @override | 988 @override |
977 @failingTest | 989 @failingTest |
978 void test_parsePartOfDirective_name() { | 990 void test_parsePartOfDirective_name() { |
979 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of" | 991 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of" |
980 // declarations are enabled, a construct of the form "part of identifier;" | 992 // declarations are enabled, a construct of the form "part of identifier;" |
981 // is still properly handled. URIs in "part of" declarations are not | 993 // is still properly handled. URIs in "part of" declarations are not |
982 // supported by Fasta yet. | 994 // supported by Fasta yet. |
983 super.test_parsePartOfDirective_name(); | 995 super.test_parsePartOfDirective_name(); |
984 } | 996 } |
985 | 997 |
986 @override | 998 @override |
987 @failingTest | 999 @failingTest |
988 void test_parsePartOfDirective_uri() { | 1000 void test_parsePartOfDirective_uri() { |
989 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by | 1001 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by |
990 // Fasta. | 1002 // Fasta. |
991 super.test_parsePartOfDirective_uri(); | 1003 super.test_parsePartOfDirective_uri(); |
992 } | 1004 } |
993 | |
994 @override | |
995 @failingTest | |
996 void test_parseCompilationUnit_operatorAsPrefix_parameterized() { | |
997 super.test_parseCompilationUnit_operatorAsPrefix_parameterized(); | |
998 } | |
999 | |
1000 @override | |
1001 @failingTest | |
1002 void test_parseCompilationUnit_abstractAsPrefix_parameterized() { | |
1003 super.test_parseCompilationUnit_abstractAsPrefix_parameterized(); | |
1004 } | |
1005 } | 1005 } |
OLD | NEW |