Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Side by Side Diff: pkg/analyzer/test/generated/all_the_rest_test.dart

Issue 2330813002: Reapply abc5051854fd7c98c7ba6b593211e47dcbcec9e8: Remove 'Element.docRange'. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 719 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 expect(types, hasLength(1)); 730 expect(types, hasLength(1));
731 ClassElement type = types[0]; 731 ClassElement type = types[0];
732 expect(type, isNotNull); 732 expect(type, isNotNull);
733 expect(type.name, className); 733 expect(type.name, className);
734 List<TypeParameterElement> typeParameters = type.typeParameters; 734 List<TypeParameterElement> typeParameters = type.typeParameters;
735 expect(typeParameters, hasLength(0)); 735 expect(typeParameters, hasLength(0));
736 expect(type.isAbstract, isFalse); 736 expect(type.isAbstract, isFalse);
737 expect(type.isMixinApplication, isFalse); 737 expect(type.isMixinApplication, isFalse);
738 expect(type.isSynthetic, isFalse); 738 expect(type.isSynthetic, isFalse);
739 expect(type.documentationComment, '/// aaa'); 739 expect(type.documentationComment, '/// aaa');
740 _assertHasDocRange(type, 50, 7);
741 _assertHasCodeRange(type, 50, 31); 740 _assertHasCodeRange(type, 50, 31);
742 } 741 }
743 742
744 void test_visitClassDeclaration_parameterized() { 743 void test_visitClassDeclaration_parameterized() {
745 ElementHolder holder = new ElementHolder(); 744 ElementHolder holder = new ElementHolder();
746 ElementBuilder builder = _makeBuilder(holder); 745 ElementBuilder builder = _makeBuilder(holder);
747 String className = "C"; 746 String className = "C";
748 String firstVariableName = "E"; 747 String firstVariableName = "E";
749 String secondVariableName = "F"; 748 String secondVariableName = "F";
750 ClassDeclaration classDeclaration = AstFactory.classDeclaration( 749 ClassDeclaration classDeclaration = AstFactory.classDeclaration(
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 996 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
998 constructorDeclaration.endToken.offset = 80; 997 constructorDeclaration.endToken.offset = 80;
999 constructorDeclaration.accept(builder); 998 constructorDeclaration.accept(builder);
1000 999
1001 List<ConstructorElement> constructors = holder.constructors; 1000 List<ConstructorElement> constructors = holder.constructors;
1002 expect(constructors, hasLength(1)); 1001 expect(constructors, hasLength(1));
1003 ConstructorElement constructor = constructors[0]; 1002 ConstructorElement constructor = constructors[0];
1004 expect(constructor, isNotNull); 1003 expect(constructor, isNotNull);
1005 _assertHasCodeRange(constructor, 50, 31); 1004 _assertHasCodeRange(constructor, 50, 31);
1006 expect(constructor.documentationComment, '/// aaa'); 1005 expect(constructor.documentationComment, '/// aaa');
1007 _assertHasDocRange(constructor, 50, 7);
1008 expect(constructor.isExternal, isFalse); 1006 expect(constructor.isExternal, isFalse);
1009 expect(constructor.isFactory, isFalse); 1007 expect(constructor.isFactory, isFalse);
1010 expect(constructor.name, ""); 1008 expect(constructor.name, "");
1011 expect(constructor.functions, hasLength(0)); 1009 expect(constructor.functions, hasLength(0));
1012 expect(constructor.labels, hasLength(0)); 1010 expect(constructor.labels, hasLength(0));
1013 expect(constructor.localVariables, hasLength(0)); 1011 expect(constructor.localVariables, hasLength(0));
1014 expect(constructor.parameters, hasLength(0)); 1012 expect(constructor.parameters, hasLength(0));
1015 } 1013 }
1016 1014
1017 void test_visitConstructorDeclaration_named() { 1015 void test_visitConstructorDeclaration_named() {
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1200 enumDeclaration.documentationComment = AstFactory.documentationComment( 1198 enumDeclaration.documentationComment = AstFactory.documentationComment(
1201 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1199 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1202 enumDeclaration.endToken.offset = 80; 1200 enumDeclaration.endToken.offset = 80;
1203 enumDeclaration.accept(builder); 1201 enumDeclaration.accept(builder);
1204 List<ClassElement> enums = holder.enums; 1202 List<ClassElement> enums = holder.enums;
1205 expect(enums, hasLength(1)); 1203 expect(enums, hasLength(1));
1206 ClassElement enumElement = enums[0]; 1204 ClassElement enumElement = enums[0];
1207 expect(enumElement, isNotNull); 1205 expect(enumElement, isNotNull);
1208 _assertHasCodeRange(enumElement, 50, 31); 1206 _assertHasCodeRange(enumElement, 50, 31);
1209 expect(enumElement.documentationComment, '/// aaa'); 1207 expect(enumElement.documentationComment, '/// aaa');
1210 _assertHasDocRange(enumElement, 50, 7);
1211 expect(enumElement.name, enumName); 1208 expect(enumElement.name, enumName);
1212 } 1209 }
1213 1210
1214 void test_visitFieldDeclaration() { 1211 void test_visitFieldDeclaration() {
1215 ElementHolder holder = new ElementHolder(); 1212 ElementHolder holder = new ElementHolder();
1216 ElementBuilder builder = _makeBuilder(holder); 1213 ElementBuilder builder = _makeBuilder(holder);
1217 String firstFieldName = "x"; 1214 String firstFieldName = "x";
1218 String secondFieldName = "y"; 1215 String secondFieldName = "y";
1219 FieldDeclaration fieldDeclaration = 1216 FieldDeclaration fieldDeclaration =
1220 AstFactory.fieldDeclaration2(false, null, [ 1217 AstFactory.fieldDeclaration2(false, null, [
1221 AstFactory.variableDeclaration(firstFieldName), 1218 AstFactory.variableDeclaration(firstFieldName),
1222 AstFactory.variableDeclaration(secondFieldName) 1219 AstFactory.variableDeclaration(secondFieldName)
1223 ]); 1220 ]);
1224 fieldDeclaration.documentationComment = AstFactory.documentationComment( 1221 fieldDeclaration.documentationComment = AstFactory.documentationComment(
1225 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1222 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1226 fieldDeclaration.endToken.offset = 110; 1223 fieldDeclaration.endToken.offset = 110;
1227 fieldDeclaration.accept(builder); 1224 fieldDeclaration.accept(builder);
1228 1225
1229 List<FieldElement> fields = holder.fields; 1226 List<FieldElement> fields = holder.fields;
1230 expect(fields, hasLength(2)); 1227 expect(fields, hasLength(2));
1231 1228
1232 FieldElement firstField = fields[0]; 1229 FieldElement firstField = fields[0];
1233 expect(firstField, isNotNull); 1230 expect(firstField, isNotNull);
1234 _assertHasCodeRange(firstField, 50, 61); 1231 _assertHasCodeRange(firstField, 50, 61);
1235 expect(firstField.documentationComment, '/// aaa'); 1232 expect(firstField.documentationComment, '/// aaa');
1236 _assertHasDocRange(firstField, 50, 7);
1237 expect(firstField.name, firstFieldName); 1233 expect(firstField.name, firstFieldName);
1238 expect(firstField.initializer, isNull); 1234 expect(firstField.initializer, isNull);
1239 expect(firstField.isConst, isFalse); 1235 expect(firstField.isConst, isFalse);
1240 expect(firstField.isFinal, isFalse); 1236 expect(firstField.isFinal, isFalse);
1241 expect(firstField.isSynthetic, isFalse); 1237 expect(firstField.isSynthetic, isFalse);
1242 1238
1243 FieldElement secondField = fields[1]; 1239 FieldElement secondField = fields[1];
1244 expect(secondField, isNotNull); 1240 expect(secondField, isNotNull);
1245 _assertHasCodeRange(secondField, 50, 61); 1241 _assertHasCodeRange(secondField, 50, 61);
1246 expect(secondField.documentationComment, '/// aaa'); 1242 expect(secondField.documentationComment, '/// aaa');
1247 _assertHasDocRange(secondField, 50, 7);
1248 expect(secondField.name, secondFieldName); 1243 expect(secondField.name, secondFieldName);
1249 expect(secondField.initializer, isNull); 1244 expect(secondField.initializer, isNull);
1250 expect(secondField.isConst, isFalse); 1245 expect(secondField.isConst, isFalse);
1251 expect(secondField.isFinal, isFalse); 1246 expect(secondField.isFinal, isFalse);
1252 expect(secondField.isSynthetic, isFalse); 1247 expect(secondField.isSynthetic, isFalse);
1253 } 1248 }
1254 1249
1255 void test_visitFieldFormalParameter() { 1250 void test_visitFieldFormalParameter() {
1256 ElementHolder holder = new ElementHolder(); 1251 ElementHolder holder = new ElementHolder();
1257 ElementBuilder builder = _makeBuilder(holder); 1252 ElementBuilder builder = _makeBuilder(holder);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1353 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1359 declaration.endToken.offset = 80; 1354 declaration.endToken.offset = 80;
1360 declaration.accept(builder); 1355 declaration.accept(builder);
1361 1356
1362 List<PropertyAccessorElement> accessors = holder.accessors; 1357 List<PropertyAccessorElement> accessors = holder.accessors;
1363 expect(accessors, hasLength(1)); 1358 expect(accessors, hasLength(1));
1364 PropertyAccessorElement accessor = accessors[0]; 1359 PropertyAccessorElement accessor = accessors[0];
1365 expect(accessor, isNotNull); 1360 expect(accessor, isNotNull);
1366 _assertHasCodeRange(accessor, 50, 31); 1361 _assertHasCodeRange(accessor, 50, 31);
1367 expect(accessor.documentationComment, '/// aaa'); 1362 expect(accessor.documentationComment, '/// aaa');
1368 _assertHasDocRange(accessor, 50, 7);
1369 expect(accessor.name, functionName); 1363 expect(accessor.name, functionName);
1370 expect(declaration.element, same(accessor)); 1364 expect(declaration.element, same(accessor));
1371 expect(declaration.functionExpression.element, same(accessor)); 1365 expect(declaration.functionExpression.element, same(accessor));
1372 expect(accessor.hasImplicitReturnType, isTrue); 1366 expect(accessor.hasImplicitReturnType, isTrue);
1373 expect(accessor.isGetter, isTrue); 1367 expect(accessor.isGetter, isTrue);
1374 expect(accessor.isExternal, isFalse); 1368 expect(accessor.isExternal, isFalse);
1375 expect(accessor.isSetter, isFalse); 1369 expect(accessor.isSetter, isFalse);
1376 expect(accessor.isSynthetic, isFalse); 1370 expect(accessor.isSynthetic, isFalse);
1377 expect(accessor.typeParameters, hasLength(0)); 1371 expect(accessor.typeParameters, hasLength(0));
1378 PropertyInducingElement variable = accessor.variable; 1372 PropertyInducingElement variable = accessor.variable;
(...skipping 17 matching lines...) Expand all
1396 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1390 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1397 declaration.endToken.offset = 80; 1391 declaration.endToken.offset = 80;
1398 declaration.accept(builder); 1392 declaration.accept(builder);
1399 1393
1400 List<FunctionElement> functions = holder.functions; 1394 List<FunctionElement> functions = holder.functions;
1401 expect(functions, hasLength(1)); 1395 expect(functions, hasLength(1));
1402 FunctionElement function = functions[0]; 1396 FunctionElement function = functions[0];
1403 expect(function, isNotNull); 1397 expect(function, isNotNull);
1404 _assertHasCodeRange(function, 50, 31); 1398 _assertHasCodeRange(function, 50, 31);
1405 expect(function.documentationComment, '/// aaa'); 1399 expect(function.documentationComment, '/// aaa');
1406 _assertHasDocRange(function, 50, 7);
1407 expect(function.hasImplicitReturnType, isFalse); 1400 expect(function.hasImplicitReturnType, isFalse);
1408 expect(function.name, functionName); 1401 expect(function.name, functionName);
1409 expect(declaration.element, same(function)); 1402 expect(declaration.element, same(function));
1410 expect(declaration.functionExpression.element, same(function)); 1403 expect(declaration.functionExpression.element, same(function));
1411 expect(function.isExternal, isFalse); 1404 expect(function.isExternal, isFalse);
1412 expect(function.isSynthetic, isFalse); 1405 expect(function.isSynthetic, isFalse);
1413 expect(function.typeParameters, hasLength(0)); 1406 expect(function.typeParameters, hasLength(0));
1414 } 1407 }
1415 1408
1416 void test_visitFunctionDeclaration_setter() { 1409 void test_visitFunctionDeclaration_setter() {
(...skipping 11 matching lines...) Expand all
1428 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1421 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1429 declaration.endToken.offset = 80; 1422 declaration.endToken.offset = 80;
1430 declaration.accept(builder); 1423 declaration.accept(builder);
1431 1424
1432 List<PropertyAccessorElement> accessors = holder.accessors; 1425 List<PropertyAccessorElement> accessors = holder.accessors;
1433 expect(accessors, hasLength(1)); 1426 expect(accessors, hasLength(1));
1434 PropertyAccessorElement accessor = accessors[0]; 1427 PropertyAccessorElement accessor = accessors[0];
1435 expect(accessor, isNotNull); 1428 expect(accessor, isNotNull);
1436 _assertHasCodeRange(accessor, 50, 31); 1429 _assertHasCodeRange(accessor, 50, 31);
1437 expect(accessor.documentationComment, '/// aaa'); 1430 expect(accessor.documentationComment, '/// aaa');
1438 _assertHasDocRange(accessor, 50, 7);
1439 expect(accessor.hasImplicitReturnType, isTrue); 1431 expect(accessor.hasImplicitReturnType, isTrue);
1440 expect(accessor.name, "$functionName="); 1432 expect(accessor.name, "$functionName=");
1441 expect(declaration.element, same(accessor)); 1433 expect(declaration.element, same(accessor));
1442 expect(declaration.functionExpression.element, same(accessor)); 1434 expect(declaration.functionExpression.element, same(accessor));
1443 expect(accessor.isGetter, isFalse); 1435 expect(accessor.isGetter, isFalse);
1444 expect(accessor.isExternal, isFalse); 1436 expect(accessor.isExternal, isFalse);
1445 expect(accessor.isSetter, isTrue); 1437 expect(accessor.isSetter, isTrue);
1446 expect(accessor.isSynthetic, isFalse); 1438 expect(accessor.isSynthetic, isFalse);
1447 expect(accessor.typeParameters, hasLength(0)); 1439 expect(accessor.typeParameters, hasLength(0));
1448 PropertyInducingElement variable = accessor.variable; 1440 PropertyInducingElement variable = accessor.variable;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1509 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1501 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1510 aliasNode.endToken.offset = 80; 1502 aliasNode.endToken.offset = 80;
1511 aliasNode.accept(builder); 1503 aliasNode.accept(builder);
1512 1504
1513 List<FunctionTypeAliasElement> aliases = holder.typeAliases; 1505 List<FunctionTypeAliasElement> aliases = holder.typeAliases;
1514 expect(aliases, hasLength(1)); 1506 expect(aliases, hasLength(1));
1515 FunctionTypeAliasElement alias = aliases[0]; 1507 FunctionTypeAliasElement alias = aliases[0];
1516 expect(alias, isNotNull); 1508 expect(alias, isNotNull);
1517 _assertHasCodeRange(alias, 50, 31); 1509 _assertHasCodeRange(alias, 50, 31);
1518 expect(alias.documentationComment, '/// aaa'); 1510 expect(alias.documentationComment, '/// aaa');
1519 _assertHasDocRange(alias, 50, 7);
1520 expect(alias.name, aliasName); 1511 expect(alias.name, aliasName);
1521 expect(alias.parameters, hasLength(0)); 1512 expect(alias.parameters, hasLength(0));
1522 List<TypeParameterElement> typeParameters = alias.typeParameters; 1513 List<TypeParameterElement> typeParameters = alias.typeParameters;
1523 expect(typeParameters, hasLength(1)); 1514 expect(typeParameters, hasLength(1));
1524 TypeParameterElement typeParameter = typeParameters[0]; 1515 TypeParameterElement typeParameter = typeParameters[0];
1525 expect(typeParameter, isNotNull); 1516 expect(typeParameter, isNotNull);
1526 expect(typeParameter.name, parameterName); 1517 expect(typeParameter.name, parameterName);
1527 } 1518 }
1528 1519
1529 void test_visitFunctionTypedFormalParameter() { 1520 void test_visitFunctionTypedFormalParameter() {
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
1710 expect(fields, hasLength(1)); 1701 expect(fields, hasLength(1));
1711 FieldElement field = fields[0]; 1702 FieldElement field = fields[0];
1712 expect(field, isNotNull); 1703 expect(field, isNotNull);
1713 expect(field.name, methodName); 1704 expect(field.name, methodName);
1714 expect(field.isSynthetic, isTrue); 1705 expect(field.isSynthetic, isTrue);
1715 expect(field.setter, isNull); 1706 expect(field.setter, isNull);
1716 PropertyAccessorElement getter = field.getter; 1707 PropertyAccessorElement getter = field.getter;
1717 expect(getter, isNotNull); 1708 expect(getter, isNotNull);
1718 _assertHasCodeRange(getter, 50, 31); 1709 _assertHasCodeRange(getter, 50, 31);
1719 expect(getter.documentationComment, '/// aaa'); 1710 expect(getter.documentationComment, '/// aaa');
1720 _assertHasDocRange(getter, 50, 7);
1721 expect(getter.hasImplicitReturnType, isTrue); 1711 expect(getter.hasImplicitReturnType, isTrue);
1722 expect(getter.isAbstract, isFalse); 1712 expect(getter.isAbstract, isFalse);
1723 expect(getter.isExternal, isFalse); 1713 expect(getter.isExternal, isFalse);
1724 expect(getter.isGetter, isTrue); 1714 expect(getter.isGetter, isTrue);
1725 expect(getter.isSynthetic, isFalse); 1715 expect(getter.isSynthetic, isFalse);
1726 expect(getter.name, methodName); 1716 expect(getter.name, methodName);
1727 expect(getter.variable, field); 1717 expect(getter.variable, field);
1728 expect(getter.functions, hasLength(0)); 1718 expect(getter.functions, hasLength(0));
1729 expect(getter.labels, hasLength(0)); 1719 expect(getter.labels, hasLength(0));
1730 expect(getter.localVariables, hasLength(0)); 1720 expect(getter.localVariables, hasLength(0));
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1823 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 1813 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
1824 methodDeclaration.endToken.offset = 80; 1814 methodDeclaration.endToken.offset = 80;
1825 methodDeclaration.accept(builder); 1815 methodDeclaration.accept(builder);
1826 1816
1827 List<MethodElement> methods = holder.methods; 1817 List<MethodElement> methods = holder.methods;
1828 expect(methods, hasLength(1)); 1818 expect(methods, hasLength(1));
1829 MethodElement method = methods[0]; 1819 MethodElement method = methods[0];
1830 expect(method, isNotNull); 1820 expect(method, isNotNull);
1831 _assertHasCodeRange(method, 50, 31); 1821 _assertHasCodeRange(method, 50, 31);
1832 expect(method.documentationComment, '/// aaa'); 1822 expect(method.documentationComment, '/// aaa');
1833 _assertHasDocRange(method, 50, 7);
1834 expect(method.hasImplicitReturnType, isFalse); 1823 expect(method.hasImplicitReturnType, isFalse);
1835 expect(method.name, methodName); 1824 expect(method.name, methodName);
1836 expect(method.functions, hasLength(0)); 1825 expect(method.functions, hasLength(0));
1837 expect(method.labels, hasLength(0)); 1826 expect(method.labels, hasLength(0));
1838 expect(method.localVariables, hasLength(0)); 1827 expect(method.localVariables, hasLength(0));
1839 expect(method.parameters, hasLength(0)); 1828 expect(method.parameters, hasLength(0));
1840 expect(method.typeParameters, hasLength(0)); 1829 expect(method.typeParameters, hasLength(0));
1841 expect(method.isAbstract, isFalse); 1830 expect(method.isAbstract, isFalse);
1842 expect(method.isExternal, isFalse); 1831 expect(method.isExternal, isFalse);
1843 expect(method.isStatic, isFalse); 1832 expect(method.isStatic, isFalse);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1900 FieldElement field = fields[0]; 1889 FieldElement field = fields[0];
1901 expect(field, isNotNull); 1890 expect(field, isNotNull);
1902 expect(field.name, methodName); 1891 expect(field.name, methodName);
1903 expect(field.isSynthetic, isTrue); 1892 expect(field.isSynthetic, isTrue);
1904 expect(field.getter, isNull); 1893 expect(field.getter, isNull);
1905 1894
1906 PropertyAccessorElement setter = field.setter; 1895 PropertyAccessorElement setter = field.setter;
1907 expect(setter, isNotNull); 1896 expect(setter, isNotNull);
1908 _assertHasCodeRange(setter, 50, 31); 1897 _assertHasCodeRange(setter, 50, 31);
1909 expect(setter.documentationComment, '/// aaa'); 1898 expect(setter.documentationComment, '/// aaa');
1910 _assertHasDocRange(setter, 50, 7);
1911 expect(setter.hasImplicitReturnType, isTrue); 1899 expect(setter.hasImplicitReturnType, isTrue);
1912 expect(setter.isAbstract, isFalse); 1900 expect(setter.isAbstract, isFalse);
1913 expect(setter.isExternal, isFalse); 1901 expect(setter.isExternal, isFalse);
1914 expect(setter.isSetter, isTrue); 1902 expect(setter.isSetter, isTrue);
1915 expect(setter.isSynthetic, isFalse); 1903 expect(setter.isSynthetic, isFalse);
1916 expect(setter.name, "$methodName="); 1904 expect(setter.name, "$methodName=");
1917 expect(setter.displayName, methodName); 1905 expect(setter.displayName, methodName);
1918 expect(setter.variable, field); 1906 expect(setter.variable, field);
1919 expect(setter.functions, hasLength(0)); 1907 expect(setter.functions, hasLength(0));
1920 expect(setter.labels, hasLength(0)); 1908 expect(setter.labels, hasLength(0));
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
2489 expect(variable.hasImplicitType, isTrue); 2477 expect(variable.hasImplicitType, isTrue);
2490 expect(variable.initializer, isNull); 2478 expect(variable.initializer, isNull);
2491 expect(variable.name, variableName); 2479 expect(variable.name, variableName);
2492 expect(variable.isConst, isFalse); 2480 expect(variable.isConst, isFalse);
2493 expect(variable.isFinal, isFalse); 2481 expect(variable.isFinal, isFalse);
2494 expect(variable.isSynthetic, isFalse); 2482 expect(variable.isSynthetic, isFalse);
2495 expect(variable.getter, isNotNull); 2483 expect(variable.getter, isNotNull);
2496 expect(variable.setter, isNotNull); 2484 expect(variable.setter, isNotNull);
2497 } 2485 }
2498 2486
2499 void test_visitVariableDeclaration_top_const_hasInitializer() { 2487 void test_visitVariableDeclaration_top() {
2500 // const v = 42;
2501 ElementHolder holder = new ElementHolder();
2502 ElementBuilder builder = _makeBuilder(holder);
2503 String variableName = "v";
2504 VariableDeclaration variableDeclaration =
2505 AstFactory.variableDeclaration2(variableName, AstFactory.integer(42));
2506 AstFactory.variableDeclarationList2(Keyword.CONST, [variableDeclaration]);
2507 variableDeclaration.accept(builder);
2508
2509 List<TopLevelVariableElement> variables = holder.topLevelVariables;
2510 expect(variables, hasLength(1));
2511 TopLevelVariableElement variable = variables[0];
2512 expect(variable, new isInstanceOf<ConstTopLevelVariableElementImpl>());
2513 expect(variable.initializer, isNotNull);
2514 expect(variable.initializer.type, isNotNull);
2515 expect(variable.initializer.hasImplicitReturnType, isTrue);
2516 expect(variable.name, variableName);
2517 expect(variable.hasImplicitType, isTrue);
2518 expect(variable.isConst, isTrue);
2519 expect(variable.isFinal, isFalse);
2520 expect(variable.isSynthetic, isFalse);
2521 expect(variable.getter, isNotNull);
2522 expect(variable.setter, isNull);
2523 }
2524
2525 void test_visitVariableDeclaration_top_docRange() {
2526 // final a, b; 2488 // final a, b;
2527 ElementHolder holder = new ElementHolder(); 2489 ElementHolder holder = new ElementHolder();
2528 ElementBuilder builder = _makeBuilder(holder); 2490 ElementBuilder builder = _makeBuilder(holder);
2529 VariableDeclaration variableDeclaration1 = 2491 VariableDeclaration variableDeclaration1 =
2530 AstFactory.variableDeclaration('a'); 2492 AstFactory.variableDeclaration('a');
2531 VariableDeclaration variableDeclaration2 = 2493 VariableDeclaration variableDeclaration2 =
2532 AstFactory.variableDeclaration('b'); 2494 AstFactory.variableDeclaration('b');
2533 TopLevelVariableDeclaration topLevelVariableDeclaration = AstFactory 2495 TopLevelVariableDeclaration topLevelVariableDeclaration = AstFactory
2534 .topLevelVariableDeclaration( 2496 .topLevelVariableDeclaration(
2535 Keyword.FINAL, null, [variableDeclaration1, variableDeclaration2]); 2497 Keyword.FINAL, null, [variableDeclaration1, variableDeclaration2]);
2536 topLevelVariableDeclaration.documentationComment = AstFactory 2498 topLevelVariableDeclaration.documentationComment = AstFactory
2537 .documentationComment( 2499 .documentationComment(
2538 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []); 2500 [TokenFactory.tokenFromString('/// aaa')..offset = 50], []);
2539 2501
2540 topLevelVariableDeclaration.accept(builder); 2502 topLevelVariableDeclaration.accept(builder);
2541 List<TopLevelVariableElement> variables = holder.topLevelVariables; 2503 List<TopLevelVariableElement> variables = holder.topLevelVariables;
2542 expect(variables, hasLength(2)); 2504 expect(variables, hasLength(2));
2543 2505
2544 TopLevelVariableElement variable1 = variables[0]; 2506 TopLevelVariableElement variable1 = variables[0];
2545 expect(variable1, isNotNull); 2507 expect(variable1, isNotNull);
2546 expect(variable1.documentationComment, '/// aaa'); 2508 expect(variable1.documentationComment, '/// aaa');
2547 _assertHasDocRange(variable1, 50, 7);
2548 2509
2549 TopLevelVariableElement variable2 = variables[1]; 2510 TopLevelVariableElement variable2 = variables[1];
2550 expect(variable2, isNotNull); 2511 expect(variable2, isNotNull);
2551 expect(variable2.documentationComment, '/// aaa'); 2512 expect(variable2.documentationComment, '/// aaa');
2552 _assertHasDocRange(variable2, 50, 7); 2513 }
2514
2515 void test_visitVariableDeclaration_top_const_hasInitializer() {
2516 // const v = 42;
2517 ElementHolder holder = new ElementHolder();
2518 ElementBuilder builder = _makeBuilder(holder);
2519 String variableName = "v";
2520 VariableDeclaration variableDeclaration =
2521 AstFactory.variableDeclaration2(variableName, AstFactory.integer(42));
2522 AstFactory.variableDeclarationList2(Keyword.CONST, [variableDeclaration]);
2523 variableDeclaration.accept(builder);
2524
2525 List<TopLevelVariableElement> variables = holder.topLevelVariables;
2526 expect(variables, hasLength(1));
2527 TopLevelVariableElement variable = variables[0];
2528 expect(variable, new isInstanceOf<ConstTopLevelVariableElementImpl>());
2529 expect(variable.initializer, isNotNull);
2530 expect(variable.initializer.type, isNotNull);
2531 expect(variable.initializer.hasImplicitReturnType, isTrue);
2532 expect(variable.name, variableName);
2533 expect(variable.hasImplicitType, isTrue);
2534 expect(variable.isConst, isTrue);
2535 expect(variable.isFinal, isFalse);
2536 expect(variable.isSynthetic, isFalse);
2537 expect(variable.getter, isNotNull);
2538 expect(variable.setter, isNull);
2553 } 2539 }
2554 2540
2555 void test_visitVariableDeclaration_top_final() { 2541 void test_visitVariableDeclaration_top_final() {
2556 // final v; 2542 // final v;
2557 ElementHolder holder = new ElementHolder(); 2543 ElementHolder holder = new ElementHolder();
2558 ElementBuilder builder = _makeBuilder(holder); 2544 ElementBuilder builder = _makeBuilder(holder);
2559 String variableName = "v"; 2545 String variableName = "v";
2560 VariableDeclaration variableDeclaration = 2546 VariableDeclaration variableDeclaration =
2561 AstFactory.variableDeclaration2(variableName, null); 2547 AstFactory.variableDeclaration2(variableName, null);
2562 AstFactory.variableDeclarationList2(Keyword.FINAL, [variableDeclaration]); 2548 AstFactory.variableDeclarationList2(Keyword.FINAL, [variableDeclaration]);
(...skipping 11 matching lines...) Expand all
2574 expect(variable.getter, isNotNull); 2560 expect(variable.getter, isNotNull);
2575 expect(variable.setter, isNull); 2561 expect(variable.setter, isNull);
2576 } 2562 }
2577 2563
2578 void _assertHasCodeRange(Element element, int offset, int length) { 2564 void _assertHasCodeRange(Element element, int offset, int length) {
2579 ElementImpl elementImpl = element; 2565 ElementImpl elementImpl = element;
2580 expect(elementImpl.codeOffset, offset); 2566 expect(elementImpl.codeOffset, offset);
2581 expect(elementImpl.codeLength, length); 2567 expect(elementImpl.codeLength, length);
2582 } 2568 }
2583 2569
2584 void _assertHasDocRange(
2585 Element element, int expectedOffset, int expectedLength) {
2586 // Cast to dynamic here to avoid a hint about @deprecated docRange.
2587 SourceRange docRange = (element as dynamic).docRange;
2588 expect(docRange, isNotNull);
2589 expect(docRange.offset, expectedOffset);
2590 expect(docRange.length, expectedLength);
2591 }
2592
2593 void _assertVisibleRange(LocalElement element, int offset, int end) { 2570 void _assertVisibleRange(LocalElement element, int offset, int end) {
2594 SourceRange visibleRange = element.visibleRange; 2571 SourceRange visibleRange = element.visibleRange;
2595 expect(visibleRange.offset, offset); 2572 expect(visibleRange.offset, offset);
2596 expect(visibleRange.end, end); 2573 expect(visibleRange.end, end);
2597 } 2574 }
2598 2575
2599 ElementBuilder _makeBuilder(ElementHolder holder) => 2576 ElementBuilder _makeBuilder(ElementHolder holder) =>
2600 new ElementBuilder(holder, new CompilationUnitElementImpl('test.dart')); 2577 new ElementBuilder(holder, new CompilationUnitElementImpl('test.dart'));
2601 2578
2602 void _setBlockBodySourceRange(BlockFunctionBody body, int offset, int end) { 2579 void _setBlockBodySourceRange(BlockFunctionBody body, int offset, int end) {
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
3129 expect(field.isSynthetic, isTrue); 3106 expect(field.isSynthetic, isTrue);
3130 expect((field as FieldElementImpl).evaluationResult, isNotNull); 3107 expect((field as FieldElementImpl).evaluationResult, isNotNull);
3131 _assertGetter(field); 3108 _assertGetter(field);
3132 3109
3133 FieldElement constant = fields[2]; 3110 FieldElement constant = fields[2];
3134 expect(constant, isNotNull); 3111 expect(constant, isNotNull);
3135 expect(constant.name, firstName); 3112 expect(constant.name, firstName);
3136 expect(constant.isStatic, isTrue); 3113 expect(constant.isStatic, isTrue);
3137 expect((constant as FieldElementImpl).evaluationResult, isNotNull); 3114 expect((constant as FieldElementImpl).evaluationResult, isNotNull);
3138 expect(constant.documentationComment, '/// aaa'); 3115 expect(constant.documentationComment, '/// aaa');
3139 expect(constant.docRange.offset, 50);
3140 expect(constant.docRange.length, 7);
3141 _assertGetter(constant); 3116 _assertGetter(constant);
3142 } 3117 }
3143 3118
3144 void _assertGetter(FieldElement field) { 3119 void _assertGetter(FieldElement field) {
3145 PropertyAccessorElement getter = field.getter; 3120 PropertyAccessorElement getter = field.getter;
3146 expect(getter, isNotNull); 3121 expect(getter, isNotNull);
3147 expect(getter.variable, same(field)); 3122 expect(getter.variable, same(field));
3148 expect(getter.type, isNotNull); 3123 expect(getter.type, isNotNull);
3149 } 3124 }
3150 3125
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
4139 if (1 < 2) { 4114 if (1 < 2) {
4140 break x; 4115 break x;
4141 } 4116 }
4142 return; 4117 return;
4143 } 4118 }
4144 } 4119 }
4145 '''); 4120 ''');
4146 _assertNthStatementDoesNotExit(source, 0); 4121 _assertNthStatementDoesNotExit(source, 0);
4147 } 4122 }
4148 4123
4149 void test_whileStatement_breakWithLabel_afterExting() { 4124 void test_whileStatement_breakWithLabel_afterExiting() {
4150 Source source = addSource(r''' 4125 Source source = addSource(r'''
4151 void f() { 4126 void f() {
4152 x: while (true) { 4127 x: while (true) {
4153 return; 4128 return;
4154 if (1 < 2) { 4129 if (1 < 2) {
4155 break x; 4130 break x;
4156 } 4131 }
4157 } 4132 }
4158 } 4133 }
4159 '''); 4134 ''');
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
4548 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI)); 4523 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI));
4549 expect(UriKind.fromEncoding(0x58), same(null)); 4524 expect(UriKind.fromEncoding(0x58), same(null));
4550 } 4525 }
4551 4526
4552 void test_getEncoding() { 4527 void test_getEncoding() {
4553 expect(UriKind.DART_URI.encoding, 0x64); 4528 expect(UriKind.DART_URI.encoding, 0x64);
4554 expect(UriKind.FILE_URI.encoding, 0x66); 4529 expect(UriKind.FILE_URI.encoding, 0x66);
4555 expect(UriKind.PACKAGE_URI.encoding, 0x70); 4530 expect(UriKind.PACKAGE_URI.encoding, 0x70);
4556 } 4531 }
4557 } 4532 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698