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

Side by Side Diff: pkg/analyzer/lib/src/index/index_contributor.dart

Issue 365193004: Move Index and IndexStore implementations into Engine. (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 engine.src.index; 8 library engine.src.index_contributor;
9 9
10 import 'dart:collection' show Queue; 10 import 'dart:collection' show Queue;
11 11
12 import 'package:analyzer/index/index.dart'; 12 import 'package:analyzer/index/index.dart';
13 import 'package:analyzer/index/index_store.dart'; 13 import 'package:analyzer/index/index_store.dart';
14 import 'package:analyzer/src/generated/ast.dart'; 14 import 'package:analyzer/src/generated/ast.dart';
15 import 'package:analyzer/src/generated/element.dart'; 15 import 'package:analyzer/src/generated/element.dart';
16 import 'package:analyzer/src/generated/engine.dart'; 16 import 'package:analyzer/src/generated/engine.dart';
17 import 'package:analyzer/src/generated/html.dart' as ht; 17 import 'package:analyzer/src/generated/html.dart' as ht;
18 import 'package:analyzer/src/generated/java_core.dart'; 18 import 'package:analyzer/src/generated/java_core.dart';
19 import 'package:analyzer/src/generated/java_engine.dart'; 19 import 'package:analyzer/src/generated/java_engine.dart';
20 import 'package:analyzer/src/generated/resolver.dart'; 20 import 'package:analyzer/src/generated/resolver.dart';
21 import 'package:analyzer/src/generated/scanner.dart'; 21 import 'package:analyzer/src/generated/scanner.dart';
22 import 'package:analyzer/src/generated/source.dart'; 22 import 'package:analyzer/src/generated/source.dart';
23 23
24 24
25 /** 25 /**
26 * Adds data to [store] based on the resolved Dart [unit]. 26 * Adds data to [store] based on the resolved Dart [unit].
27 */ 27 */
28 void indexDartUnit(IndexStore store, AnalysisContext context, 28 void indexDartUnit(IndexStore store, AnalysisContext context,
29 CompilationUnit unit) { 29 CompilationUnit unit) {
30 // check unit
31 if (unit == null) {
32 return;
33 }
34 // prepare unit element
30 CompilationUnitElement unitElement = unit.element; 35 CompilationUnitElement unitElement = unit.element;
36 if (unitElement == null) {
37 return;
38 }
39 // about to index
31 bool mayIndex = store.aboutToIndexDart(context, unitElement); 40 bool mayIndex = store.aboutToIndexDart(context, unitElement);
32 if (!mayIndex) { 41 if (!mayIndex) {
33 return; 42 return;
34 } 43 }
44 // do index
35 unit.accept(new _IndexContributor(store)); 45 unit.accept(new _IndexContributor(store));
36 unit.accept(new _AngularDartIndexContributor(store)); 46 unit.accept(new _AngularDartIndexContributor(store));
37 store.doneIndex(); 47 store.doneIndex();
38 } 48 }
39 49
40 50
41 /** 51 /**
42 * Adds data to [store] based on the resolved HTML [unit]. 52 * Adds data to [store] based on the resolved HTML [unit].
43 */ 53 */
44 void indexHtmlUnit(IndexStore store, AnalysisContext context, ht.HtmlUnit unit) 54 void indexHtmlUnit(IndexStore store, AnalysisContext context, ht.HtmlUnit unit)
45 { 55 {
56 // check unit
57 if (unit == null) {
58 return;
59 }
60 // prepare unit element
46 HtmlElement unitElement = unit.element; 61 HtmlElement unitElement = unit.element;
62 if (unitElement == null) {
63 return;
64 }
65 // about to index
47 bool mayIndex = store.aboutToIndexHtml(context, unitElement); 66 bool mayIndex = store.aboutToIndexHtml(context, unitElement);
48 if (!mayIndex) { 67 if (!mayIndex) {
49 return; 68 return;
50 } 69 }
70 // do index
51 unit.accept(new _AngularHtmlIndexContributor(store)); 71 unit.accept(new _AngularHtmlIndexContributor(store));
52 store.doneIndex(); 72 store.doneIndex();
53 } 73 }
54 74
55 75
56 /** 76 /**
57 * Visits resolved [CompilationUnit] and adds Angular specific relationships 77 * Visits resolved [CompilationUnit] and adds Angular specific relationships
58 * into [IndexStore]. 78 * into [IndexStore].
59 */ 79 */
60 class _AngularDartIndexContributor extends GeneralizingAstVisitor<Object> { 80 class _AngularDartIndexContributor extends GeneralizingAstVisitor<Object> {
(...skipping 1123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 } 1204 }
1185 1205
1186 /** 1206 /**
1187 * @return `true` if given "node" is part of [PrefixedIdentifier] "prefix.node ". 1207 * @return `true` if given "node" is part of [PrefixedIdentifier] "prefix.node ".
1188 */ 1208 */
1189 static bool _isIdentifierInPrefixedIdentifier(SimpleIdentifier node) { 1209 static bool _isIdentifierInPrefixedIdentifier(SimpleIdentifier node) {
1190 AstNode parent = node.parent; 1210 AstNode parent = node.parent;
1191 return parent is PrefixedIdentifier && identical(parent.identifier, node); 1211 return parent is PrefixedIdentifier && identical(parent.identifier, node);
1192 } 1212 }
1193 } 1213 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698