| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library analyzer.test.generated.all_the_rest_test; | 5 library analyzer.test.generated.all_the_rest_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/ast/token.dart'; | 8 import 'package:analyzer/dart/ast/token.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
| (...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 } | 653 } |
| 654 | 654 |
| 655 void test_visitClassDeclaration_minimal() { | 655 void test_visitClassDeclaration_minimal() { |
| 656 ElementHolder holder = new ElementHolder(); | 656 ElementHolder holder = new ElementHolder(); |
| 657 ElementBuilder builder = _makeBuilder(holder); | 657 ElementBuilder builder = _makeBuilder(holder); |
| 658 String className = "C"; | 658 String className = "C"; |
| 659 ClassDeclaration classDeclaration = | 659 ClassDeclaration classDeclaration = |
| 660 AstFactory.classDeclaration(null, className, null, null, null, null); | 660 AstFactory.classDeclaration(null, className, null, null, null, null); |
| 661 classDeclaration.documentationComment = AstFactory.documentationComment( | 661 classDeclaration.documentationComment = AstFactory.documentationComment( |
| 662 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 662 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 663 classDeclaration.endToken.offset = 80; |
| 663 classDeclaration.accept(builder); | 664 classDeclaration.accept(builder); |
| 664 List<ClassElement> types = holder.types; | 665 List<ClassElement> types = holder.types; |
| 665 expect(types, hasLength(1)); | 666 expect(types, hasLength(1)); |
| 666 ClassElement type = types[0]; | 667 ClassElement type = types[0]; |
| 667 expect(type, isNotNull); | 668 expect(type, isNotNull); |
| 668 expect(type.name, className); | 669 expect(type.name, className); |
| 669 List<TypeParameterElement> typeParameters = type.typeParameters; | 670 List<TypeParameterElement> typeParameters = type.typeParameters; |
| 670 expect(typeParameters, hasLength(0)); | 671 expect(typeParameters, hasLength(0)); |
| 671 expect(type.isAbstract, isFalse); | 672 expect(type.isAbstract, isFalse); |
| 672 expect(type.isMixinApplication, isFalse); | 673 expect(type.isMixinApplication, isFalse); |
| 673 expect(type.isSynthetic, isFalse); | 674 expect(type.isSynthetic, isFalse); |
| 674 expect(type.documentationComment, '/// aaa'); | 675 expect(type.documentationComment, '/// aaa'); |
| 675 _assertHasDocRange(type, 50, 7); | 676 _assertHasDocRange(type, 50, 7); |
| 677 _assertHasCodeRange(type, 50, 31); |
| 676 } | 678 } |
| 677 | 679 |
| 678 void test_visitClassDeclaration_parameterized() { | 680 void test_visitClassDeclaration_parameterized() { |
| 679 ElementHolder holder = new ElementHolder(); | 681 ElementHolder holder = new ElementHolder(); |
| 680 ElementBuilder builder = _makeBuilder(holder); | 682 ElementBuilder builder = _makeBuilder(holder); |
| 681 String className = "C"; | 683 String className = "C"; |
| 682 String firstVariableName = "E"; | 684 String firstVariableName = "E"; |
| 683 String secondVariableName = "F"; | 685 String secondVariableName = "F"; |
| 684 ClassDeclaration classDeclaration = AstFactory.classDeclaration( | 686 ClassDeclaration classDeclaration = AstFactory.classDeclaration( |
| 685 null, | 687 null, |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 830 withClause, | 832 withClause, |
| 831 null); | 833 null); |
| 832 classCAst.accept(builder); | 834 classCAst.accept(builder); |
| 833 List<ClassElement> types = holder.types; | 835 List<ClassElement> types = holder.types; |
| 834 expect(types, hasLength(1)); | 836 expect(types, hasLength(1)); |
| 835 ClassElement type = types[0]; | 837 ClassElement type = types[0]; |
| 836 expect(type.typeParameters, hasLength(1)); | 838 expect(type.typeParameters, hasLength(1)); |
| 837 expect(type.typeParameters[0].name, equals('T')); | 839 expect(type.typeParameters[0].name, equals('T')); |
| 838 } | 840 } |
| 839 | 841 |
| 842 void test_visitCompilationUnit_codeRange() { |
| 843 TopLevelVariableDeclaration topLevelVariableDeclaration = AstFactory |
| 844 .topLevelVariableDeclaration(null, AstFactory.typeName4('int'), |
| 845 [AstFactory.variableDeclaration('V')]); |
| 846 CompilationUnit unit = new CompilationUnit( |
| 847 topLevelVariableDeclaration.beginToken, |
| 848 null, |
| 849 [], |
| 850 [topLevelVariableDeclaration], |
| 851 topLevelVariableDeclaration.endToken); |
| 852 ElementHolder holder = new ElementHolder(); |
| 853 ElementBuilder builder = _makeBuilder(holder); |
| 854 unit.beginToken.offset = 10; |
| 855 unit.endToken.offset = 40; |
| 856 unit.accept(builder); |
| 857 |
| 858 CompilationUnitElement element = builder.compilationUnitElement; |
| 859 _assertHasCodeRange(element, 0, 41); |
| 860 } |
| 861 |
| 840 void test_visitConstructorDeclaration_external() { | 862 void test_visitConstructorDeclaration_external() { |
| 841 ElementHolder holder = new ElementHolder(); | 863 ElementHolder holder = new ElementHolder(); |
| 842 ElementBuilder builder = _makeBuilder(holder); | 864 ElementBuilder builder = _makeBuilder(holder); |
| 843 String className = "A"; | 865 String className = "A"; |
| 844 ConstructorDeclaration constructorDeclaration = | 866 ConstructorDeclaration constructorDeclaration = |
| 845 AstFactory.constructorDeclaration2( | 867 AstFactory.constructorDeclaration2( |
| 846 null, | 868 null, |
| 847 null, | 869 null, |
| 848 AstFactory.identifier3(className), | 870 AstFactory.identifier3(className), |
| 849 null, | 871 null, |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 null, | 924 null, |
| 903 null, | 925 null, |
| 904 AstFactory.identifier3(className), | 926 AstFactory.identifier3(className), |
| 905 null, | 927 null, |
| 906 AstFactory.formalParameterList(), | 928 AstFactory.formalParameterList(), |
| 907 null, | 929 null, |
| 908 AstFactory.blockFunctionBody2()); | 930 AstFactory.blockFunctionBody2()); |
| 909 constructorDeclaration.documentationComment = AstFactory | 931 constructorDeclaration.documentationComment = AstFactory |
| 910 .documentationComment( | 932 .documentationComment( |
| 911 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 933 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 934 constructorDeclaration.endToken.offset = 80; |
| 912 constructorDeclaration.accept(builder); | 935 constructorDeclaration.accept(builder); |
| 913 | 936 |
| 914 List<ConstructorElement> constructors = holder.constructors; | 937 List<ConstructorElement> constructors = holder.constructors; |
| 915 expect(constructors, hasLength(1)); | 938 expect(constructors, hasLength(1)); |
| 916 ConstructorElement constructor = constructors[0]; | 939 ConstructorElement constructor = constructors[0]; |
| 917 expect(constructor, isNotNull); | 940 expect(constructor, isNotNull); |
| 941 _assertHasCodeRange(constructor, 50, 31); |
| 918 expect(constructor.documentationComment, '/// aaa'); | 942 expect(constructor.documentationComment, '/// aaa'); |
| 919 _assertHasDocRange(constructor, 50, 7); | 943 _assertHasDocRange(constructor, 50, 7); |
| 920 expect(constructor.isExternal, isFalse); | 944 expect(constructor.isExternal, isFalse); |
| 921 expect(constructor.isFactory, isFalse); | 945 expect(constructor.isFactory, isFalse); |
| 922 expect(constructor.name, ""); | 946 expect(constructor.name, ""); |
| 923 expect(constructor.functions, hasLength(0)); | 947 expect(constructor.functions, hasLength(0)); |
| 924 expect(constructor.labels, hasLength(0)); | 948 expect(constructor.labels, hasLength(0)); |
| 925 expect(constructor.localVariables, hasLength(0)); | 949 expect(constructor.localVariables, hasLength(0)); |
| 926 expect(constructor.parameters, hasLength(0)); | 950 expect(constructor.parameters, hasLength(0)); |
| 927 } | 951 } |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 986 | 1010 |
| 987 void test_visitDeclaredIdentifier_noType() { | 1011 void test_visitDeclaredIdentifier_noType() { |
| 988 // var i | 1012 // var i |
| 989 ElementHolder holder = new ElementHolder(); | 1013 ElementHolder holder = new ElementHolder(); |
| 990 ElementBuilder builder = _makeBuilder(holder); | 1014 ElementBuilder builder = _makeBuilder(holder); |
| 991 var variableName = 'i'; | 1015 var variableName = 'i'; |
| 992 DeclaredIdentifier identifier = | 1016 DeclaredIdentifier identifier = |
| 993 AstFactory.declaredIdentifier3(variableName); | 1017 AstFactory.declaredIdentifier3(variableName); |
| 994 AstFactory.forEachStatement( | 1018 AstFactory.forEachStatement( |
| 995 identifier, AstFactory.nullLiteral(), AstFactory.emptyStatement()); | 1019 identifier, AstFactory.nullLiteral(), AstFactory.emptyStatement()); |
| 1020 identifier.beginToken.offset = 50; |
| 1021 identifier.endToken.offset = 80; |
| 996 identifier.accept(builder); | 1022 identifier.accept(builder); |
| 997 | 1023 |
| 998 List<LocalVariableElement> variables = holder.localVariables; | 1024 List<LocalVariableElement> variables = holder.localVariables; |
| 999 expect(variables, hasLength(1)); | 1025 expect(variables, hasLength(1)); |
| 1000 LocalVariableElement variable = variables[0]; | 1026 LocalVariableElement variable = variables[0]; |
| 1027 _assertHasCodeRange(variable, 50, 31); |
| 1001 expect(variable, isNotNull); | 1028 expect(variable, isNotNull); |
| 1002 expect(variable.hasImplicitType, isTrue); | 1029 expect(variable.hasImplicitType, isTrue); |
| 1003 expect(variable.isConst, isFalse); | 1030 expect(variable.isConst, isFalse); |
| 1004 expect(variable.isDeprecated, isFalse); | 1031 expect(variable.isDeprecated, isFalse); |
| 1005 expect(variable.isFinal, isFalse); | 1032 expect(variable.isFinal, isFalse); |
| 1006 expect(variable.isOverride, isFalse); | 1033 expect(variable.isOverride, isFalse); |
| 1007 expect(variable.isPrivate, isFalse); | 1034 expect(variable.isPrivate, isFalse); |
| 1008 expect(variable.isPublic, isTrue); | 1035 expect(variable.isPublic, isTrue); |
| 1009 expect(variable.isSynthetic, isFalse); | 1036 expect(variable.isSynthetic, isFalse); |
| 1010 expect(variable.name, variableName); | 1037 expect(variable.name, variableName); |
| 1011 } | 1038 } |
| 1012 | 1039 |
| 1013 void test_visitDeclaredIdentifier_type() { | 1040 void test_visitDeclaredIdentifier_type() { |
| 1014 // E i | 1041 // E i |
| 1015 ElementHolder holder = new ElementHolder(); | 1042 ElementHolder holder = new ElementHolder(); |
| 1016 ElementBuilder builder = _makeBuilder(holder); | 1043 ElementBuilder builder = _makeBuilder(holder); |
| 1017 var variableName = 'i'; | 1044 var variableName = 'i'; |
| 1018 DeclaredIdentifier identifier = | 1045 DeclaredIdentifier identifier = |
| 1019 AstFactory.declaredIdentifier4(AstFactory.typeName4('E'), variableName); | 1046 AstFactory.declaredIdentifier4(AstFactory.typeName4('E'), variableName); |
| 1020 AstFactory.forEachStatement( | 1047 AstFactory.forEachStatement( |
| 1021 identifier, AstFactory.nullLiteral(), AstFactory.emptyStatement()); | 1048 identifier, AstFactory.nullLiteral(), AstFactory.emptyStatement()); |
| 1049 identifier.beginToken.offset = 50; |
| 1050 identifier.endToken.offset = 80; |
| 1022 identifier.accept(builder); | 1051 identifier.accept(builder); |
| 1023 | 1052 |
| 1024 List<LocalVariableElement> variables = holder.localVariables; | 1053 List<LocalVariableElement> variables = holder.localVariables; |
| 1025 expect(variables, hasLength(1)); | 1054 expect(variables, hasLength(1)); |
| 1026 LocalVariableElement variable = variables[0]; | 1055 LocalVariableElement variable = variables[0]; |
| 1027 expect(variable, isNotNull); | 1056 expect(variable, isNotNull); |
| 1057 _assertHasCodeRange(variable, 50, 31); |
| 1028 expect(variable.hasImplicitType, isFalse); | 1058 expect(variable.hasImplicitType, isFalse); |
| 1029 expect(variable.isConst, isFalse); | 1059 expect(variable.isConst, isFalse); |
| 1030 expect(variable.isDeprecated, isFalse); | 1060 expect(variable.isDeprecated, isFalse); |
| 1031 expect(variable.isFinal, isFalse); | 1061 expect(variable.isFinal, isFalse); |
| 1032 expect(variable.isOverride, isFalse); | 1062 expect(variable.isOverride, isFalse); |
| 1033 expect(variable.isPrivate, isFalse); | 1063 expect(variable.isPrivate, isFalse); |
| 1034 expect(variable.isPublic, isTrue); | 1064 expect(variable.isPublic, isTrue); |
| 1035 expect(variable.isSynthetic, isFalse); | 1065 expect(variable.isSynthetic, isFalse); |
| 1036 expect(variable.name, variableName); | 1066 expect(variable.name, variableName); |
| 1037 } | 1067 } |
| 1038 | 1068 |
| 1039 void test_visitDefaultFormalParameter_noType() { | 1069 void test_visitDefaultFormalParameter_noType() { |
| 1040 // p = 0 | 1070 // p = 0 |
| 1041 ElementHolder holder = new ElementHolder(); | 1071 ElementHolder holder = new ElementHolder(); |
| 1042 ElementBuilder builder = _makeBuilder(holder); | 1072 ElementBuilder builder = _makeBuilder(holder); |
| 1043 String parameterName = 'p'; | 1073 String parameterName = 'p'; |
| 1044 DefaultFormalParameter formalParameter = | 1074 DefaultFormalParameter formalParameter = |
| 1045 AstFactory.positionalFormalParameter( | 1075 AstFactory.positionalFormalParameter( |
| 1046 AstFactory.simpleFormalParameter3(parameterName), | 1076 AstFactory.simpleFormalParameter3(parameterName), |
| 1047 AstFactory.integer(0)); | 1077 AstFactory.integer(0)); |
| 1078 formalParameter.beginToken.offset = 50; |
| 1079 formalParameter.endToken.offset = 80; |
| 1048 formalParameter.accept(builder); | 1080 formalParameter.accept(builder); |
| 1049 | 1081 |
| 1050 List<ParameterElement> parameters = holder.parameters; | 1082 List<ParameterElement> parameters = holder.parameters; |
| 1051 expect(parameters, hasLength(1)); | 1083 expect(parameters, hasLength(1)); |
| 1052 ParameterElement parameter = parameters[0]; | 1084 ParameterElement parameter = parameters[0]; |
| 1085 _assertHasCodeRange(parameter, 50, 31); |
| 1053 expect(parameter.hasImplicitType, isTrue); | 1086 expect(parameter.hasImplicitType, isTrue); |
| 1054 expect(parameter.initializer, isNotNull); | 1087 expect(parameter.initializer, isNotNull); |
| 1055 expect(parameter.initializer.type, isNotNull); | 1088 expect(parameter.initializer.type, isNotNull); |
| 1056 expect(parameter.initializer.hasImplicitReturnType, isTrue); | 1089 expect(parameter.initializer.hasImplicitReturnType, isTrue); |
| 1057 expect(parameter.isConst, isFalse); | 1090 expect(parameter.isConst, isFalse); |
| 1058 expect(parameter.isDeprecated, isFalse); | 1091 expect(parameter.isDeprecated, isFalse); |
| 1059 expect(parameter.isFinal, isFalse); | 1092 expect(parameter.isFinal, isFalse); |
| 1060 expect(parameter.isInitializingFormal, isFalse); | 1093 expect(parameter.isInitializingFormal, isFalse); |
| 1061 expect(parameter.isOverride, isFalse); | 1094 expect(parameter.isOverride, isFalse); |
| 1062 expect(parameter.isPrivate, isFalse); | 1095 expect(parameter.isPrivate, isFalse); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1095 } | 1128 } |
| 1096 | 1129 |
| 1097 void test_visitEnumDeclaration() { | 1130 void test_visitEnumDeclaration() { |
| 1098 ElementHolder holder = new ElementHolder(); | 1131 ElementHolder holder = new ElementHolder(); |
| 1099 ElementBuilder builder = _makeBuilder(holder); | 1132 ElementBuilder builder = _makeBuilder(holder); |
| 1100 String enumName = "E"; | 1133 String enumName = "E"; |
| 1101 EnumDeclaration enumDeclaration = | 1134 EnumDeclaration enumDeclaration = |
| 1102 AstFactory.enumDeclaration2(enumName, ["ONE"]); | 1135 AstFactory.enumDeclaration2(enumName, ["ONE"]); |
| 1103 enumDeclaration.documentationComment = AstFactory.documentationComment( | 1136 enumDeclaration.documentationComment = AstFactory.documentationComment( |
| 1104 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1137 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1138 enumDeclaration.endToken.offset = 80; |
| 1105 enumDeclaration.accept(builder); | 1139 enumDeclaration.accept(builder); |
| 1106 List<ClassElement> enums = holder.enums; | 1140 List<ClassElement> enums = holder.enums; |
| 1107 expect(enums, hasLength(1)); | 1141 expect(enums, hasLength(1)); |
| 1108 ClassElement enumElement = enums[0]; | 1142 ClassElement enumElement = enums[0]; |
| 1109 expect(enumElement, isNotNull); | 1143 expect(enumElement, isNotNull); |
| 1144 _assertHasCodeRange(enumElement, 50, 31); |
| 1110 expect(enumElement.documentationComment, '/// aaa'); | 1145 expect(enumElement.documentationComment, '/// aaa'); |
| 1111 _assertHasDocRange(enumElement, 50, 7); | 1146 _assertHasDocRange(enumElement, 50, 7); |
| 1112 expect(enumElement.name, enumName); | 1147 expect(enumElement.name, enumName); |
| 1113 } | 1148 } |
| 1114 | 1149 |
| 1115 void test_visitFieldDeclaration() { | 1150 void test_visitFieldDeclaration() { |
| 1116 ElementHolder holder = new ElementHolder(); | 1151 ElementHolder holder = new ElementHolder(); |
| 1117 ElementBuilder builder = _makeBuilder(holder); | 1152 ElementBuilder builder = _makeBuilder(holder); |
| 1118 String firstFieldName = "x"; | 1153 String firstFieldName = "x"; |
| 1119 String secondFieldName = "y"; | 1154 String secondFieldName = "y"; |
| 1120 FieldDeclaration fieldDeclaration = | 1155 FieldDeclaration fieldDeclaration = |
| 1121 AstFactory.fieldDeclaration2(false, null, [ | 1156 AstFactory.fieldDeclaration2(false, null, [ |
| 1122 AstFactory.variableDeclaration(firstFieldName), | 1157 AstFactory.variableDeclaration(firstFieldName), |
| 1123 AstFactory.variableDeclaration(secondFieldName) | 1158 AstFactory.variableDeclaration(secondFieldName) |
| 1124 ]); | 1159 ]); |
| 1125 fieldDeclaration.documentationComment = AstFactory.documentationComment( | 1160 fieldDeclaration.documentationComment = AstFactory.documentationComment( |
| 1126 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1161 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1162 fieldDeclaration.endToken.offset = 110; |
| 1127 fieldDeclaration.accept(builder); | 1163 fieldDeclaration.accept(builder); |
| 1128 | 1164 |
| 1129 List<FieldElement> fields = holder.fields; | 1165 List<FieldElement> fields = holder.fields; |
| 1130 expect(fields, hasLength(2)); | 1166 expect(fields, hasLength(2)); |
| 1131 | 1167 |
| 1132 FieldElement firstField = fields[0]; | 1168 FieldElement firstField = fields[0]; |
| 1133 expect(firstField, isNotNull); | 1169 expect(firstField, isNotNull); |
| 1170 _assertHasCodeRange(firstField, 50, 61); |
| 1134 expect(firstField.documentationComment, '/// aaa'); | 1171 expect(firstField.documentationComment, '/// aaa'); |
| 1135 _assertHasDocRange(firstField, 50, 7); | 1172 _assertHasDocRange(firstField, 50, 7); |
| 1136 expect(firstField.name, firstFieldName); | 1173 expect(firstField.name, firstFieldName); |
| 1137 expect(firstField.initializer, isNull); | 1174 expect(firstField.initializer, isNull); |
| 1138 expect(firstField.isConst, isFalse); | 1175 expect(firstField.isConst, isFalse); |
| 1139 expect(firstField.isFinal, isFalse); | 1176 expect(firstField.isFinal, isFalse); |
| 1140 expect(firstField.isSynthetic, isFalse); | 1177 expect(firstField.isSynthetic, isFalse); |
| 1141 | 1178 |
| 1142 FieldElement secondField = fields[1]; | 1179 FieldElement secondField = fields[1]; |
| 1143 expect(secondField, isNotNull); | 1180 expect(secondField, isNotNull); |
| 1181 _assertHasCodeRange(secondField, 50, 61); |
| 1144 expect(secondField.documentationComment, '/// aaa'); | 1182 expect(secondField.documentationComment, '/// aaa'); |
| 1145 _assertHasDocRange(secondField, 50, 7); | 1183 _assertHasDocRange(secondField, 50, 7); |
| 1146 expect(secondField.name, secondFieldName); | 1184 expect(secondField.name, secondFieldName); |
| 1147 expect(secondField.initializer, isNull); | 1185 expect(secondField.initializer, isNull); |
| 1148 expect(secondField.isConst, isFalse); | 1186 expect(secondField.isConst, isFalse); |
| 1149 expect(secondField.isFinal, isFalse); | 1187 expect(secondField.isFinal, isFalse); |
| 1150 expect(secondField.isSynthetic, isFalse); | 1188 expect(secondField.isSynthetic, isFalse); |
| 1151 } | 1189 } |
| 1152 | 1190 |
| 1153 void test_visitFieldFormalParameter() { | 1191 void test_visitFieldFormalParameter() { |
| 1154 ElementHolder holder = new ElementHolder(); | 1192 ElementHolder holder = new ElementHolder(); |
| 1155 ElementBuilder builder = _makeBuilder(holder); | 1193 ElementBuilder builder = _makeBuilder(holder); |
| 1156 String parameterName = "p"; | 1194 String parameterName = "p"; |
| 1157 FieldFormalParameter formalParameter = | 1195 FieldFormalParameter formalParameter = |
| 1158 AstFactory.fieldFormalParameter(null, null, parameterName); | 1196 AstFactory.fieldFormalParameter(null, null, parameterName); |
| 1197 formalParameter.beginToken.offset = 50; |
| 1198 formalParameter.endToken.offset = 80; |
| 1159 formalParameter.accept(builder); | 1199 formalParameter.accept(builder); |
| 1160 List<ParameterElement> parameters = holder.parameters; | 1200 List<ParameterElement> parameters = holder.parameters; |
| 1161 expect(parameters, hasLength(1)); | 1201 expect(parameters, hasLength(1)); |
| 1162 ParameterElement parameter = parameters[0]; | 1202 ParameterElement parameter = parameters[0]; |
| 1163 expect(parameter, isNotNull); | 1203 expect(parameter, isNotNull); |
| 1204 _assertHasCodeRange(parameter, 50, 31); |
| 1164 expect(parameter.name, parameterName); | 1205 expect(parameter.name, parameterName); |
| 1165 expect(parameter.initializer, isNull); | 1206 expect(parameter.initializer, isNull); |
| 1166 expect(parameter.isConst, isFalse); | 1207 expect(parameter.isConst, isFalse); |
| 1167 expect(parameter.isFinal, isFalse); | 1208 expect(parameter.isFinal, isFalse); |
| 1168 expect(parameter.isSynthetic, isFalse); | 1209 expect(parameter.isSynthetic, isFalse); |
| 1169 expect(parameter.parameterKind, ParameterKind.REQUIRED); | 1210 expect(parameter.parameterKind, ParameterKind.REQUIRED); |
| 1170 expect(parameter.parameters, hasLength(0)); | 1211 expect(parameter.parameters, hasLength(0)); |
| 1171 } | 1212 } |
| 1172 | 1213 |
| 1173 void test_visitFieldFormalParameter_functionTyped() { | 1214 void test_visitFieldFormalParameter_functionTyped() { |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1244 ElementBuilder builder = _makeBuilder(holder); | 1285 ElementBuilder builder = _makeBuilder(holder); |
| 1245 String functionName = "f"; | 1286 String functionName = "f"; |
| 1246 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 1287 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 1247 null, | 1288 null, |
| 1248 Keyword.GET, | 1289 Keyword.GET, |
| 1249 functionName, | 1290 functionName, |
| 1250 AstFactory.functionExpression2( | 1291 AstFactory.functionExpression2( |
| 1251 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); | 1292 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); |
| 1252 declaration.documentationComment = AstFactory.documentationComment( | 1293 declaration.documentationComment = AstFactory.documentationComment( |
| 1253 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1294 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1295 declaration.endToken.offset = 80; |
| 1254 declaration.accept(builder); | 1296 declaration.accept(builder); |
| 1255 | 1297 |
| 1256 List<PropertyAccessorElement> accessors = holder.accessors; | 1298 List<PropertyAccessorElement> accessors = holder.accessors; |
| 1257 expect(accessors, hasLength(1)); | 1299 expect(accessors, hasLength(1)); |
| 1258 PropertyAccessorElement accessor = accessors[0]; | 1300 PropertyAccessorElement accessor = accessors[0]; |
| 1259 expect(accessor, isNotNull); | 1301 expect(accessor, isNotNull); |
| 1302 _assertHasCodeRange(accessor, 50, 31); |
| 1260 expect(accessor.documentationComment, '/// aaa'); | 1303 expect(accessor.documentationComment, '/// aaa'); |
| 1261 _assertHasDocRange(accessor, 50, 7); | 1304 _assertHasDocRange(accessor, 50, 7); |
| 1262 expect(accessor.name, functionName); | 1305 expect(accessor.name, functionName); |
| 1263 expect(declaration.element, same(accessor)); | 1306 expect(declaration.element, same(accessor)); |
| 1264 expect(declaration.functionExpression.element, same(accessor)); | 1307 expect(declaration.functionExpression.element, same(accessor)); |
| 1265 expect(accessor.hasImplicitReturnType, isTrue); | 1308 expect(accessor.hasImplicitReturnType, isTrue); |
| 1266 expect(accessor.isGetter, isTrue); | 1309 expect(accessor.isGetter, isTrue); |
| 1267 expect(accessor.isExternal, isFalse); | 1310 expect(accessor.isExternal, isFalse); |
| 1268 expect(accessor.isSetter, isFalse); | 1311 expect(accessor.isSetter, isFalse); |
| 1269 expect(accessor.isSynthetic, isFalse); | 1312 expect(accessor.isSynthetic, isFalse); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1280 ElementBuilder builder = _makeBuilder(holder); | 1323 ElementBuilder builder = _makeBuilder(holder); |
| 1281 String functionName = "f"; | 1324 String functionName = "f"; |
| 1282 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 1325 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 1283 AstFactory.typeName4('T'), | 1326 AstFactory.typeName4('T'), |
| 1284 null, | 1327 null, |
| 1285 functionName, | 1328 functionName, |
| 1286 AstFactory.functionExpression2( | 1329 AstFactory.functionExpression2( |
| 1287 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); | 1330 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); |
| 1288 declaration.documentationComment = AstFactory.documentationComment( | 1331 declaration.documentationComment = AstFactory.documentationComment( |
| 1289 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1332 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1333 declaration.endToken.offset = 80; |
| 1290 declaration.accept(builder); | 1334 declaration.accept(builder); |
| 1291 | 1335 |
| 1292 List<FunctionElement> functions = holder.functions; | 1336 List<FunctionElement> functions = holder.functions; |
| 1293 expect(functions, hasLength(1)); | 1337 expect(functions, hasLength(1)); |
| 1294 FunctionElement function = functions[0]; | 1338 FunctionElement function = functions[0]; |
| 1295 expect(function, isNotNull); | 1339 expect(function, isNotNull); |
| 1340 _assertHasCodeRange(function, 50, 31); |
| 1296 expect(function.documentationComment, '/// aaa'); | 1341 expect(function.documentationComment, '/// aaa'); |
| 1297 _assertHasDocRange(function, 50, 7); | 1342 _assertHasDocRange(function, 50, 7); |
| 1298 expect(function.hasImplicitReturnType, isFalse); | 1343 expect(function.hasImplicitReturnType, isFalse); |
| 1299 expect(function.name, functionName); | 1344 expect(function.name, functionName); |
| 1300 expect(declaration.element, same(function)); | 1345 expect(declaration.element, same(function)); |
| 1301 expect(declaration.functionExpression.element, same(function)); | 1346 expect(declaration.functionExpression.element, same(function)); |
| 1302 expect(function.isExternal, isFalse); | 1347 expect(function.isExternal, isFalse); |
| 1303 expect(function.isSynthetic, isFalse); | 1348 expect(function.isSynthetic, isFalse); |
| 1304 expect(function.typeParameters, hasLength(0)); | 1349 expect(function.typeParameters, hasLength(0)); |
| 1305 } | 1350 } |
| 1306 | 1351 |
| 1307 void test_visitFunctionDeclaration_setter() { | 1352 void test_visitFunctionDeclaration_setter() { |
| 1308 // set f() {} | 1353 // set f() {} |
| 1309 ElementHolder holder = new ElementHolder(); | 1354 ElementHolder holder = new ElementHolder(); |
| 1310 ElementBuilder builder = _makeBuilder(holder); | 1355 ElementBuilder builder = _makeBuilder(holder); |
| 1311 String functionName = "f"; | 1356 String functionName = "f"; |
| 1312 FunctionDeclaration declaration = AstFactory.functionDeclaration( | 1357 FunctionDeclaration declaration = AstFactory.functionDeclaration( |
| 1313 null, | 1358 null, |
| 1314 Keyword.SET, | 1359 Keyword.SET, |
| 1315 functionName, | 1360 functionName, |
| 1316 AstFactory.functionExpression2( | 1361 AstFactory.functionExpression2( |
| 1317 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); | 1362 AstFactory.formalParameterList(), AstFactory.blockFunctionBody2())); |
| 1318 declaration.documentationComment = AstFactory.documentationComment( | 1363 declaration.documentationComment = AstFactory.documentationComment( |
| 1319 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1364 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1365 declaration.endToken.offset = 80; |
| 1320 declaration.accept(builder); | 1366 declaration.accept(builder); |
| 1321 | 1367 |
| 1322 List<PropertyAccessorElement> accessors = holder.accessors; | 1368 List<PropertyAccessorElement> accessors = holder.accessors; |
| 1323 expect(accessors, hasLength(1)); | 1369 expect(accessors, hasLength(1)); |
| 1324 PropertyAccessorElement accessor = accessors[0]; | 1370 PropertyAccessorElement accessor = accessors[0]; |
| 1325 expect(accessor, isNotNull); | 1371 expect(accessor, isNotNull); |
| 1372 _assertHasCodeRange(accessor, 50, 31); |
| 1326 expect(accessor.documentationComment, '/// aaa'); | 1373 expect(accessor.documentationComment, '/// aaa'); |
| 1327 _assertHasDocRange(accessor, 50, 7); | 1374 _assertHasDocRange(accessor, 50, 7); |
| 1328 expect(accessor.hasImplicitReturnType, isTrue); | 1375 expect(accessor.hasImplicitReturnType, isTrue); |
| 1329 expect(accessor.name, "$functionName="); | 1376 expect(accessor.name, "$functionName="); |
| 1330 expect(declaration.element, same(accessor)); | 1377 expect(declaration.element, same(accessor)); |
| 1331 expect(declaration.functionExpression.element, same(accessor)); | 1378 expect(declaration.functionExpression.element, same(accessor)); |
| 1332 expect(accessor.isGetter, isFalse); | 1379 expect(accessor.isGetter, isFalse); |
| 1333 expect(accessor.isExternal, isFalse); | 1380 expect(accessor.isExternal, isFalse); |
| 1334 expect(accessor.isSetter, isTrue); | 1381 expect(accessor.isSetter, isTrue); |
| 1335 expect(accessor.isSynthetic, isFalse); | 1382 expect(accessor.isSynthetic, isFalse); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1389 | 1436 |
| 1390 void test_visitFunctionTypeAlias() { | 1437 void test_visitFunctionTypeAlias() { |
| 1391 ElementHolder holder = new ElementHolder(); | 1438 ElementHolder holder = new ElementHolder(); |
| 1392 ElementBuilder builder = _makeBuilder(holder); | 1439 ElementBuilder builder = _makeBuilder(holder); |
| 1393 String aliasName = "F"; | 1440 String aliasName = "F"; |
| 1394 String parameterName = "E"; | 1441 String parameterName = "E"; |
| 1395 FunctionTypeAlias aliasNode = AstFactory.typeAlias( | 1442 FunctionTypeAlias aliasNode = AstFactory.typeAlias( |
| 1396 null, aliasName, AstFactory.typeParameterList([parameterName]), null); | 1443 null, aliasName, AstFactory.typeParameterList([parameterName]), null); |
| 1397 aliasNode.documentationComment = AstFactory.documentationComment( | 1444 aliasNode.documentationComment = AstFactory.documentationComment( |
| 1398 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1445 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1446 aliasNode.endToken.offset = 80; |
| 1399 aliasNode.accept(builder); | 1447 aliasNode.accept(builder); |
| 1400 | 1448 |
| 1401 List<FunctionTypeAliasElement> aliases = holder.typeAliases; | 1449 List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| 1402 expect(aliases, hasLength(1)); | 1450 expect(aliases, hasLength(1)); |
| 1403 FunctionTypeAliasElement alias = aliases[0]; | 1451 FunctionTypeAliasElement alias = aliases[0]; |
| 1404 expect(alias, isNotNull); | 1452 expect(alias, isNotNull); |
| 1453 _assertHasCodeRange(alias, 50, 31); |
| 1405 expect(alias.documentationComment, '/// aaa'); | 1454 expect(alias.documentationComment, '/// aaa'); |
| 1406 _assertHasDocRange(alias, 50, 7); | 1455 _assertHasDocRange(alias, 50, 7); |
| 1407 expect(alias.name, aliasName); | 1456 expect(alias.name, aliasName); |
| 1408 expect(alias.parameters, hasLength(0)); | 1457 expect(alias.parameters, hasLength(0)); |
| 1409 List<TypeParameterElement> typeParameters = alias.typeParameters; | 1458 List<TypeParameterElement> typeParameters = alias.typeParameters; |
| 1410 expect(typeParameters, hasLength(1)); | 1459 expect(typeParameters, hasLength(1)); |
| 1411 TypeParameterElement typeParameter = typeParameters[0]; | 1460 TypeParameterElement typeParameter = typeParameters[0]; |
| 1412 expect(typeParameter, isNotNull); | 1461 expect(typeParameter, isNotNull); |
| 1413 expect(typeParameter.name, parameterName); | 1462 expect(typeParameter.name, parameterName); |
| 1414 } | 1463 } |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1550 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 1599 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 1551 null, | 1600 null, |
| 1552 null, | 1601 null, |
| 1553 Keyword.GET, | 1602 Keyword.GET, |
| 1554 null, | 1603 null, |
| 1555 AstFactory.identifier3(methodName), | 1604 AstFactory.identifier3(methodName), |
| 1556 AstFactory.formalParameterList(), | 1605 AstFactory.formalParameterList(), |
| 1557 AstFactory.blockFunctionBody2()); | 1606 AstFactory.blockFunctionBody2()); |
| 1558 methodDeclaration.documentationComment = AstFactory.documentationComment( | 1607 methodDeclaration.documentationComment = AstFactory.documentationComment( |
| 1559 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1608 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1609 methodDeclaration.endToken.offset = 80; |
| 1560 methodDeclaration.accept(builder); | 1610 methodDeclaration.accept(builder); |
| 1561 | 1611 |
| 1562 List<FieldElement> fields = holder.fields; | 1612 List<FieldElement> fields = holder.fields; |
| 1563 expect(fields, hasLength(1)); | 1613 expect(fields, hasLength(1)); |
| 1564 FieldElement field = fields[0]; | 1614 FieldElement field = fields[0]; |
| 1565 expect(field, isNotNull); | 1615 expect(field, isNotNull); |
| 1566 expect(field.name, methodName); | 1616 expect(field.name, methodName); |
| 1567 expect(field.isSynthetic, isTrue); | 1617 expect(field.isSynthetic, isTrue); |
| 1568 expect(field.setter, isNull); | 1618 expect(field.setter, isNull); |
| 1569 PropertyAccessorElement getter = field.getter; | 1619 PropertyAccessorElement getter = field.getter; |
| 1570 expect(getter, isNotNull); | 1620 expect(getter, isNotNull); |
| 1621 _assertHasCodeRange(getter, 50, 31); |
| 1571 expect(getter.documentationComment, '/// aaa'); | 1622 expect(getter.documentationComment, '/// aaa'); |
| 1572 _assertHasDocRange(getter, 50, 7); | 1623 _assertHasDocRange(getter, 50, 7); |
| 1573 expect(getter.hasImplicitReturnType, isTrue); | 1624 expect(getter.hasImplicitReturnType, isTrue); |
| 1574 expect(getter.isAbstract, isFalse); | 1625 expect(getter.isAbstract, isFalse); |
| 1575 expect(getter.isExternal, isFalse); | 1626 expect(getter.isExternal, isFalse); |
| 1576 expect(getter.isGetter, isTrue); | 1627 expect(getter.isGetter, isTrue); |
| 1577 expect(getter.isSynthetic, isFalse); | 1628 expect(getter.isSynthetic, isFalse); |
| 1578 expect(getter.name, methodName); | 1629 expect(getter.name, methodName); |
| 1579 expect(getter.variable, field); | 1630 expect(getter.variable, field); |
| 1580 expect(getter.functions, hasLength(0)); | 1631 expect(getter.functions, hasLength(0)); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1666 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 1717 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 1667 null, | 1718 null, |
| 1668 AstFactory.typeName4('T'), | 1719 AstFactory.typeName4('T'), |
| 1669 null, | 1720 null, |
| 1670 null, | 1721 null, |
| 1671 AstFactory.identifier3(methodName), | 1722 AstFactory.identifier3(methodName), |
| 1672 AstFactory.formalParameterList(), | 1723 AstFactory.formalParameterList(), |
| 1673 AstFactory.blockFunctionBody2()); | 1724 AstFactory.blockFunctionBody2()); |
| 1674 methodDeclaration.documentationComment = AstFactory.documentationComment( | 1725 methodDeclaration.documentationComment = AstFactory.documentationComment( |
| 1675 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1726 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1727 methodDeclaration.endToken.offset = 80; |
| 1676 methodDeclaration.accept(builder); | 1728 methodDeclaration.accept(builder); |
| 1677 | 1729 |
| 1678 List<MethodElement> methods = holder.methods; | 1730 List<MethodElement> methods = holder.methods; |
| 1679 expect(methods, hasLength(1)); | 1731 expect(methods, hasLength(1)); |
| 1680 MethodElement method = methods[0]; | 1732 MethodElement method = methods[0]; |
| 1681 expect(method, isNotNull); | 1733 expect(method, isNotNull); |
| 1734 _assertHasCodeRange(method, 50, 31); |
| 1682 expect(method.documentationComment, '/// aaa'); | 1735 expect(method.documentationComment, '/// aaa'); |
| 1683 _assertHasDocRange(method, 50, 7); | 1736 _assertHasDocRange(method, 50, 7); |
| 1684 expect(method.hasImplicitReturnType, isFalse); | 1737 expect(method.hasImplicitReturnType, isFalse); |
| 1685 expect(method.name, methodName); | 1738 expect(method.name, methodName); |
| 1686 expect(method.functions, hasLength(0)); | 1739 expect(method.functions, hasLength(0)); |
| 1687 expect(method.labels, hasLength(0)); | 1740 expect(method.labels, hasLength(0)); |
| 1688 expect(method.localVariables, hasLength(0)); | 1741 expect(method.localVariables, hasLength(0)); |
| 1689 expect(method.parameters, hasLength(0)); | 1742 expect(method.parameters, hasLength(0)); |
| 1690 expect(method.typeParameters, hasLength(0)); | 1743 expect(method.typeParameters, hasLength(0)); |
| 1691 expect(method.isAbstract, isFalse); | 1744 expect(method.isAbstract, isFalse); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1735 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( | 1788 MethodDeclaration methodDeclaration = AstFactory.methodDeclaration2( |
| 1736 null, | 1789 null, |
| 1737 null, | 1790 null, |
| 1738 Keyword.SET, | 1791 Keyword.SET, |
| 1739 null, | 1792 null, |
| 1740 AstFactory.identifier3(methodName), | 1793 AstFactory.identifier3(methodName), |
| 1741 AstFactory.formalParameterList(), | 1794 AstFactory.formalParameterList(), |
| 1742 AstFactory.blockFunctionBody2()); | 1795 AstFactory.blockFunctionBody2()); |
| 1743 methodDeclaration.documentationComment = AstFactory.documentationComment( | 1796 methodDeclaration.documentationComment = AstFactory.documentationComment( |
| 1744 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); | 1797 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); |
| 1798 methodDeclaration.endToken.offset = 80; |
| 1745 methodDeclaration.accept(builder); | 1799 methodDeclaration.accept(builder); |
| 1746 | 1800 |
| 1747 List<FieldElement> fields = holder.fields; | 1801 List<FieldElement> fields = holder.fields; |
| 1748 expect(fields, hasLength(1)); | 1802 expect(fields, hasLength(1)); |
| 1749 FieldElement field = fields[0]; | 1803 FieldElement field = fields[0]; |
| 1750 expect(field, isNotNull); | 1804 expect(field, isNotNull); |
| 1751 expect(field.name, methodName); | 1805 expect(field.name, methodName); |
| 1752 expect(field.isSynthetic, isTrue); | 1806 expect(field.isSynthetic, isTrue); |
| 1753 expect(field.getter, isNull); | 1807 expect(field.getter, isNull); |
| 1754 | 1808 |
| 1755 PropertyAccessorElement setter = field.setter; | 1809 PropertyAccessorElement setter = field.setter; |
| 1756 expect(setter, isNotNull); | 1810 expect(setter, isNotNull); |
| 1811 _assertHasCodeRange(setter, 50, 31); |
| 1757 expect(setter.documentationComment, '/// aaa'); | 1812 expect(setter.documentationComment, '/// aaa'); |
| 1758 _assertHasDocRange(setter, 50, 7); | 1813 _assertHasDocRange(setter, 50, 7); |
| 1759 expect(setter.hasImplicitReturnType, isTrue); | 1814 expect(setter.hasImplicitReturnType, isTrue); |
| 1760 expect(setter.isAbstract, isFalse); | 1815 expect(setter.isAbstract, isFalse); |
| 1761 expect(setter.isExternal, isFalse); | 1816 expect(setter.isExternal, isFalse); |
| 1762 expect(setter.isSetter, isTrue); | 1817 expect(setter.isSetter, isTrue); |
| 1763 expect(setter.isSynthetic, isFalse); | 1818 expect(setter.isSynthetic, isFalse); |
| 1764 expect(setter.name, "$methodName="); | 1819 expect(setter.name, "$methodName="); |
| 1765 expect(setter.displayName, methodName); | 1820 expect(setter.displayName, methodName); |
| 1766 expect(setter.variable, field); | 1821 expect(setter.variable, field); |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1976 } | 2031 } |
| 1977 | 2032 |
| 1978 void test_visitNamedFormalParameter() { | 2033 void test_visitNamedFormalParameter() { |
| 1979 ElementHolder holder = new ElementHolder(); | 2034 ElementHolder holder = new ElementHolder(); |
| 1980 ElementBuilder builder = _makeBuilder(holder); | 2035 ElementBuilder builder = _makeBuilder(holder); |
| 1981 String parameterName = "p"; | 2036 String parameterName = "p"; |
| 1982 DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter( | 2037 DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter( |
| 1983 AstFactory.simpleFormalParameter3(parameterName), | 2038 AstFactory.simpleFormalParameter3(parameterName), |
| 1984 AstFactory.identifier3("42")); | 2039 AstFactory.identifier3("42")); |
| 1985 _useParameterInMethod(formalParameter, 100, 110); | 2040 _useParameterInMethod(formalParameter, 100, 110); |
| 2041 formalParameter.beginToken.offset = 50; |
| 2042 formalParameter.endToken.offset = 80; |
| 1986 formalParameter.accept(builder); | 2043 formalParameter.accept(builder); |
| 1987 List<ParameterElement> parameters = holder.parameters; | 2044 List<ParameterElement> parameters = holder.parameters; |
| 1988 expect(parameters, hasLength(1)); | 2045 expect(parameters, hasLength(1)); |
| 1989 ParameterElement parameter = parameters[0]; | 2046 ParameterElement parameter = parameters[0]; |
| 1990 expect(parameter, isNotNull); | 2047 expect(parameter, isNotNull); |
| 2048 _assertHasCodeRange(parameter, 50, 32); |
| 1991 expect(parameter.name, parameterName); | 2049 expect(parameter.name, parameterName); |
| 1992 expect(parameter.isConst, isFalse); | 2050 expect(parameter.isConst, isFalse); |
| 1993 expect(parameter.isFinal, isFalse); | 2051 expect(parameter.isFinal, isFalse); |
| 1994 expect(parameter.isSynthetic, isFalse); | 2052 expect(parameter.isSynthetic, isFalse); |
| 1995 expect(parameter.parameterKind, ParameterKind.NAMED); | 2053 expect(parameter.parameterKind, ParameterKind.NAMED); |
| 1996 { | 2054 { |
| 1997 SourceRange visibleRange = parameter.visibleRange; | 2055 SourceRange visibleRange = parameter.visibleRange; |
| 1998 expect(100, visibleRange.offset); | 2056 expect(100, visibleRange.offset); |
| 1999 expect(110, visibleRange.end); | 2057 expect(110, visibleRange.end); |
| 2000 } | 2058 } |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2081 String firstParameterName = "x"; | 2139 String firstParameterName = "x"; |
| 2082 String secondParameterName = "y"; | 2140 String secondParameterName = "y"; |
| 2083 TypeAlias typeAlias = AstFactory.typeAlias( | 2141 TypeAlias typeAlias = AstFactory.typeAlias( |
| 2084 null, | 2142 null, |
| 2085 aliasName, | 2143 aliasName, |
| 2086 AstFactory.typeParameterList(), | 2144 AstFactory.typeParameterList(), |
| 2087 AstFactory.formalParameterList([ | 2145 AstFactory.formalParameterList([ |
| 2088 AstFactory.simpleFormalParameter3(firstParameterName), | 2146 AstFactory.simpleFormalParameter3(firstParameterName), |
| 2089 AstFactory.simpleFormalParameter3(secondParameterName) | 2147 AstFactory.simpleFormalParameter3(secondParameterName) |
| 2090 ])); | 2148 ])); |
| 2149 typeAlias.beginToken.offset = 50; |
| 2150 typeAlias.endToken.offset = 80; |
| 2091 typeAlias.accept(builder); | 2151 typeAlias.accept(builder); |
| 2092 List<FunctionTypeAliasElement> aliases = holder.typeAliases; | 2152 List<FunctionTypeAliasElement> aliases = holder.typeAliases; |
| 2093 expect(aliases, hasLength(1)); | 2153 expect(aliases, hasLength(1)); |
| 2094 FunctionTypeAliasElement alias = aliases[0]; | 2154 FunctionTypeAliasElement alias = aliases[0]; |
| 2095 expect(alias, isNotNull); | 2155 expect(alias, isNotNull); |
| 2156 _assertHasCodeRange(alias, 50, 31); |
| 2096 expect(alias.name, aliasName); | 2157 expect(alias.name, aliasName); |
| 2097 expect(alias.type, isNotNull); | 2158 expect(alias.type, isNotNull); |
| 2098 expect(alias.isSynthetic, isFalse); | 2159 expect(alias.isSynthetic, isFalse); |
| 2099 List<VariableElement> parameters = alias.parameters; | 2160 List<VariableElement> parameters = alias.parameters; |
| 2100 expect(parameters, hasLength(2)); | 2161 expect(parameters, hasLength(2)); |
| 2101 expect(parameters[0].name, firstParameterName); | 2162 expect(parameters[0].name, firstParameterName); |
| 2102 expect(parameters[1].name, secondParameterName); | 2163 expect(parameters[1].name, secondParameterName); |
| 2103 List<TypeParameterElement> typeParameters = alias.typeParameters; | 2164 List<TypeParameterElement> typeParameters = alias.typeParameters; |
| 2104 expect(typeParameters, isNotNull); | 2165 expect(typeParameters, isNotNull); |
| 2105 expect(typeParameters, hasLength(0)); | 2166 expect(typeParameters, hasLength(0)); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 2132 expect(typeParameters, hasLength(2)); | 2193 expect(typeParameters, hasLength(2)); |
| 2133 expect(typeParameters[0].name, firstTypeParameterName); | 2194 expect(typeParameters[0].name, firstTypeParameterName); |
| 2134 expect(typeParameters[1].name, secondTypeParameterName); | 2195 expect(typeParameters[1].name, secondTypeParameterName); |
| 2135 } | 2196 } |
| 2136 | 2197 |
| 2137 void test_visitTypeParameter() { | 2198 void test_visitTypeParameter() { |
| 2138 ElementHolder holder = new ElementHolder(); | 2199 ElementHolder holder = new ElementHolder(); |
| 2139 ElementBuilder builder = _makeBuilder(holder); | 2200 ElementBuilder builder = _makeBuilder(holder); |
| 2140 String parameterName = "E"; | 2201 String parameterName = "E"; |
| 2141 TypeParameter typeParameter = AstFactory.typeParameter(parameterName); | 2202 TypeParameter typeParameter = AstFactory.typeParameter(parameterName); |
| 2203 typeParameter.beginToken.offset = 50; |
| 2142 typeParameter.accept(builder); | 2204 typeParameter.accept(builder); |
| 2143 List<TypeParameterElement> typeParameters = holder.typeParameters; | 2205 List<TypeParameterElement> typeParameters = holder.typeParameters; |
| 2144 expect(typeParameters, hasLength(1)); | 2206 expect(typeParameters, hasLength(1)); |
| 2145 TypeParameterElement typeParameterElement = typeParameters[0]; | 2207 TypeParameterElement typeParameterElement = typeParameters[0]; |
| 2146 expect(typeParameterElement, isNotNull); | 2208 expect(typeParameterElement, isNotNull); |
| 2209 _assertHasCodeRange(typeParameterElement, 50, 1); |
| 2147 expect(typeParameterElement.name, parameterName); | 2210 expect(typeParameterElement.name, parameterName); |
| 2148 expect(typeParameterElement.bound, isNull); | 2211 expect(typeParameterElement.bound, isNull); |
| 2149 expect(typeParameterElement.isSynthetic, isFalse); | 2212 expect(typeParameterElement.isSynthetic, isFalse); |
| 2150 } | 2213 } |
| 2151 | 2214 |
| 2152 void test_visitVariableDeclaration_inConstructor() { | 2215 void test_visitVariableDeclaration_inConstructor() { |
| 2153 ElementHolder holder = new ElementHolder(); | 2216 ElementHolder holder = new ElementHolder(); |
| 2154 ElementBuilder builder = _makeBuilder(holder); | 2217 ElementBuilder builder = _makeBuilder(holder); |
| 2155 // | 2218 // |
| 2156 // C() {var v;} | 2219 // C() {var v;} |
| 2157 // | 2220 // |
| 2158 String variableName = "v"; | 2221 String variableName = "v"; |
| 2159 VariableDeclaration variable = | 2222 VariableDeclaration variable = |
| 2160 AstFactory.variableDeclaration2(variableName, null); | 2223 AstFactory.variableDeclaration2(variableName, null); |
| 2161 Statement statement = | 2224 VariableDeclarationStatement statement = |
| 2162 AstFactory.variableDeclarationStatement2(null, [variable]); | 2225 AstFactory.variableDeclarationStatement2(Keyword.VAR, [variable]); |
| 2163 ConstructorDeclaration constructor = AstFactory.constructorDeclaration2( | 2226 ConstructorDeclaration constructor = AstFactory.constructorDeclaration2( |
| 2164 null, | 2227 null, |
| 2165 null, | 2228 null, |
| 2166 AstFactory.identifier3("C"), | 2229 AstFactory.identifier3("C"), |
| 2167 "C", | 2230 "C", |
| 2168 AstFactory.formalParameterList(), | 2231 AstFactory.formalParameterList(), |
| 2169 null, | 2232 null, |
| 2170 AstFactory.blockFunctionBody2([statement])); | 2233 AstFactory.blockFunctionBody2([statement])); |
| 2234 statement.beginToken.offset = 50; |
| 2235 statement.endToken.offset = 80; |
| 2171 constructor.accept(builder); | 2236 constructor.accept(builder); |
| 2172 | 2237 |
| 2173 List<ConstructorElement> constructors = holder.constructors; | 2238 List<ConstructorElement> constructors = holder.constructors; |
| 2174 expect(constructors, hasLength(1)); | 2239 expect(constructors, hasLength(1)); |
| 2175 List<LocalVariableElement> variableElements = | 2240 List<LocalVariableElement> variableElements = |
| 2176 constructors[0].localVariables; | 2241 constructors[0].localVariables; |
| 2177 expect(variableElements, hasLength(1)); | 2242 expect(variableElements, hasLength(1)); |
| 2178 LocalVariableElement variableElement = variableElements[0]; | 2243 LocalVariableElement variableElement = variableElements[0]; |
| 2244 _assertHasCodeRange(variableElement, 50, 31); |
| 2179 expect(variableElement.hasImplicitType, isTrue); | 2245 expect(variableElement.hasImplicitType, isTrue); |
| 2180 expect(variableElement.name, variableName); | 2246 expect(variableElement.name, variableName); |
| 2181 } | 2247 } |
| 2182 | 2248 |
| 2183 void test_visitVariableDeclaration_inMethod() { | 2249 void test_visitVariableDeclaration_inMethod() { |
| 2184 ElementHolder holder = new ElementHolder(); | 2250 ElementHolder holder = new ElementHolder(); |
| 2185 ElementBuilder builder = _makeBuilder(holder); | 2251 ElementBuilder builder = _makeBuilder(holder); |
| 2186 // | 2252 // |
| 2187 // m() {T v;} | 2253 // m() {T v;} |
| 2188 // | 2254 // |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2347 expect(variable.hasImplicitType, isTrue); | 2413 expect(variable.hasImplicitType, isTrue); |
| 2348 expect(variable.initializer, isNull); | 2414 expect(variable.initializer, isNull); |
| 2349 expect(variable.name, variableName); | 2415 expect(variable.name, variableName); |
| 2350 expect(variable.isConst, isFalse); | 2416 expect(variable.isConst, isFalse); |
| 2351 expect(variable.isFinal, isTrue); | 2417 expect(variable.isFinal, isTrue); |
| 2352 expect(variable.isSynthetic, isFalse); | 2418 expect(variable.isSynthetic, isFalse); |
| 2353 expect(variable.getter, isNotNull); | 2419 expect(variable.getter, isNotNull); |
| 2354 expect(variable.setter, isNull); | 2420 expect(variable.setter, isNull); |
| 2355 } | 2421 } |
| 2356 | 2422 |
| 2423 void _assertHasCodeRange(Element element, int offset, int length) { |
| 2424 ElementImpl elementImpl = element; |
| 2425 expect(elementImpl.codeOffset, offset); |
| 2426 expect(elementImpl.codeLength, length); |
| 2427 } |
| 2428 |
| 2357 void _assertHasDocRange( | 2429 void _assertHasDocRange( |
| 2358 Element element, int expectedOffset, int expectedLength) { | 2430 Element element, int expectedOffset, int expectedLength) { |
| 2359 // Cast to dynamic here to avoid a hint about @deprecated docRange. | 2431 // Cast to dynamic here to avoid a hint about @deprecated docRange. |
| 2360 SourceRange docRange = (element as dynamic).docRange; | 2432 SourceRange docRange = (element as dynamic).docRange; |
| 2361 expect(docRange, isNotNull); | 2433 expect(docRange, isNotNull); |
| 2362 expect(docRange.offset, expectedOffset); | 2434 expect(docRange.offset, expectedOffset); |
| 2363 expect(docRange.length, expectedLength); | 2435 expect(docRange.length, expectedLength); |
| 2364 } | 2436 } |
| 2365 | 2437 |
| 2366 ElementBuilder _makeBuilder(ElementHolder holder) => | 2438 ElementBuilder _makeBuilder(ElementHolder holder) => |
| (...skipping 1762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4129 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI)); | 4201 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI)); |
| 4130 expect(UriKind.fromEncoding(0x58), same(null)); | 4202 expect(UriKind.fromEncoding(0x58), same(null)); |
| 4131 } | 4203 } |
| 4132 | 4204 |
| 4133 void test_getEncoding() { | 4205 void test_getEncoding() { |
| 4134 expect(UriKind.DART_URI.encoding, 0x64); | 4206 expect(UriKind.DART_URI.encoding, 0x64); |
| 4135 expect(UriKind.FILE_URI.encoding, 0x66); | 4207 expect(UriKind.FILE_URI.encoding, 0x66); |
| 4136 expect(UriKind.PACKAGE_URI.encoding, 0x70); | 4208 expect(UriKind.PACKAGE_URI.encoding, 0x70); |
| 4137 } | 4209 } |
| 4138 } | 4210 } |
| OLD | NEW |