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

Unified Diff: pkg/analysis_services/test/index/dart_index_contributor_test.dart

Issue 382993002: SearchEngine service. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_services/test/index/dart_index_contributor_test.dart
diff --git a/pkg/analysis_services/test/index/dart_index_contributor_test.dart b/pkg/analysis_services/test/index/dart_index_contributor_test.dart
index 3892d5d15eaa4cf0308f5741dff78d633f3c0353..b5087b609d9cfe3266e1e943c522f55e1b1dda64 100644
--- a/pkg/analysis_services/test/index/dart_index_contributor_test.dart
+++ b/pkg/analysis_services/test/index/dart_index_contributor_test.dart
@@ -7,16 +7,15 @@ library test.services.src.index.dart_index_contributor;
import 'package:analysis_services/index/index.dart';
import 'package:analysis_services/index/index_store.dart';
import 'package:analysis_services/src/index/index_contributor.dart';
-import 'package:analysis_testing/abstract_context.dart';
import 'package:analysis_testing/reflective_tests.dart';
import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/element.dart';
-import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:typed_mock/typed_mock.dart';
import 'package:unittest/unittest.dart';
+import 'abstract_single_unit.dart';
+
main() {
groupSep = ' | ';
@@ -30,7 +29,10 @@ main() {
* Returns `true` if the [actual] location the same properties as [expected].
*/
bool _equalsLocation(Location actual, ExpectedLocation expected) {
- return _equalsLocationProperties(actual, expected.element, expected.offset,
+ return _equalsLocationProperties(
+ actual,
+ expected.element,
+ expected.offset,
expected.length);
}
@@ -40,7 +42,8 @@ bool _equalsLocation(Location actual, ExpectedLocation expected) {
*/
bool _equalsLocationProperties(Location actual, Element expectedElement,
int expectedOffset, int expectedLength) {
- return expectedElement == actual.element && expectedOffset == actual.offset &&
+ return expectedElement == actual.element &&
+ expectedOffset == actual.offset &&
expectedLength == actual.length;
}
@@ -48,53 +51,29 @@ bool _equalsLocationProperties(Location actual, Element expectedElement,
bool _equalsRecordedRelation(RecordedRelation recordedRelation,
Element expectedElement, Relationship expectedRelationship,
ExpectedLocation expectedLocation) {
- return expectedElement == recordedRelation.element && expectedRelationship ==
- recordedRelation.relationship && (expectedLocation == null || _equalsLocation(
- recordedRelation.location, expectedLocation));
+ return expectedElement == recordedRelation.element &&
+ expectedRelationship == recordedRelation.relationship &&
+ (expectedLocation == null ||
+ _equalsLocation(recordedRelation.location, expectedLocation));
}
-int _getLeadingIdentifierLength(String search) {
- int length = 0;
- while (length < search.length) {
- int c = search.codeUnitAt(length);
- if (c >= 'a'.codeUnitAt(0) && c <= 'z'.codeUnitAt(0)) {
- length++;
- continue;
- }
- if (c >= 'A'.codeUnitAt(0) && c <= 'Z'.codeUnitAt(0)) {
- length++;
- continue;
- }
- if (c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0)) {
- length++;
- continue;
- }
- break;
- }
- return length;
-}
-
@ReflectiveTestCase()
-class DartUnitContributorTest extends AbstractContextTest {
+class DartUnitContributorTest extends AbstractSingleUnitTest {
IndexStore store = new MockIndexStore();
List<RecordedRelation> recordedRelations = <RecordedRelation>[];
- bool verifyNoTestUnitErrors = true;
-
- String testCode;
- Source testSource;
- CompilationUnit testUnit;
- CompilationUnitElement testUnitElement;
- LibraryElement testLibraryElement;
-
void setUp() {
super.setUp();
when(store.aboutToIndexDart(context, anyObject)).thenReturn(true);
- when(store.recordRelationship(anyObject, anyObject, anyObject)).thenInvoke(
- (Element element, Relationship relationship, Location location) {
- recordedRelations.add(new RecordedRelation(element, relationship,
- location));
+ when(
+ store.recordRelationship(
+ anyObject,
+ anyObject,
+ anyObject)).thenInvoke(
+ (Element element, Relationship relationship, Location location) {
+ recordedRelations.add(
+ new RecordedRelation(element, relationship, location));
});
}
@@ -107,21 +86,23 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- FieldElement fieldElement = _findElement("myField");
+ Element mainElement = findElement("main");
+ FieldElement fieldElement = findElement("myField");
PropertyAccessorElement getterElement = fieldElement.getter;
// verify
- _assertRecordedRelation(getterElement,
- IndexConstants.IS_REFERENCED_BY_UNQUALIFIED, _expectedLocation(mainElement,
- 'myField);'));
+ _assertRecordedRelation(
+ getterElement,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _expectedLocation(mainElement, 'myField);'));
}
void test_definesClass() {
_indexTestUnit('class A {}');
// prepare elements
- ClassElement classElement = _findElement("A");
+ ClassElement classElement = findElement("A");
// verify
- _assertDefinesTopLevelElement(IndexConstants.DEFINES_CLASS,
+ _assertDefinesTopLevelElement(
+ IndexConstants.DEFINES_CLASS,
_expectedLocation(classElement, 'A {}'));
}
@@ -130,27 +111,30 @@ class A {
class Mix {}
class MyClass = Object with Mix;''');
// prepare elements
- Element classElement = _findElement("MyClass");
+ Element classElement = findElement("MyClass");
// verify
- _assertDefinesTopLevelElement(IndexConstants.DEFINES_CLASS_ALIAS,
+ _assertDefinesTopLevelElement(
+ IndexConstants.DEFINES_CLASS_ALIAS,
_expectedLocation(classElement, 'MyClass ='));
}
void test_definesFunction() {
_indexTestUnit('myFunction() {}');
// prepare elements
- FunctionElement functionElement = _findElement("myFunction");
+ FunctionElement functionElement = findElement("myFunction");
// verify
- _assertDefinesTopLevelElement(IndexConstants.DEFINES_FUNCTION,
+ _assertDefinesTopLevelElement(
+ IndexConstants.DEFINES_FUNCTION,
_expectedLocation(functionElement, 'myFunction() {}'));
}
void test_definesFunctionType() {
_indexTestUnit('typedef MyFunction(int p);');
// prepare elements
- FunctionTypeAliasElement typeAliasElement = _findElement("MyFunction");
+ FunctionTypeAliasElement typeAliasElement = findElement("MyFunction");
// verify
- _assertDefinesTopLevelElement(IndexConstants.DEFINES_FUNCTION_TYPE,
+ _assertDefinesTopLevelElement(
+ IndexConstants.DEFINES_FUNCTION_TYPE,
_expectedLocation(typeAliasElement, 'MyFunction(int p);'));
}
@@ -158,9 +142,10 @@ class MyClass = Object with Mix;''');
void test_definesVariable() {
_indexTestUnit('var myVar = 42;');
// prepare elements
- VariableElement varElement = _findElement("myVar");
+ VariableElement varElement = findElement("myVar");
// verify
- _assertDefinesTopLevelElement(IndexConstants.DEFINES_VARIABLE,
+ _assertDefinesTopLevelElement(
+ IndexConstants.DEFINES_VARIABLE,
_expectedLocation(varElement, 'myVar = 42;'));
}
@@ -171,10 +156,12 @@ main() {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- VariableElement variableElement = _findElement("v");
+ Element mainElement = findElement("main");
+ VariableElement variableElement = findElement("v");
// verify
- _assertNoRecordedRelation(variableElement, IndexConstants.IS_READ_BY,
+ _assertNoRecordedRelation(
+ variableElement,
+ IndexConstants.IS_READ_BY,
_expectedLocation(mainElement, 'v in []'));
}
@@ -185,15 +172,19 @@ class A {
A.foo() {}
}''');
// prepare elements
- ClassElement classA = _findElement("A");
- ConstructorElement consA = _findNodeElementAtString("A()", (node) => node is
- ConstructorDeclaration);
- ConstructorElement consA_foo = _findNodeElementAtString("A.foo()", (node) =>
- node is ConstructorDeclaration);
+ ClassElement classA = findElement("A");
+ ConstructorElement consA =
+ findNodeElementAtString("A()", (node) => node is ConstructorDeclaration);
+ ConstructorElement consA_foo =
+ findNodeElementAtString("A.foo()", (node) => node is ConstructorDeclaration);
// verify
- _assertRecordedRelation(consA, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ consA,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(classA, '() {}'));
- _assertRecordedRelation(consA_foo, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ consA_foo,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(classA, '.foo() {}', '.foo'.length));
}
@@ -203,10 +194,12 @@ class A {
m() {}
}''');
// prepare elements
- Element methodElement = _findElement("m");
+ Element methodElement = findElement("m");
Element nameElement = new NameElement("m");
// verify
- _assertRecordedRelation(nameElement, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(methodElement, 'm() {}'));
}
@@ -217,10 +210,12 @@ class A {
operator +(o) {}
}''');
// prepare elements
- Element methodElement = _findElement("+");
+ Element methodElement = findElement("+");
Element nameElement = new NameElement("+");
// verify
- _assertRecordedRelation(nameElement, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(methodElement, '+(o) {}', 1));
}
@@ -230,10 +225,12 @@ class A {} // 1
class B extends A {} // 2
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
- ClassElement classElementB = _findElement("B");
+ ClassElement classElementA = findElement("A");
+ ClassElement classElementB = findElement("B");
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_EXTENDED_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_EXTENDED_BY,
_expectedLocation(classElementB, 'A {} // 2'));
}
@@ -242,10 +239,12 @@ class B extends A {} // 2
class A {} // 1
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
+ ClassElement classElementA = findElement("A");
ClassElement classElementObject = classElementA.supertype.element;
// verify
- _assertRecordedRelation(classElementObject, IndexConstants.IS_EXTENDED_BY,
+ _assertRecordedRelation(
+ classElementObject,
+ IndexConstants.IS_EXTENDED_BY,
_expectedLocation(classElementA, 'A {}', 0));
}
@@ -256,10 +255,12 @@ class B {} // 2
class C = A with B; // 3
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
- ClassElement classElementC = _findElement("C");
+ ClassElement classElementA = findElement("A");
+ ClassElement classElementC = findElement("C");
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_EXTENDED_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_EXTENDED_BY,
_expectedLocation(classElementC, 'A with'));
}
@@ -269,10 +270,12 @@ class A {} // 1
class B implements A {} // 2
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
- ClassElement classElementB = _findElement("B");
+ ClassElement classElementA = findElement("A");
+ ClassElement classElementB = findElement("B");
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_IMPLEMENTED_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_IMPLEMENTED_BY,
_expectedLocation(classElementB, 'A {} // 2'));
}
@@ -283,10 +286,12 @@ class B {} // 2
class C = Object with A implements B; // 3
''');
// prepare elements
- ClassElement classElementB = _findElement("B");
- ClassElement classElementC = _findElement("C");
+ ClassElement classElementB = findElement("B");
+ ClassElement classElementC = findElement("C");
// verify
- _assertRecordedRelation(classElementB, IndexConstants.IS_IMPLEMENTED_BY,
+ _assertRecordedRelation(
+ classElementB,
+ IndexConstants.IS_IMPLEMENTED_BY,
_expectedLocation(classElementC, 'B; // 3'));
}
@@ -300,13 +305,14 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- FieldElement fieldElement = _findElement("field");
+ Element mainElement = findElement("main");
+ FieldElement fieldElement = findElement("field");
PropertyAccessorElement getterElement = fieldElement.getter;
// verify
- _assertRecordedRelation(getterElement,
- IndexConstants.IS_INVOKED_BY_QUALIFIED, _expectedLocation(mainElement,
- 'field();'));
+ _assertRecordedRelation(
+ getterElement,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _expectedLocation(mainElement, 'field();'));
}
@@ -319,14 +325,18 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- Element methodElement = _findElement("foo");
+ Element mainElement = findElement("main");
+ Element methodElement = findElement("foo");
// verify
var location = _expectedLocation(mainElement, 'foo();');
- _assertRecordedRelation(methodElement,
- IndexConstants.IS_INVOKED_BY_QUALIFIED, location);
- _assertNoRecordedRelation(methodElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED, location);
+ _assertRecordedRelation(
+ methodElement,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ location);
+ _assertNoRecordedRelation(
+ methodElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ location);
}
void test_isInvokedByQualified_MethodElement_propagatedType() {
@@ -340,12 +350,13 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement("main");
- Element methodElement = _findElement("foo");
+ Element mainElement = findElement("main");
+ Element methodElement = findElement("foo");
// verify
- _assertRecordedRelation(methodElement,
- IndexConstants.IS_INVOKED_BY_QUALIFIED, _expectedLocation(mainElement,
- 'foo();'));
+ _assertRecordedRelation(
+ methodElement,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _expectedLocation(mainElement, 'foo();'));
}
void test_isInvokedByUnqualified_MethodElement() {
@@ -357,12 +368,13 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- Element methodElement = _findElement("foo");
+ Element mainElement = findElement("main");
+ Element methodElement = findElement("foo");
// verify
- _assertRecordedRelation(methodElement,
- IndexConstants.IS_INVOKED_BY_UNQUALIFIED, _expectedLocation(mainElement,
- 'foo();'));
+ _assertRecordedRelation(
+ methodElement,
+ IndexConstants.IS_INVOKED_BY_UNQUALIFIED,
+ _expectedLocation(mainElement, 'foo();'));
}
void test_isInvokedBy_FunctionElement() {
@@ -372,10 +384,12 @@ main() {
foo();
}''');
// prepare elements
- Element mainElement = _findElement("main");
- FunctionElement functionElement = _findElement("foo");
+ Element mainElement = findElement("main");
+ FunctionElement functionElement = findElement("foo");
// verify
- _assertRecordedRelation(functionElement, IndexConstants.IS_INVOKED_BY,
+ _assertRecordedRelation(
+ functionElement,
+ IndexConstants.IS_INVOKED_BY,
_expectedLocation(mainElement, 'foo();'));
}
@@ -386,10 +400,12 @@ main() {
v();
}''');
// prepare elements
- Element mainElement = _findElement("main");
- Element element = _findElement("v");
+ Element mainElement = findElement("main");
+ Element element = findElement("v");
// verify
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY,
_expectedLocation(mainElement, 'v();'));
}
@@ -399,10 +415,12 @@ main(p()) {
p();
}''');
// prepare elements
- Element mainElement = _findElement("main");
- Element element = _findElement("p");
+ Element mainElement = findElement("main");
+ Element element = findElement("p");
// verify
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY,
_expectedLocation(mainElement, 'p();'));
}
@@ -412,10 +430,12 @@ class A {} // 1
class B extends Object with A {} // 2
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
- ClassElement classElementB = _findElement("B");
+ ClassElement classElementA = findElement("A");
+ ClassElement classElementB = findElement("B");
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_MIXED_IN_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_MIXED_IN_BY,
_expectedLocation(classElementB, 'A {} // 2'));
}
@@ -425,10 +445,12 @@ class A {} // 1
class B = Object with A; // 2
''');
// prepare elements
- ClassElement classElementA = _findElement("A");
- ClassElement classElementB = _findElement("B");
+ ClassElement classElementA = findElement("A");
+ ClassElement classElementB = findElement("B");
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_MIXED_IN_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_MIXED_IN_BY,
_expectedLocation(classElementB, 'A; // 2'));
}
@@ -439,10 +461,12 @@ main(var p) {
}
''');
// prepare elements
- Element mainElement = _findElement("main");
- Element parameterElement = _findElement("p");
+ Element mainElement = findElement("main");
+ Element parameterElement = findElement("p");
// verify
- _assertRecordedRelation(parameterElement, IndexConstants.IS_READ_BY,
+ _assertRecordedRelation(
+ parameterElement,
+ IndexConstants.IS_READ_BY,
_expectedLocation(mainElement, 'p);'));
}
@@ -454,10 +478,12 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement("main");
- Element variableElement = _findElement("v");
+ Element mainElement = findElement("main");
+ Element variableElement = findElement("v");
// verify
- _assertRecordedRelation(variableElement, IndexConstants.IS_READ_BY,
+ _assertRecordedRelation(
+ variableElement,
+ IndexConstants.IS_READ_BY,
_expectedLocation(mainElement, 'v);'));
}
@@ -468,10 +494,12 @@ main(int p) {
}
''');
// prepare elements
- Element mainElement = _findElement("main");
- Element parameterElement = _findElement("p");
+ Element mainElement = findElement("main");
+ Element parameterElement = findElement("p");
// verify
- _assertRecordedRelation(parameterElement, IndexConstants.IS_READ_WRITTEN_BY,
+ _assertRecordedRelation(
+ parameterElement,
+ IndexConstants.IS_READ_WRITTEN_BY,
_expectedLocation(mainElement, 'p += 1'));
}
@@ -483,10 +511,12 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement("main");
- Element variableElement = _findElement("v");
+ Element mainElement = findElement("main");
+ Element variableElement = findElement("v");
// verify
- _assertRecordedRelation(variableElement, IndexConstants.IS_READ_WRITTEN_BY,
+ _assertRecordedRelation(
+ variableElement,
+ IndexConstants.IS_READ_WRITTEN_BY,
_expectedLocation(mainElement, 'v += 1'));
}
@@ -500,12 +530,13 @@ main(A a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
Element nameElement = new NameElement('field');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, 'field);'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, 'field);'));
}
void test_isReferencedByQualifiedResolved_NameElement_method() {
@@ -518,12 +549,13 @@ main(A a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
Element nameElement = new NameElement('method');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, 'method();'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, 'method();'));
}
void test_isReferencedByQualifiedResolved_NameElement_operator() {
@@ -546,34 +578,42 @@ main(A a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// binary
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '+ 5', '+'.length));
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '+= 5', '+='.length));
- _assertRecordedRelation(new NameElement('=='),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '== 5', '=='.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '+ 5', '+'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '+= 5', '+='.length));
+ _assertRecordedRelation(
+ new NameElement('=='),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '== 5', '=='.length));
// prefix
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '++a', '++'.length));
- _assertRecordedRelation(new NameElement('-'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '--a', '--'.length));
- _assertRecordedRelation(new NameElement('~'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '~a', '~'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '++a', '++'.length));
+ _assertRecordedRelation(
+ new NameElement('-'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '--a', '--'.length));
+ _assertRecordedRelation(
+ new NameElement('~'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '~a', '~'.length));
// postfix
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '++;', '++'.length));
- _assertRecordedRelation(new NameElement('-'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED, _expectedLocation(
- mainElement, '--;', '--'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '++;', '++'.length));
+ _assertRecordedRelation(
+ new NameElement('-'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_RESOLVED,
+ _expectedLocation(mainElement, '--;', '--'.length));
}
void test_isReferencedByQualifiedUnresolved_NameElement_field() {
@@ -586,15 +626,18 @@ main(var a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
- FieldElement fieldElement = _findElement('field');
+ Element mainElement = findElement('main');
+ FieldElement fieldElement = findElement('field');
Element nameElement = new NameElement('field');
// verify
- _assertRecordedRelation(nameElement, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(fieldElement, 'field;'));
- _assertRecordedRelation(nameElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, 'field);'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, 'field);'));
}
void test_isReferencedByQualifiedUnresolved_NameElement_method() {
@@ -607,15 +650,18 @@ main(var a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
- MethodElement methodElement = _findElement('method');
+ Element mainElement = findElement('main');
+ MethodElement methodElement = findElement('method');
Element nameElement = new NameElement('method');
// verify
- _assertRecordedRelation(nameElement, IndexConstants.IS_DEFINED_BY,
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_DEFINED_BY,
_expectedLocation(methodElement, 'method() {}'));
- _assertRecordedRelation(nameElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, 'method();'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, 'method();'));
}
void test_isReferencedByQualifiedUnresolved_NameElement_operator() {
@@ -638,34 +684,42 @@ main(a) {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// binary
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '+ 5', '+'.length));
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '+= 5', '+='.length));
- _assertRecordedRelation(new NameElement('=='),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '== 5', '=='.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '+ 5', '+'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '+= 5', '+='.length));
+ _assertRecordedRelation(
+ new NameElement('=='),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '== 5', '=='.length));
// prefix
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '++a', '++'.length));
- _assertRecordedRelation(new NameElement('-'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '--a', '--'.length));
- _assertRecordedRelation(new NameElement('~'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '~a', '~'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '++a', '++'.length));
+ _assertRecordedRelation(
+ new NameElement('-'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '--a', '--'.length));
+ _assertRecordedRelation(
+ new NameElement('~'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '~a', '~'.length));
// postfix
- _assertRecordedRelation(new NameElement('+'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '++;', '++'.length));
- _assertRecordedRelation(new NameElement('-'),
- IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED, _expectedLocation(
- mainElement, '--;', '--'.length));
+ _assertRecordedRelation(
+ new NameElement('+'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '++;', '++'.length));
+ _assertRecordedRelation(
+ new NameElement('-'),
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED_UNRESOLVED,
+ _expectedLocation(mainElement, '--;', '--'.length));
}
void test_isReferencedByQualified_ConstructorElement() {
@@ -685,27 +739,37 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
var isConstructor = (node) => node is ConstructorDeclaration;
- ConstructorElement consA = _findNodeElementAtString("A()", isConstructor);
- ConstructorElement consA_foo = _findNodeElementAtString("A.foo()",
- isConstructor);
- ConstructorElement consB = _findNodeElementAtString("B()", isConstructor);
- ConstructorElement consB_foo = _findNodeElementAtString("B.foo()",
- isConstructor);
- ConstructorElement consB_bar = _findNodeElementAtString("B.bar()",
- isConstructor);
+ ConstructorElement consA = findNodeElementAtString("A()", isConstructor);
+ ConstructorElement consA_foo =
+ findNodeElementAtString("A.foo()", isConstructor);
+ ConstructorElement consB = findNodeElementAtString("B()", isConstructor);
+ ConstructorElement consB_foo =
+ findNodeElementAtString("B.foo()", isConstructor);
+ ConstructorElement consB_bar =
+ findNodeElementAtString("B.bar()", isConstructor);
// A()
- _assertRecordedRelation(consA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(consB, '(); // marker-1', 0));
- _assertRecordedRelation(consA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, '(); // marker-main-1', 0));
// A.foo()
- _assertRecordedRelation(consA_foo, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA_foo,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(consB_foo, '.foo(); // marker-2', '.foo'.length));
- _assertRecordedRelation(consA_foo, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA_foo,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(consB_bar, '.foo; // marker-3', '.foo'.length));
- _assertRecordedRelation(consA_foo, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA_foo,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, '.foo(); // marker-main-2', '.foo'.length));
}
@@ -723,15 +787,19 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
var isConstructor = (node) => node is ConstructorDeclaration;
- ConstructorElement consA = _findNodeElementAtString("A()", isConstructor);
- ConstructorElement consA_named = _findNodeElementAtString("A.named()",
- isConstructor);
+ ConstructorElement consA = findNodeElementAtString("A()", isConstructor);
+ ConstructorElement consA_named =
+ findNodeElementAtString("A.named()", isConstructor);
// verify
- _assertRecordedRelation(consA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, '(); // marker-main-1', 0));
- _assertRecordedRelation(consA_named, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ consA_named,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, '.named(); // marker-main-2', '.named'.length));
}
@@ -745,13 +813,14 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
- FieldElement fieldElement = _findElement('field');
+ Element mainElement = findElement('main');
+ FieldElement fieldElement = findElement('field');
PropertyAccessorElement setterElement = fieldElement.setter;
// verify
- _assertRecordedRelation(setterElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED, _expectedLocation(mainElement,
- 'field = 1'));
+ _assertRecordedRelation(
+ setterElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _expectedLocation(mainElement, 'field = 1'));
}
void test_isReferencedByQualified_MethodElement() {
@@ -764,12 +833,13 @@ class A {
}
''');
// prepare elements
- Element fooElement = _findElement('foo');
- Element mainElement = _findElement('main');
+ Element fooElement = findElement('foo');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(fooElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED, _expectedLocation(mainElement,
- 'foo);'));
+ _assertRecordedRelation(
+ fooElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _expectedLocation(mainElement, 'foo);'));
}
void test_isReferencedByQualified_MethodElement_operator_binary() {
@@ -785,16 +855,24 @@ main(A a) {
}
''');
// prepare elements
- Element element = _findElement('+');
- Element mainElement = _findElement('main');
+ Element element = findElement('+');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '+ 1', "+".length));
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '+= 2', "+=".length));
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '++a;', "++".length));
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '++;', "++".length));
}
@@ -810,15 +888,18 @@ main(A a) {
}
''');
// prepare elements
- MethodElement readElement = _findElement("[]");
- MethodElement writeElement = _findElement("[]=");
- Element mainElement = _findElement('main');
+ MethodElement readElement = findElement("[]");
+ MethodElement writeElement = findElement("[]=");
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(readElement, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ readElement,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '[0]', "[".length));
- _assertRecordedRelation(writeElement,
- IndexConstants.IS_INVOKED_BY_QUALIFIED, _expectedLocation(mainElement, '[1] =',
- "[".length));
+ _assertRecordedRelation(
+ writeElement,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _expectedLocation(mainElement, '[1] =', "[".length));
}
void test_isReferencedByQualified_MethodElement_operator_prefix() {
@@ -831,10 +912,12 @@ main(A a) {
}
''');
// prepare elements
- MethodElement element = _findElement("~");
- Element mainElement = _findElement('main');
+ MethodElement element = findElement("~");
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY_QUALIFIED,
_expectedLocation(mainElement, '~a', "~".length));
}
@@ -848,10 +931,12 @@ class A {
}
''');
// prepare elements
- PropertyAccessorElement element = _findNodeElementAtString('foo =>');
- Element mainElement = _findElement('main');
+ PropertyAccessorElement element = findNodeElementAtString('foo =>');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
_expectedLocation(mainElement, 'foo);'));
_assertNoRecordedRelation(element, IndexConstants.IS_REFERENCED_BY, null);
}
@@ -866,10 +951,12 @@ class A {
}
''');
// prepare elements
- PropertyAccessorElement element = _findNodeElementAtString('foo(x)');
- Element mainElement = _findElement('main');
+ PropertyAccessorElement element = findNodeElementAtString('foo(x)');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
_expectedLocation(mainElement, 'foo = 42;'));
_assertNoRecordedRelation(element, IndexConstants.IS_REFERENCED_BY, null);
}
@@ -887,7 +974,7 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
ImportElement importElement = testLibraryElement.imports[0];
CompilationUnitElement impUnit =
importElement.importedLibrary.definingCompilationUnit;
@@ -895,9 +982,13 @@ main() {
PropertyAccessorElement getter = myVar.getter;
PropertyAccessorElement setter = myVar.setter;
// verify
- _assertRecordedRelation(setter, IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ setter,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
_expectedLocation(mainElement, 'myVar = 1'));
- _assertRecordedRelation(getter, IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _assertRecordedRelation(
+ getter,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
_expectedLocation(mainElement, 'myVar);'));
}
@@ -911,14 +1002,18 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- FieldElement fieldElement = _findElement("field");
+ Element mainElement = findElement("main");
+ FieldElement fieldElement = findElement("field");
PropertyAccessorElement getter = fieldElement.getter;
PropertyAccessorElement setter = fieldElement.setter;
// verify
- _assertRecordedRelation(setter, IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _assertRecordedRelation(
+ setter,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
_expectedLocation(mainElement, 'field = 5'));
- _assertRecordedRelation(getter, IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _assertRecordedRelation(
+ getter,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
_expectedLocation(mainElement, 'field);'));
}
@@ -931,13 +1026,16 @@ class A {
}
}''');
// prepare elements
- Element mainElement = _findElement("main");
- MethodElement methodElement = _findElement("method");
+ Element mainElement = findElement("main");
+ MethodElement methodElement = findElement("method");
// verify
- _assertRecordedRelation(methodElement,
- IndexConstants.IS_REFERENCED_BY_UNQUALIFIED, _expectedLocation(mainElement,
- 'method);'));
- _assertNoRecordedRelation(methodElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ methodElement,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _expectedLocation(mainElement, 'method);'));
+ _assertNoRecordedRelation(
+ methodElement,
+ IndexConstants.IS_REFERENCED_BY,
null);
}
@@ -949,15 +1047,17 @@ main() {
print(topVariable);
}''');
// prepare elements
- Element mainElement = _findElement("main");
- TopLevelVariableElement variableElement = _findElement("topVariable");
+ Element mainElement = findElement("main");
+ TopLevelVariableElement variableElement = findElement("topVariable");
// verify
- _assertRecordedRelation(variableElement.setter,
- IndexConstants.IS_REFERENCED_BY_UNQUALIFIED, _expectedLocation(mainElement,
- 'topVariable = 5'));
- _assertRecordedRelation(variableElement.getter,
- IndexConstants.IS_REFERENCED_BY_UNQUALIFIED, _expectedLocation(mainElement,
- 'topVariable);'));
+ _assertRecordedRelation(
+ variableElement.setter,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _expectedLocation(mainElement, 'topVariable = 5'));
+ _assertRecordedRelation(
+ variableElement.getter,
+ IndexConstants.IS_REFERENCED_BY_UNQUALIFIED,
+ _expectedLocation(mainElement, 'topVariable);'));
}
void test_isReferencedBy_ClassElement() {
@@ -973,20 +1073,30 @@ main(A p) {
}
''');
// prepare elements
- ClassElement aElement = _findElement("A");
- Element mainElement = _findElement("main");
- ParameterElement pElement = _findElement("p");
- VariableElement vElement = _findElement("v");
+ ClassElement aElement = findElement("A");
+ Element mainElement = findElement("main");
+ ParameterElement pElement = findElement("p");
+ VariableElement vElement = findElement("v");
// verify
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(pElement, 'A p) {'));
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(vElement, 'A v;'));
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'A(); // 2'));
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'A.field = 1;'));
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'A.field); // 3'));
}
@@ -999,13 +1109,17 @@ main(B p) {
}
''');
// prepare elements
- ClassElement bElement = _findElement("B");
- ParameterElement pElement = _findElement("p");
- VariableElement vElement = _findElement("v");
+ ClassElement bElement = findElement("B");
+ ParameterElement pElement = findElement("p");
+ VariableElement vElement = findElement("v");
// verify
- _assertRecordedRelation(bElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ bElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(pElement, 'B p) {'));
- _assertRecordedRelation(bElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ bElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(vElement, 'B v;'));
}
@@ -1018,7 +1132,9 @@ part 'my_unit.dart';
// prepare elements
CompilationUnitElement myUnitElement = testLibraryElement.parts[0];
// verify
- _assertRecordedRelation(myUnitElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ myUnitElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, "'my_unit.dart';", "'my_unit.dart'".length));
}
@@ -1030,11 +1146,13 @@ class A {
}
''');
// prepare elements
- ConstructorElement constructorElement = _findNodeElementAtString("A()",
- (node) => node is ConstructorDeclaration);
- FieldElement fieldElement = _findElement("field");
+ ConstructorElement constructorElement =
+ findNodeElementAtString("A()", (node) => node is ConstructorDeclaration);
+ FieldElement fieldElement = findElement("field");
// verify
- _assertRecordedRelation(fieldElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ fieldElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
_expectedLocation(constructorElement, 'field = 5'));
}
@@ -1046,12 +1164,32 @@ class A {
}
''');
// prepare elements
- FieldElement fieldElement = _findElement("field");
- Element fieldParameterElement = _findNodeElementAtString("field);");
+ FieldElement fieldElement = findElement("field");
+ Element fieldParameterElement = findNodeElementAtString("field);");
// verify
- _assertRecordedRelation(fieldElement,
- IndexConstants.IS_REFERENCED_BY_QUALIFIED, _expectedLocation(
- fieldParameterElement, 'field);'));
+ _assertRecordedRelation(
+ fieldElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _expectedLocation(fieldParameterElement, 'field);'));
+ }
+
+ void test_isReferencedBy_TopLevelVariableElement() {
+ addSource('/lib.dart', '''
+library lib;
+var V;
+''');
+ _indexTestUnit('''
+import 'lib.dart' show V; // imp
+''');
+ // prepare elements
+ var libElement = testLibraryElement.imports[0].importedLibrary;
+ var libUnit = libElement.definingCompilationUnit;
+ TopLevelVariableElement fieldElement = libUnit.topLevelVariables[0];
+ // verify
+ _assertRecordedRelation(
+ fieldElement,
+ IndexConstants.IS_REFERENCED_BY_QUALIFIED,
+ _expectedLocation(testUnitElement, 'V; // imp'));
}
void test_isReferencedBy_FunctionElement() {
@@ -1063,16 +1201,22 @@ main() {
}
''');
// prepare elements
- FunctionElement element = _findElement("foo");
- Element mainElement = _findElement("main");
+ FunctionElement element = findElement("foo");
+ Element mainElement = findElement("main");
// "referenced" here
- _assertRecordedRelation(element, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'foo);'));
// only "invoked", but not "referenced"
{
- _assertRecordedRelation(element, IndexConstants.IS_INVOKED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_INVOKED_BY,
_expectedLocation(mainElement, 'foo());'));
- _assertNoRecordedRelation(element, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'foo());'));
}
}
@@ -1084,10 +1228,12 @@ main(A p) {
}
''');
// prepare elements
- Element aElement = _findElement('A');
- Element pElement = _findElement('p');
+ Element aElement = findElement('A');
+ Element pElement = findElement('p');
// verify
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(pElement, 'A p) {'));
}
@@ -1108,20 +1254,32 @@ main() {
''');
// prepare elements
ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'myVar = 1;', 0));
- _assertRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'myFunction();', 0));
- _assertNoRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'print(0);', 0));
// no references from import combinators
- _assertNoRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, 'myVar, ', 0));
- _assertNoRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, 'myFunction hide', 0));
- _assertNoRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, 'myToHide;', 0));
}
@@ -1145,11 +1303,15 @@ main() {
// prepare elements
ImportElement importElementA = testLibraryElement.imports[0];
ImportElement importElementB = testLibraryElement.imports[1];
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(importElementA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElementA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.myVar = 1;', 'pref.'.length));
- _assertRecordedRelation(importElementB, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElementB,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.MyClass();', 'pref.'.length));
}
@@ -1172,11 +1334,15 @@ main() {
// prepare elements
ImportElement importElementA = testLibraryElement.imports[0];
ImportElement importElementB = testLibraryElement.imports[1];
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(importElementA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElementA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.A();', 'pref.'.length));
- _assertRecordedRelation(importElementB, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElementB,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.B();', 'pref.'.length));
}
@@ -1193,9 +1359,11 @@ main() {
''');
// prepare elements
ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.myFunc();', 'pref.'.length));
}
@@ -1213,9 +1381,11 @@ main() {
''');
// prepare elements
ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = _findElement('main');
+ Element mainElement = findElement('main');
// verify
- _assertRecordedRelation(importElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ importElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'pref.A();', 'pref.'.length));
}
@@ -1260,10 +1430,12 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
- Element element = _findElement('L');
+ Element mainElement = findElement('main');
+ Element element = findElement('L');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'L;'));
}
@@ -1278,7 +1450,9 @@ export 'lib.dart';
LibraryElement libElement = testLibraryElement.exportedLibraries[0];
CompilationUnitElement libUnitElement = libElement.definingCompilationUnit;
// verify
- _assertRecordedRelation(libUnitElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ libUnitElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, "'lib.dart'", "'lib.dart'".length));
}
@@ -1293,7 +1467,9 @@ import 'lib.dart';
LibraryElement libElement = testLibraryElement.imports[0].importedLibrary;
CompilationUnitElement libUnitElement = libElement.definingCompilationUnit;
// verify
- _assertRecordedRelation(libUnitElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ libUnitElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, "'lib.dart'", "'lib.dart'".length));
}
@@ -1305,10 +1481,12 @@ main() {
}
''');
// prepare elements
- Element mainElement = _findElement('main');
- Element element = _findElement('p');
+ Element mainElement = findElement('main');
+ Element element = findElement('p');
// verify
- _assertRecordedRelation(element, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ element,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(mainElement, 'p: 1'));
}
@@ -1322,17 +1500,23 @@ class A<T> {
}
''');
// prepare elements
- Element typeParameterElement = _findElement('T');
- Element fieldElement = _findElement('f');
- Element parameterElement = _findElement('p');
- Element variableElement = _findElement('v');
- // verify
- _assertRecordedRelation(typeParameterElement,
- IndexConstants.IS_REFERENCED_BY, _expectedLocation(fieldElement, 'T f'));
- _assertRecordedRelation(typeParameterElement,
- IndexConstants.IS_REFERENCED_BY, _expectedLocation(parameterElement, 'T p'));
- _assertRecordedRelation(typeParameterElement,
- IndexConstants.IS_REFERENCED_BY, _expectedLocation(variableElement, 'T v'));
+ Element typeParameterElement = findElement('T');
+ Element fieldElement = findElement('f');
+ Element parameterElement = findElement('p');
+ Element variableElement = findElement('v');
+ // verify
+ _assertRecordedRelation(
+ typeParameterElement,
+ IndexConstants.IS_REFERENCED_BY,
+ _expectedLocation(fieldElement, 'T f'));
+ _assertRecordedRelation(
+ typeParameterElement,
+ IndexConstants.IS_REFERENCED_BY,
+ _expectedLocation(parameterElement, 'T p'));
+ _assertRecordedRelation(
+ typeParameterElement,
+ IndexConstants.IS_REFERENCED_BY,
+ _expectedLocation(variableElement, 'T v'));
}
/**
@@ -1349,12 +1533,16 @@ class A {}
var myVariable = null;
''');
// prepare elements
- Element aElement = _findElement('A');
- Element variableElement = _findElement('myVariable');
+ Element aElement = findElement('A');
+ Element variableElement = findElement('myVariable');
// verify
- _assertRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, 'A] text'));
- _assertNoRecordedRelation(aElement, IndexConstants.IS_REFERENCED_BY,
+ _assertNoRecordedRelation(
+ aElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(variableElement, 'A] text'));
}
@@ -1370,7 +1558,9 @@ part 'test.dart';
testLibraryElement = testUnitElement.library;
indexDartUnit(store, context, testUnit);
// verify
- _assertRecordedRelation(testLibraryElement, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ testLibraryElement,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(testUnitElement, "lib;"));
}
@@ -1380,10 +1570,12 @@ class A {}
A myVariable = null;
''');
// prepare elements
- Element classElementA = _findElement('A');
- Element variableElement = _findElement('myVariable');
+ Element classElementA = findElement('A');
+ Element variableElement = findElement('myVariable');
// verify
- _assertRecordedRelation(classElementA, IndexConstants.IS_REFERENCED_BY,
+ _assertRecordedRelation(
+ classElementA,
+ IndexConstants.IS_REFERENCED_BY,
_expectedLocation(variableElement, 'A myVariable'));
}
@@ -1393,10 +1585,12 @@ main(var p) {
p = 1;
}''');
// prepare elements
- Element mainElement = _findElement("main");
- ParameterElement pElement = _findElement("p");
+ Element mainElement = findElement("main");
+ ParameterElement pElement = findElement("p");
// verify
- _assertRecordedRelation(pElement, IndexConstants.IS_WRITTEN_BY,
+ _assertRecordedRelation(
+ pElement,
+ IndexConstants.IS_WRITTEN_BY,
_expectedLocation(mainElement, 'p = 1'));
}
@@ -1407,10 +1601,12 @@ main() {
v = 1;
}''');
// prepare elements
- Element mainElement = _findElement("main");
- LocalVariableElement vElement = _findElement("v");
+ Element mainElement = findElement("main");
+ LocalVariableElement vElement = findElement("v");
// verify
- _assertRecordedRelation(vElement, IndexConstants.IS_WRITTEN_BY,
+ _assertRecordedRelation(
+ vElement,
+ IndexConstants.IS_WRITTEN_BY,
_expectedLocation(mainElement, 'v = 1'));
}
@@ -1424,18 +1620,21 @@ main(A a, p) {
p.test(2);
}''');
// prepare elements
- Element mainElement = _findElement("main");
+ Element mainElement = findElement("main");
Element nameElement = new NameElement('test');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_INVOKED_BY_RESOLVED, _expectedLocation(mainElement,
- 'test(1)'));
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_INVOKED_BY_UNRESOLVED, _expectedLocation(mainElement,
- 'test(2)'));
- _assertNoRecordedRelation(nameElement,
- IndexConstants.NAME_IS_READ_BY_UNRESOLVED, _expectedLocation(mainElement,
- 'test(2)'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_INVOKED_BY_RESOLVED,
+ _expectedLocation(mainElement, 'test(1)'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_INVOKED_BY_UNRESOLVED,
+ _expectedLocation(mainElement, 'test(2)'));
+ _assertNoRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_READ_BY_UNRESOLVED,
+ _expectedLocation(mainElement, 'test(2)'));
}
void test_nameIsReadBy() {
@@ -1448,15 +1647,17 @@ main(A a, p) {
print(p.test); // p
}''');
// prepare elements
- Element mainElement = _findElement("main");
+ Element mainElement = findElement("main");
Element nameElement = new NameElement('test');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_READ_BY_RESOLVED, _expectedLocation(mainElement,
- 'test); // a'));
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_READ_BY_UNRESOLVED, _expectedLocation(mainElement,
- 'test); // p'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_READ_BY_RESOLVED,
+ _expectedLocation(mainElement, 'test); // a'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_READ_BY_UNRESOLVED,
+ _expectedLocation(mainElement, 'test); // p'));
}
void test_nameIsReadWrittenBy() {
@@ -1469,15 +1670,17 @@ main(A a, p) {
p.test += 2;
}''');
// prepare elements
- Element mainElement = _findElement("main");
+ Element mainElement = findElement("main");
Element nameElement = new NameElement('test');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_READ_WRITTEN_BY_RESOLVED, _expectedLocation(mainElement,
- 'test += 1'));
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_READ_WRITTEN_BY_UNRESOLVED, _expectedLocation(
- mainElement, 'test += 2'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_READ_WRITTEN_BY_RESOLVED,
+ _expectedLocation(mainElement, 'test += 1'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_READ_WRITTEN_BY_UNRESOLVED,
+ _expectedLocation(mainElement, 'test += 2'));
}
void test_nameIsWrittenBy() {
@@ -1490,15 +1693,17 @@ main(A a, p) {
p.test = 2;
}''');
// prepare elements
- Element mainElement = _findElement("main");
+ Element mainElement = findElement("main");
Element nameElement = new NameElement('test');
// verify
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_WRITTEN_BY_RESOLVED, _expectedLocation(mainElement,
- 'test = 1'));
- _assertRecordedRelation(nameElement,
- IndexConstants.NAME_IS_WRITTEN_BY_UNRESOLVED, _expectedLocation(mainElement,
- 'test = 2'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_WRITTEN_BY_RESOLVED,
+ _expectedLocation(mainElement, 'test = 1'));
+ _assertRecordedRelation(
+ nameElement,
+ IndexConstants.NAME_IS_WRITTEN_BY_UNRESOLVED,
+ _expectedLocation(mainElement, 'test = 2'));
}
void test_nullUnit() {
@@ -1513,25 +1718,25 @@ main(A a, p) {
void _assertDefinesTopLevelElement(Relationship relationship,
ExpectedLocation expectedLocation) {
_assertRecordedRelation(testLibraryElement, relationship, expectedLocation);
- _assertRecordedRelation(UniverseElement.INSTANCE, relationship,
+ _assertRecordedRelation(
+ UniverseElement.INSTANCE,
+ relationship,
expectedLocation);
}
- void _assertNoErrorsInSource() {
- List<AnalysisError> errors = context.getErrors(testSource).errors;
- expect(errors, isEmpty);
- }
-
/**
* Asserts that [recordedRelations] has no item with the specified properties.
*/
void _assertNoRecordedRelation(Element element, Relationship relationship,
ExpectedLocation location) {
for (RecordedRelation recordedRelation in recordedRelations) {
- if (_equalsRecordedRelation(recordedRelation, element, relationship,
+ if (_equalsRecordedRelation(
+ recordedRelation,
+ element,
+ relationship,
location)) {
- fail('not expected: ${recordedRelation} in\n' + recordedRelations.join(
- '\n'));
+ fail(
+ 'not expected: ${recordedRelation} in\n' + recordedRelations.join('\n'));
}
}
}
@@ -1542,66 +1747,32 @@ main(A a, p) {
Location _assertRecordedRelation(Element expectedElement,
Relationship expectedRelationship, ExpectedLocation expectedLocation) {
for (RecordedRelation recordedRelation in recordedRelations) {
- if (_equalsRecordedRelation(recordedRelation, expectedElement,
- expectedRelationship, expectedLocation)) {
+ if (_equalsRecordedRelation(
+ recordedRelation,
+ expectedElement,
+ expectedRelationship,
+ expectedLocation)) {
return recordedRelation.location;
}
}
- fail("not found\n$expectedElement $expectedRelationship "
- "in $expectedLocation in\n" + recordedRelations.join('\n'));
+ fail(
+ "not found\n$expectedElement $expectedRelationship " "in $expectedLocation in\n"
+ +
+ recordedRelations.join('\n'));
return null;
}
ExpectedLocation _expectedLocation(Element element, String search, [int length
= -1]) {
- int offset = _findOffset(search);
+ int offset = findOffset(search);
if (length == -1) {
- length = _getLeadingIdentifierLength(search);
+ length = getLeadingIdentifierLength(search);
}
return new ExpectedLocation(element, offset, length);
}
- Element _findElement(String name, [ElementKind kind]) {
- return findChildElement(testUnitElement, name, kind);
- }
-
- AstNode _findNodeAtOffset(int offset, [Predicate<AstNode> predicate]) {
- AstNode result = new NodeLocator.con1(offset).searchWithin(testUnit);
- if (result != null && predicate != null) {
- result = result.getAncestor(predicate);
- }
- return result;
- }
-
- AstNode _findNodeAtString(String search, [Predicate<AstNode> predicate]) {
- int offset = _findOffset(search);
- return _findNodeAtOffset(offset, predicate);
- }
-
- Element _findNodeElementAtString(String search,
- [Predicate<AstNode> predicate]) {
- AstNode node = _findNodeAtString(search, predicate);
- if (node == null) {
- return null;
- }
- return ElementLocator.locate(node);
- }
-
- int _findOffset(String search) {
- int offset = testCode.indexOf(search);
- expect(offset, isNonNegative, reason: "Not found '$search' in\n$testCode");
- return offset;
- }
-
void _indexTestUnit(String code) {
- testCode = code;
- testSource = addSource('/test.dart', code);
- testUnit = resolveLibraryUnit(testSource);
- if (verifyNoTestUnitErrors) {
- _assertNoErrorsInSource();
- }
- testUnitElement = testUnit.element;
- testLibraryElement = testUnitElement.library;
+ resolveTestUnit(code);
indexDartUnit(store, context, testUnit);
}
}
« no previous file with comments | « pkg/analysis_services/test/index/abstract_single_unit.dart ('k') | pkg/analysis_services/test/index/store/codec_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698