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

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

Issue 484733003: Import analysis_services.dart into analysis_server.dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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
deleted file mode 100644
index c02d89834d2cd3590ace076a486b2db00e293bd6..0000000000000000000000000000000000000000
--- a/pkg/analysis_services/test/index/dart_index_contributor_test.dart
+++ /dev/null
@@ -1,1728 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-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_single_unit.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/source.dart';
-import 'package:typed_mock/typed_mock.dart';
-import 'package:unittest/unittest.dart';
-
-
-main() {
- groupSep = ' | ';
- runReflectiveTests(DartUnitContributorTest);
-}
-
-
-/**
- * Returns `true` if the [actual] location the same properties as [expected].
- */
-bool _equalsLocation(Location actual, ExpectedLocation expected) {
- return _equalsLocationProperties(
- actual,
- expected.element,
- expected.offset,
- expected.length,
- expected.isQualified,
- expected.isResolved);
-}
-
-
-/**
- * Returns `true` if the [actual] location the expected properties.
- */
-bool _equalsLocationProperties(Location actual, Element expectedElement,
- int expectedOffset, int expectedLength, bool isQualified, bool isResolved) {
- return expectedElement == actual.element &&
- expectedOffset == actual.offset &&
- expectedLength == actual.length &&
- isQualified == actual.isQualified &&
- isResolved == actual.isResolved;
-}
-
-
-bool _equalsRecordedRelation(RecordedRelation recordedRelation,
- Element expectedElement, Relationship expectedRelationship,
- ExpectedLocation expectedLocation) {
- return expectedElement == recordedRelation.element &&
- expectedRelationship == recordedRelation.relationship &&
- (expectedLocation == null ||
- _equalsLocation(recordedRelation.location, expectedLocation));
-}
-
-
-@ReflectiveTestCase()
-class DartUnitContributorTest extends AbstractSingleUnitTest {
- IndexStore store = new MockIndexStore();
- List<RecordedRelation> recordedRelations = <RecordedRelation>[];
-
- CompilationUnitElement importedUnit({int index: 0}) {
- List<ImportElement> imports = testLibraryElement.imports;
- return imports[index].importedLibrary.definingCompilationUnit;
- }
-
- 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));
- });
- }
-
- void test_NameElement_field() {
- _indexTestUnit('''
-class A {
- int field;
-}
-main(A a, p) {
- print(a.field); // r
- print(p.field); // ur
- {
- var field = 42;
- print(field); // not a member
- }
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- FieldElement fieldElement = findElement('field');
- Element nameElement = new NameElement('field');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(fieldElement, 'field;'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocationQ(mainElement, 'field); // r'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocationQU(mainElement, 'field); // ur'));
- _assertNoRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocation(mainElement, 'field); // not a member'));
- }
-
- void test_NameElement_isDefinedBy_localVariable_inForEach() {
- _indexTestUnit('''
-class A {
- main() {
- for (int test in []) {
- }
- }
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- LocalVariableElement testElement = findElement('test');
- Element nameElement = new NameElement('test');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(testElement, 'test in []'));
- }
-
- void test_NameElement_method() {
- _indexTestUnit('''
-class A {
- method() {}
-}
-main(A a, p) {
- a.method(); // r
- p.method(); // ur
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- MethodElement methodElement = findElement('method');
- Element nameElement = new NameElement('method');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(methodElement, 'method() {}'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, 'method(); // r'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, 'method(); // ur'));
- }
-
- void test_NameElement_operator_resolved() {
- _indexTestUnit('''
-class A {
- operator +(o) {}
- operator -(o) {}
- operator ~() {}
- operator ==(o) {}
-}
-main(A a) {
- a + 5;
- a += 5;
- a == 5;
- ++a;
- --a;
- ~a;
- a++;
- a--;
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- // binary
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '+ 5', length: 1));
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '+= 5', length: 2));
- _assertRecordedRelation(
- new NameElement('=='),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '== 5', length: 2));
- // prefix
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '++a', length: 2));
- _assertRecordedRelation(
- new NameElement('-'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '--a', length: 2));
- _assertRecordedRelation(
- new NameElement('~'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '~a', length: 1));
- // postfix
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '++;', length: 2));
- _assertRecordedRelation(
- new NameElement('-'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '--;', length: 2));
- }
-
-
- void test_NameElement_operator_unresolved() {
- _indexTestUnit('''
-class A {
- operator +(o) {}
- operator -(o) {}
- operator ~() {}
- operator ==(o) {}
-}
-main(a) {
- a + 5;
- a += 5;
- a == 5;
- ++a;
- --a;
- ~a;
- a++;
- a--;
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- // binary
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '+ 5', length: 1));
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '+= 5', length: 2));
- _assertRecordedRelation(
- new NameElement('=='),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '== 5', length: 2));
- // prefix
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '++a', length: 2));
- _assertRecordedRelation(
- new NameElement('-'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '--a', length: 2));
- _assertRecordedRelation(
- new NameElement('~'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '~a', length: 1));
- // postfix
- _assertRecordedRelation(
- new NameElement('+'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '++;', length: 2));
- _assertRecordedRelation(
- new NameElement('-'),
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, '--;', length: 2));
- }
-
- void test_definesClass() {
- _indexTestUnit('class A {}');
- // prepare elements
- ClassElement classElement = findElement("A");
- // verify
- _assertDefinesTopLevelElement(
- IndexConstants.DEFINES,
- _expectedLocation(classElement, 'A {}'));
- }
-
- void test_definesClassAlias() {
- _indexTestUnit('''
-class Mix {}
-class MyClass = Object with Mix;''');
- // prepare elements
- Element classElement = findElement("MyClass");
- // verify
- _assertDefinesTopLevelElement(
- IndexConstants.DEFINES,
- _expectedLocation(classElement, 'MyClass ='));
- }
-
- void test_definesFunction() {
- _indexTestUnit('myFunction() {}');
- // prepare elements
- FunctionElement functionElement = findElement("myFunction");
- // verify
- _assertDefinesTopLevelElement(
- IndexConstants.DEFINES,
- _expectedLocation(functionElement, 'myFunction() {}'));
- }
-
-
- void test_definesFunctionType() {
- _indexTestUnit('typedef MyFunction(int p);');
- // prepare elements
- FunctionTypeAliasElement typeAliasElement = findElement("MyFunction");
- // verify
- _assertDefinesTopLevelElement(
- IndexConstants.DEFINES,
- _expectedLocation(typeAliasElement, 'MyFunction(int p);'));
- }
-
- void test_definesVariable() {
- _indexTestUnit('var myVar = 42;');
- // prepare elements
- VariableElement varElement = findElement("myVar");
- // verify
- _assertDefinesTopLevelElement(
- IndexConstants.DEFINES,
- _expectedLocation(varElement, 'myVar = 42;'));
- }
-
- void test_forIn() {
- _indexTestUnit('''
-main() {
- for (var v in []) {
- }
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- VariableElement variableElement = findElement("v");
- // verify
- _assertNoRecordedRelation(
- variableElement,
- IndexConstants.IS_READ_BY,
- _expectedLocation(mainElement, 'v in []'));
- }
-
- void test_isDefinedBy_ConstructorElement() {
- _indexTestUnit('''
-class A {
- 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);
- // verify
- _assertRecordedRelation(
- consA,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(classA, '() {}'));
- _assertRecordedRelation(
- consA_foo,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(classA, '.foo() {}', length: 4));
- }
-
- void test_isDefinedBy_NameElement_method() {
- _indexTestUnit('''
-class A {
- m() {}
-}''');
- // prepare elements
- Element methodElement = findElement("m");
- Element nameElement = new NameElement("m");
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(methodElement, 'm() {}'));
- }
-
- void test_isDefinedBy_NameElement_operator() {
- _indexTestUnit('''
-class A {
- operator +(o) {}
-}''');
- // prepare elements
- Element methodElement = findElement("+");
- Element nameElement = new NameElement("+");
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.NAME_IS_DEFINED_BY,
- _expectedLocation(methodElement, '+(o) {}', length: 1));
- }
-
-
- void test_isExtendedBy_ClassDeclaration() {
- _indexTestUnit('''
-class A {} // 1
-class B extends A {} // 2
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementB = findElement("B");
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_EXTENDED_BY,
- _expectedLocation(classElementB, 'A {} // 2'));
- }
-
- void test_isExtendedBy_ClassDeclaration_Object() {
- _indexTestUnit('''
-class A {} // 1
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementObject = classElementA.supertype.element;
- // verify
- _assertRecordedRelation(
- classElementObject,
- IndexConstants.IS_EXTENDED_BY,
- _expectedLocation(classElementA, 'A {}', length: 0));
- }
-
-
- void test_isExtendedBy_ClassTypeAlias() {
- _indexTestUnit('''
-class A {} // 1
-class B {} // 2
-class C = A with B; // 3
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementC = findElement("C");
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_EXTENDED_BY,
- _expectedLocation(classElementC, 'A with'));
- }
-
- void test_isImplementedBy_ClassDeclaration() {
- _indexTestUnit('''
-class A {} // 1
-class B implements A {} // 2
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementB = findElement("B");
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_IMPLEMENTED_BY,
- _expectedLocation(classElementB, 'A {} // 2'));
- }
-
- void test_isImplementedBy_ClassTypeAlias() {
- _indexTestUnit('''
-class A {} // 1
-class B {} // 2
-class C = Object with A implements B; // 3
-''');
- // prepare elements
- ClassElement classElementB = findElement("B");
- ClassElement classElementC = findElement("C");
- // verify
- _assertRecordedRelation(
- classElementB,
- IndexConstants.IS_IMPLEMENTED_BY,
- _expectedLocation(classElementC, 'B; // 3'));
- }
-
- void test_isInvokedBy_FieldElement() {
- _indexTestUnit('''
-class A {
- var field;
- main() {
- this.field(); // q
- field(); // nq
- }
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- FieldElement fieldElement = findElement("field");
- PropertyAccessorElement getterElement = fieldElement.getter;
- // verify
- _assertRecordedRelation(
- getterElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, 'field(); // q'));
- _assertRecordedRelation(
- getterElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'field(); // nq'));
- }
-
- void test_isInvokedBy_FunctionElement() {
- addSource('/lib.dart', '''
-library lib;
-foo() {}
-''');
- _indexTestUnit('''
-import 'lib.dart';
-import 'lib.dart' as pref;
-main() {
- pref.foo(); // q
- foo(); // nq
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- FunctionElement functionElement = importedUnit().functions[0];
- // verify
- _assertRecordedRelation(
- functionElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'foo(); // q'));
- _assertRecordedRelation(
- functionElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'foo(); // nq'));
- }
-
- void test_isInvokedBy_LocalVariableElement() {
- _indexTestUnit('''
-main() {
- var v;
- v();
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element element = findElement("v");
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'v();'));
- }
-
- void test_isInvokedBy_MethodElement() {
- _indexTestUnit('''
-class A {
- foo() {}
- main() {
- this.foo(); // q
- foo(); // nq
- }
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element methodElement = findElement("foo");
- // verify
- _assertRecordedRelation(
- methodElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, 'foo(); // q'));
- _assertRecordedRelation(
- methodElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'foo(); // nq'));
- }
-
- void test_isInvokedBy_MethodElement_propagatedType() {
- _indexTestUnit('''
-class A {
- foo() {}
-}
-main() {
- var a = new A();
- a.foo();
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- Element methodElement = findElement("foo");
- // verify
- _assertRecordedRelation(
- methodElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, 'foo();'));
- }
-
- void test_isInvokedBy_ParameterElement() {
- _indexTestUnit('''
-main(p()) {
- p();
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element element = findElement("p");
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'p();'));
- }
-
- void test_isInvokedBy_operator_binary() {
- _indexTestUnit('''
-class A {
- operator +(other) => this;
-}
-main(A a) {
- print(a + 1);
- a += 2;
- ++a;
- a++;
-}
-''');
- // prepare elements
- MethodElement element = findElement('+');
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '+ 1', length: 1));
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '+= 2', length: 2));
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '++a;', length: 2));
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '++;', length: 2));
- }
-
- void test_isInvokedBy_operator_index() {
- _indexTestUnit('''
-class A {
- operator [](i) => null;
- operator []=(i, v) {}
-}
-main(A a) {
- print(a[0]);
- a[1] = 42;
-}
-''');
- // prepare elements
- MethodElement readElement = findElement("[]");
- MethodElement writeElement = findElement("[]=");
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- readElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '[0]', length: 1));
- _assertRecordedRelation(
- writeElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '[1] =', length: 1));
- }
-
- void test_isInvokedBy_operator_prefix() {
- _indexTestUnit('''
-class A {
- A operator ~() => this;
-}
-main(A a) {
- print(~a);
-}
-''');
- // prepare elements
- MethodElement element = findElement("~");
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, '~a', length: 1));
- }
-
- void test_isMixedInBy_ClassDeclaration() {
- _indexTestUnit('''
-class A {} // 1
-class B extends Object with A {} // 2
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementB = findElement("B");
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_MIXED_IN_BY,
- _expectedLocation(classElementB, 'A {} // 2'));
- }
-
- void test_isMixedInBy_ClassTypeAlias() {
- _indexTestUnit('''
-class A {} // 1
-class B = Object with A; // 2
-''');
- // prepare elements
- ClassElement classElementA = findElement("A");
- ClassElement classElementB = findElement("B");
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_MIXED_IN_BY,
- _expectedLocation(classElementB, 'A; // 2'));
- }
-
- void test_isReadBy_ParameterElement() {
- _indexTestUnit('''
-main(var p) {
- print(p);
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- Element parameterElement = findElement("p");
- // verify
- _assertRecordedRelation(
- parameterElement,
- IndexConstants.IS_READ_BY,
- _expectedLocation(mainElement, 'p);'));
- }
-
- void test_isReadBy_VariableElement() {
- _indexTestUnit('''
-main() {
- var v = 0;
- print(v);
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- Element variableElement = findElement("v");
- // verify
- _assertRecordedRelation(
- variableElement,
- IndexConstants.IS_READ_BY,
- _expectedLocation(mainElement, 'v);'));
- }
-
- void test_isReadWrittenBy_ParameterElement() {
- _indexTestUnit('''
-main(int p) {
- p += 1;
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- Element parameterElement = findElement("p");
- // verify
- _assertRecordedRelation(
- parameterElement,
- IndexConstants.IS_READ_WRITTEN_BY,
- _expectedLocation(mainElement, 'p += 1'));
- }
-
- void test_isReadWrittenBy_VariableElement() {
- _indexTestUnit('''
-main() {
- var v = 0;
- v += 1;
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- Element variableElement = findElement("v");
- // verify
- _assertRecordedRelation(
- variableElement,
- IndexConstants.IS_READ_WRITTEN_BY,
- _expectedLocation(mainElement, 'v += 1'));
- }
-
- void test_isReferencedBy_ClassElement() {
- _indexTestUnit('''
-class A {
- static var field;
-}
-main(A p) {
- A v;
- new A(); // 2
- A.field = 1;
- print(A.field); // 3
-}
-''');
- // prepare elements
- ClassElement aElement = findElement("A");
- Element mainElement = findElement("main");
- ParameterElement pElement = findElement("p");
- VariableElement vElement = findElement("v");
- // verify
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(pElement, 'A p) {'));
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(vElement, 'A v;'));
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'A(); // 2'));
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'A.field = 1;'));
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'A.field); // 3'));
- }
-
- void test_isReferencedBy_ClassTypeAlias() {
- _indexTestUnit('''
-class A {}
-class B = Object with A;
-main(B p) {
- B v;
-}
-''');
- // prepare elements
- ClassElement bElement = findElement("B");
- ParameterElement pElement = findElement("p");
- VariableElement vElement = findElement("v");
- // verify
- _assertRecordedRelation(
- bElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(pElement, 'B p) {'));
- _assertRecordedRelation(
- bElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(vElement, 'B v;'));
- }
-
- void test_isReferencedBy_CompilationUnitElement_export() {
- addSource('/lib.dart', '''
-library lib;
-''');
- _indexTestUnit('''
-export 'lib.dart';
-''');
- // prepare elements
- LibraryElement libElement = testLibraryElement.exportedLibraries[0];
- CompilationUnitElement libUnitElement = libElement.definingCompilationUnit;
- // verify
- _assertRecordedRelation(
- libUnitElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, "'lib.dart'", length: 10));
- }
-
- void test_isReferencedBy_CompilationUnitElement_import() {
- addSource('/lib.dart', '''
-library lib;
-''');
- _indexTestUnit('''
-import 'lib.dart';
-''');
- // prepare elements
- LibraryElement libElement = testLibraryElement.imports[0].importedLibrary;
- CompilationUnitElement libUnitElement = libElement.definingCompilationUnit;
- // verify
- _assertRecordedRelation(
- libUnitElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, "'lib.dart'", length: 10));
- }
-
- void test_isReferencedBy_CompilationUnitElement_part() {
- addSource('/my_unit.dart', 'part of my_lib;');
- _indexTestUnit('''
-library my_lib;
-part 'my_unit.dart';
-''');
- // prepare elements
- CompilationUnitElement myUnitElement = testLibraryElement.parts[0];
- // verify
- _assertRecordedRelation(
- myUnitElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, "'my_unit.dart';", length: 14));
- }
-
- void test_isReferencedBy_ConstructorElement() {
- _indexTestUnit('''
-class A implements B {
- A() {}
- A.foo() {}
-}
-class B extends A {
- B() : super(); // marker-1
- B.foo() : super.foo(); // marker-2
- factory B.bar() = A.foo; // marker-3
-}
-main() {
- new A(); // marker-main-1
- new A.foo(); // marker-main-2
-}
-''');
- // prepare elements
- 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);
- // A()
- _assertRecordedRelation(
- consA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(consB, '(); // marker-1', length: 0));
- _assertRecordedRelation(
- consA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, '(); // marker-main-1', length: 0));
- // A.foo()
- _assertRecordedRelation(
- consA_foo,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(consB_foo, '.foo(); // marker-2', length: 4));
- _assertRecordedRelation(
- consA_foo,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(consB_bar, '.foo; // marker-3', length: 4));
- _assertRecordedRelation(
- consA_foo,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, '.foo(); // marker-main-2', length: 4));
- }
-
- void test_isReferencedBy_ConstructorElement_classTypeAlias() {
- _indexTestUnit('''
-class M {}
-class A implements B {
- A() {}
- A.named() {}
-}
-class B = A with M;
-main() {
- new B(); // marker-main-1
- new B.named(); // marker-main-2
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- var isConstructor = (node) => node is ConstructorDeclaration;
- ConstructorElement consA = findNodeElementAtString("A()", isConstructor);
- ConstructorElement consA_named =
- findNodeElementAtString("A.named()", isConstructor);
- // verify
- _assertRecordedRelation(
- consA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, '(); // marker-main-1', length: 0));
- _assertRecordedRelation(
- consA_named,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, '.named(); // marker-main-2', length: 6));
- }
-
- void test_isReferencedBy_ConstructorFieldInitializer() {
- _indexTestUnit('''
-class A {
- int field;
- A() : field = 5;
-}
-''');
- // prepare elements
- ConstructorElement constructorElement =
- findNodeElementAtString("A()", (node) => node is ConstructorDeclaration);
- FieldElement fieldElement = findElement("field");
- // verify
- _assertRecordedRelation(
- fieldElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(constructorElement, 'field = 5'));
- }
-
- void test_isReferencedBy_FieldElement() {
- _indexTestUnit('''
-class A {
- var field;
- main() {
- this.field = 5; // q
- print(this.field); // q
- field = 5; // nq
- print(field); // nq
- }
-}
-''');
- // prepare elements
- Element mainElement = findElement("main");
- FieldElement fieldElement = findElement("field");
- PropertyAccessorElement getter = fieldElement.getter;
- PropertyAccessorElement setter = fieldElement.setter;
- // verify
- _assertRecordedRelation(
- setter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocationQ(mainElement, 'field = 5; // q'));
- _assertRecordedRelation(
- getter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocationQ(mainElement, 'field); // q'));
- _assertRecordedRelation(
- setter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'field = 5; // nq'));
- _assertRecordedRelation(
- getter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'field); // nq'));
- }
-
- void test_isReferencedBy_FieldFormalParameterElement() {
- _indexTestUnit('''
-class A {
- int field;
- A(this.field);
-}
-''');
- // prepare elements
- FieldElement fieldElement = findElement("field");
- Element fieldParameterElement = findNodeElementAtString("field);");
- // verify
- _assertRecordedRelation(
- fieldElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(fieldParameterElement, 'field);'));
- }
-
- void test_isReferencedBy_FunctionElement() {
- _indexTestUnit('''
-foo() {}
-main() {
- print(foo);
- print(foo());
-}
-''');
- // prepare elements
- FunctionElement element = findElement("foo");
- Element mainElement = findElement("main");
- // "referenced" here
- _assertRecordedRelation(
- element,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'foo);'));
- // only "invoked", but not "referenced"
- {
- _assertRecordedRelation(
- element,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocation(mainElement, 'foo());'));
- _assertNoRecordedRelation(
- element,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'foo());'));
- }
- }
-
- void test_isReferencedBy_FunctionTypeAliasElement() {
- _indexTestUnit('''
-typedef A();
-main(A p) {
-}
-''');
- // prepare elements
- Element aElement = findElement('A');
- Element pElement = findElement('p');
- // verify
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(pElement, 'A p) {'));
- }
-
- void test_isReferencedBy_ImportElement_noPrefix() {
- addSource('/lib.dart', '''
-library lib;
-var myVar;
-myFunction() {}
-myToHide() {}
-''');
- _indexTestUnit('''
-import 'lib.dart' show myVar, myFunction hide myToHide;
-main() {
- myVar = 1;
- myFunction();
- print(0);
-}
-''');
- // prepare elements
- ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'myVar = 1;', length: 0));
- _assertRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'myFunction();', length: 0));
- _assertNoRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'print(0);', length: 0));
- // no references from import combinators
- _assertNoRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, 'myVar, ', length: 0));
- _assertNoRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, 'myFunction hide', length: 0));
- _assertNoRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, 'myToHide;', length: 0));
- }
-
- void test_isReferencedBy_ImportElement_withPrefix() {
- addSource('/libA.dart', '''
-library libA;
-var myVar;
-''');
- addSource('/libB.dart', '''
-library libB;
-class MyClass {}
-''');
- _indexTestUnit('''
-import 'libA.dart' as pref;
-import 'libB.dart' as pref;
-main() {
- pref.myVar = 1;
- new pref.MyClass();
-}
-''');
- // prepare elements
- ImportElement importElementA = testLibraryElement.imports[0];
- ImportElement importElementB = testLibraryElement.imports[1];
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- importElementA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.myVar = 1;', length: 5));
- _assertRecordedRelation(
- importElementB,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.MyClass();', length: 5));
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_combinators() {
- addSource('/lib.dart', '''
-library lib;
-class A {}
-class B {}
-''');
- _indexTestUnit('''
-import 'lib.dart' as pref show A;
-import 'lib.dart' as pref show B;
-import 'lib.dart';
-import 'lib.dart' as otherPrefix;
-main() {
- new pref.A();
- new pref.B();
-}
-''');
- // prepare elements
- ImportElement importElementA = testLibraryElement.imports[0];
- ImportElement importElementB = testLibraryElement.imports[1];
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- importElementA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.A();', length: 5));
- _assertRecordedRelation(
- importElementB,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.B();', length: 5));
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_invocation() {
- addSource('/lib.dart', '''
-library lib;
-myFunc() {}
-''');
- _indexTestUnit('''
-import 'lib.dart' as pref;
-main() {
- pref.myFunc();
-}
-''');
- // prepare elements
- ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.myFunc();', length: 5));
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_oneCandidate() {
- addSource('/lib.dart', '''
-library lib;
-class A {}
-class B {}
-''');
- _indexTestUnit('''
-import 'lib.dart' as pref show A;
-main() {
- new pref.A();
-}
-''');
- // prepare elements
- ImportElement importElement = testLibraryElement.imports[0];
- Element mainElement = findElement('main');
- // verify
- _assertRecordedRelation(
- importElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'pref.A();', length: 5));
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_unresolvedElement() {
- verifyNoTestUnitErrors = false;
- addSource('/lib.dart', '''
-library lib;
-''');
- _indexTestUnit('''
-import 'lib.dart' as pref;
-main() {
- pref.myVar = 1;
-}
-''');
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_wrongInvocation() {
- verifyNoTestUnitErrors = false;
- _indexTestUnit('''
-import 'dart:math' as m;
-main() {
- m();
-}''');
- }
-
- void test_isReferencedBy_ImportElement_withPrefix_wrongPrefixedIdentifier() {
- verifyNoTestUnitErrors = false;
- _indexTestUnit('''
-import 'dart:math' as m;
-main() {
- x.m;
-}
-''');
- }
-
- void test_isReferencedBy_LabelElement() {
- _indexTestUnit('''
-main() {
- L: while (true) {
- break L;
- }
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- Element element = findElement('L');
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'L;'));
- }
-
- void test_isReferencedBy_MethodElement() {
- _indexTestUnit('''
-class A {
- method() {}
- main() {
- print(this.method); // q
- print(method); // nq
- }
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- MethodElement methodElement = findElement("method");
- // verify
- _assertRecordedRelation(
- methodElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocationQ(mainElement, 'method); // q'));
- _assertRecordedRelation(
- methodElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'method); // nq'));
- }
-
- void test_isReferencedBy_ParameterElement() {
- _indexTestUnit('''
-foo({var p}) {}
-main() {
- foo(p: 1);
-}
-''');
- // prepare elements
- Element mainElement = findElement('main');
- Element element = findElement('p');
- // verify
- _assertRecordedRelation(
- element,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'p: 1'));
- }
-
- void test_isReferencedBy_TopLevelVariableElement() {
- addSource('/lib.dart', '''
-library lib;
-var V;
-''');
- _indexTestUnit('''
-import 'lib.dart' show V; // imp
-import 'lib.dart' as pref;
-main() {
- pref.V = 5; // q
- print(pref.V); // q
- V = 5; // nq
- print(V); // nq
-}''');
- // prepare elements
- TopLevelVariableElement variable = importedUnit().topLevelVariables[0];
- Element mainElement = findElement("main");
- // verify
- _assertRecordedRelation(
- variable,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, 'V; // imp'));
- _assertRecordedRelation(
- variable.setter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'V = 5; // q'));
- _assertRecordedRelation(
- variable.getter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'V); // q'));
- _assertRecordedRelation(
- variable.setter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'V = 5; // nq'));
- _assertRecordedRelation(
- variable.getter,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(mainElement, 'V); // nq'));
- }
-
- void test_isReferencedBy_TypeParameterElement() {
- _indexTestUnit('''
-class A<T> {
- T f;
- foo(T p) {
- T v;
- }
-}
-''');
- // 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'));
- }
-
- /**
- * There was a bug in the AST structure, when single [Comment] was cloned and
- * assigned to both [FieldDeclaration] and [VariableDeclaration].
- *
- * This caused duplicate indexing.
- * Here we test that the problem is fixed one way or another.
- */
- void test_isReferencedBy_identifierInComment() {
- _indexTestUnit('''
-class A {}
-/// [A] text
-var myVariable = null;
-''');
- // prepare elements
- Element aElement = findElement('A');
- Element variableElement = findElement('myVariable');
- // verify
- _assertRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, 'A] text'));
- _assertNoRecordedRelation(
- aElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(variableElement, 'A] text'));
- }
-
- void test_isReferencedBy_libraryName() {
- Source libSource = addSource('/lib.dart', '''
-library lib;
-part 'test.dart';
-''');
- testCode = 'part of lib;';
- testSource = addSource('/test.dart', testCode);
- testUnit = resolveDartUnit(testSource, libSource);
- testUnitElement = testUnit.element;
- testLibraryElement = testUnitElement.library;
- indexDartUnit(store, context, testUnit);
- // verify
- _assertRecordedRelation(
- testLibraryElement,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(testUnitElement, "lib;"));
- }
-
- void test_isReferencedBy_typeInVariableList() {
- _indexTestUnit('''
-class A {}
-A myVariable = null;
-''');
- // prepare elements
- Element classElementA = findElement('A');
- Element variableElement = findElement('myVariable');
- // verify
- _assertRecordedRelation(
- classElementA,
- IndexConstants.IS_REFERENCED_BY,
- _expectedLocation(variableElement, 'A myVariable'));
- }
-
- void test_isWrittenBy_ParameterElement() {
- _indexTestUnit('''
-main(var p) {
- p = 1;
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- ParameterElement pElement = findElement("p");
- // verify
- _assertRecordedRelation(
- pElement,
- IndexConstants.IS_WRITTEN_BY,
- _expectedLocation(mainElement, 'p = 1'));
- }
-
- void test_isWrittenBy_VariableElement() {
- _indexTestUnit('''
-main() {
- var v = 0;
- v = 1;
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- LocalVariableElement vElement = findElement("v");
- // verify
- _assertRecordedRelation(
- vElement,
- IndexConstants.IS_WRITTEN_BY,
- _expectedLocation(mainElement, 'v = 1'));
- }
-
- void test_nameIsInvokedBy() {
- _indexTestUnit('''
-class A {
- test(x) {}
-}
-main(A a, p) {
- a.test(1);
- p.test(2);
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element nameElement = new NameElement('test');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQ(mainElement, 'test(1)'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_INVOKED_BY,
- _expectedLocationQU(mainElement, 'test(2)'));
- _assertNoRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocationQU(mainElement, 'test(2)'));
- }
-
- void test_nameIsReadBy() {
- _indexTestUnit('''
-class A {
- var test;
-}
-main(A a, p) {
- print(a.test); // a
- print(p.test); // p
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element nameElement = new NameElement('test');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocationQ(mainElement, 'test); // a'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_BY,
- _expectedLocationQU(mainElement, 'test); // p'));
- }
-
- void test_nameIsReadWrittenBy() {
- _indexTestUnit('''
-class A {
- var test;
-}
-main(A a, p) {
- a.test += 1;
- p.test += 2;
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element nameElement = new NameElement('test');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_WRITTEN_BY,
- _expectedLocationQ(mainElement, 'test += 1'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_READ_WRITTEN_BY,
- _expectedLocationQU(mainElement, 'test += 2'));
- }
-
- void test_nameIsWrittenBy() {
- _indexTestUnit('''
-class A {
- var test;
-}
-main(A a, p) {
- a.test = 1;
- p.test = 2;
-}''');
- // prepare elements
- Element mainElement = findElement("main");
- Element nameElement = new NameElement('test');
- // verify
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_WRITTEN_BY,
- _expectedLocationQ(mainElement, 'test = 1'));
- _assertRecordedRelation(
- nameElement,
- IndexConstants.IS_WRITTEN_BY,
- _expectedLocationQU(mainElement, 'test = 2'));
- }
-
- void test_nullUnit() {
- indexDartUnit(store, context, null);
- }
-
- void test_nullUnitElement() {
- CompilationUnit unit = new CompilationUnit(null, null, [], [], null);
- indexDartUnit(store, context, unit);
- }
-
- void _assertDefinesTopLevelElement(Relationship relationship,
- ExpectedLocation expectedLocation) {
- _assertRecordedRelation(testLibraryElement, relationship, expectedLocation);
- _assertRecordedRelation(
- UniverseElement.INSTANCE,
- relationship,
- expectedLocation);
- }
-
- /**
- * 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,
- location)) {
- fail(
- 'not expected: ${recordedRelation} in\n' + recordedRelations.join('\n'));
- }
- }
- }
-
- /**
- * Asserts that [recordedRelations] has an item with the expected properties.
- */
- Location _assertRecordedRelation(Element expectedElement,
- Relationship expectedRelationship, ExpectedLocation expectedLocation) {
- for (RecordedRelation recordedRelation in recordedRelations) {
- if (_equalsRecordedRelation(
- recordedRelation,
- expectedElement,
- expectedRelationship,
- expectedLocation)) {
- return recordedRelation.location;
- }
- }
- fail(
- "not found\n$expectedElement $expectedRelationship " "in $expectedLocation in\n"
- +
- recordedRelations.join('\n'));
- return null;
- }
-
- ExpectedLocation _expectedLocation(Element element, String search,
- {int length: -1, bool isQualified: false, bool isResolved: true}) {
- int offset = findOffset(search);
- if (length == -1) {
- length = getLeadingIdentifierLength(search);
- }
- return new ExpectedLocation(
- element,
- offset,
- length,
- isQualified,
- isResolved);
- }
-
- ExpectedLocation _expectedLocationQ(Element element, String search,
- {int length: -1}) {
- return _expectedLocation(
- element,
- search,
- length: length,
- isQualified: true);
- }
-
- ExpectedLocation _expectedLocationQU(Element element, String search,
- {int length: -1}) {
- return _expectedLocation(
- element,
- search,
- length: length,
- isQualified: true,
- isResolved: false);
- }
-
- void _indexTestUnit(String code) {
- resolveTestUnit(code);
- indexDartUnit(store, context, testUnit);
- }
-}
-
-class ExpectedLocation {
- Element element;
- int offset;
- int length;
- bool isQualified;
- bool isResolved;
-
- ExpectedLocation(this.element, this.offset, this.length, this.isQualified,
- this.isResolved);
-
- @override
- String toString() {
- return 'ExpectedLocation(element=$element; offset=$offset; length=$length;'
- ' isQualified=$isQualified isResolved=$isResolved)';
- }
-}
-
-class MockIndexStore extends TypedMock implements IndexStore {
- noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
-}
-
-
-/**
- * Information about a relation recorded into {@link IndexStore}.
- */
-class RecordedRelation {
- final Element element;
- final Relationship relationship;
- final Location location;
-
- RecordedRelation(this.element, this.relationship, this.location);
-
- @override
- String toString() {
- return 'RecordedRelation(element=$element; relationship=$relationship; '
- 'location=$location; flags=' '${location.isQualified ? "Q" : ""}'
- '${location.isResolved ? "R" : ""})';
- }
-}
« no previous file with comments | « pkg/analysis_services/test/correction/test_all.dart ('k') | pkg/analysis_services/test/index/local_file_index_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698