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

Side by Side Diff: pkg/analysis_services/lib/src/index/index_contributor.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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library services.src.index.index_contributor; 8 library services.src.index.index_contributor;
9 9
10 import 'dart:collection' show Queue; 10 import 'dart:collection' show Queue;
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 Object visitSimpleIdentifier(SimpleIdentifier node) { 649 Object visitSimpleIdentifier(SimpleIdentifier node) {
650 Element nameElement = new NameElement(node.name); 650 Element nameElement = new NameElement(node.name);
651 Location location = _createLocationFromNode(node); 651 Location location = _createLocationFromNode(node);
652 // name in declaration 652 // name in declaration
653 if (node.inDeclarationContext()) { 653 if (node.inDeclarationContext()) {
654 recordRelationship(nameElement, IndexConstants.IS_DEFINED_BY, location); 654 recordRelationship(nameElement, IndexConstants.IS_DEFINED_BY, location);
655 return null; 655 return null;
656 } 656 }
657 // prepare information 657 // prepare information
658 Element element = node.bestElement; 658 Element element = node.bestElement;
659 // TODO(scheglov) fix resolver to resolve to Field, not an accessor
660 if (node.parent is Combinator && element is PropertyAccessorElement) {
661 element = (element as PropertyAccessorElement).variable;
662 }
659 // qualified name reference 663 // qualified name reference
660 _recordQualifiedMemberReference(node, element, nameElement, location); 664 _recordQualifiedMemberReference(node, element, nameElement, location);
661 // stop if already handled 665 // stop if already handled
662 if (_isAlreadyHandledName(node)) { 666 if (_isAlreadyHandledName(node)) {
663 return null; 667 return null;
664 } 668 }
665 // record name read/write 669 // record name read/write
666 { 670 {
667 bool inGetterContext = node.inGetterContext(); 671 bool inGetterContext = node.inGetterContext();
668 bool inSetterContext = node.inSetterContext(); 672 bool inSetterContext = node.inSetterContext();
(...skipping 12 matching lines...) Expand all
681 IndexConstants.NAME_IS_WRITTEN_BY_RESOLVED : 685 IndexConstants.NAME_IS_WRITTEN_BY_RESOLVED :
682 IndexConstants.NAME_IS_WRITTEN_BY_UNRESOLVED; 686 IndexConstants.NAME_IS_WRITTEN_BY_UNRESOLVED;
683 _store.recordRelationship(nameElement, kind, location); 687 _store.recordRelationship(nameElement, kind, location);
684 } 688 }
685 } 689 }
686 // record specific relations 690 // record specific relations
687 if (element is ClassElement || element is FunctionElement || element is 691 if (element is ClassElement || element is FunctionElement || element is
688 FunctionTypeAliasElement || element is LabelElement || element is 692 FunctionTypeAliasElement || element is LabelElement || element is
689 TypeParameterElement) { 693 TypeParameterElement) {
690 recordRelationship(element, IndexConstants.IS_REFERENCED_BY, location); 694 recordRelationship(element, IndexConstants.IS_REFERENCED_BY, location);
691 } else if (element is FieldElement) { 695 } else if (element is PropertyInducingElement) {
692 location = _getLocationWithInitializerType(node, location); 696 location = _getLocationWithInitializerType(node, location);
693 recordRelationship(element, IndexConstants.IS_REFERENCED_BY, location); 697 recordRelationship(element,
698 IndexConstants.IS_REFERENCED_BY_QUALIFIED,
699 location);
694 } else if (element is FieldFormalParameterElement) { 700 } else if (element is FieldFormalParameterElement) {
695 FieldFormalParameterElement fieldParameter = element; 701 FieldFormalParameterElement fieldParameter = element;
696 FieldElement field = fieldParameter.field; 702 FieldElement field = fieldParameter.field;
697 recordRelationship(field, IndexConstants.IS_REFERENCED_BY_QUALIFIED, 703 recordRelationship(field, IndexConstants.IS_REFERENCED_BY_QUALIFIED,
698 location); 704 location);
699 } else if (element is PrefixElement) { 705 } else if (element is PrefixElement) {
700 _recordImportElementReferenceWithPrefix(node); 706 _recordImportElementReferenceWithPrefix(node);
701 } else if (element is PropertyAccessorElement || element is MethodElement) { 707 } else if (element is PropertyAccessorElement || element is MethodElement) {
702 location = _getLocationWithTypeAssignedToField(node, element, location); 708 location = _getLocationWithTypeAssignedToField(node, element, location);
703 if (node.isQualified) { 709 if (node.isQualified) {
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 } 1211 }
1206 1212
1207 /** 1213 /**
1208 * @return `true` if given "node" is part of [PrefixedIdentifier] "prefix.node ". 1214 * @return `true` if given "node" is part of [PrefixedIdentifier] "prefix.node ".
1209 */ 1215 */
1210 static bool _isIdentifierInPrefixedIdentifier(SimpleIdentifier node) { 1216 static bool _isIdentifierInPrefixedIdentifier(SimpleIdentifier node) {
1211 AstNode parent = node.parent; 1217 AstNode parent = node.parent;
1212 return parent is PrefixedIdentifier && identical(parent.identifier, node); 1218 return parent is PrefixedIdentifier && identical(parent.identifier, node);
1213 } 1219 }
1214 } 1220 }
OLDNEW
« no previous file with comments | « pkg/analysis_services/lib/search/search_engine.dart ('k') | pkg/analysis_services/lib/src/index/store/codec.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698