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

Side by Side Diff: pkg/code_transformers/lib/src/resolver.dart

Issue 181383015: Refactoring resolvers to make them able to be run in parallel. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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 library code_transformer.src.resolver; 5 library code_transformer.src.resolver;
6 6
7 import 'package:analyzer/src/generated/element.dart'; 7 import 'package:analyzer/src/generated/element.dart';
8 import 'package:barback/barback.dart'; 8 import 'package:barback/barback.dart';
9 import 'package:source_maps/refactor.dart'; 9 import 'package:source_maps/refactor.dart';
10 import 'package:source_maps/span.dart' show SourceFile, Span; 10 import 'package:source_maps/span.dart' show SourceFile, Span;
11 11
12 12
13 /// Class for working with a barback based resolved AST. 13 /// Class for working with a barback based resolved AST.
14 abstract class Resolver { 14 abstract class Resolver {
15 /// The Dart entry point file where parsing begins. 15 /// The Dart entry point file where parsing begins.
16 AssetId get entryPoint; 16 AssetId get entryPoint;
17 17
18 /// Update the status of all the sources referenced by the entryPoint and
19 /// update the resolved library.
20 ///
21 /// [release] must be called when done handling this Resolver to allow it
22 /// to be used by later phases.
23 Future<Resolver> resolve(Transform transform);
24
25 /// Release this resolver so it can be updated by following transforms.
26 void release();
27
18 /// Gets the resolved Dart library for the entry asset, or null if 28 /// Gets the resolved Dart library for the entry asset, or null if
19 /// the AST has not been resolved. 29 /// the AST has not been resolved.
20 /// 30 ///
21 /// If the AST has not been resolved then this normally means that the 31 /// If the AST has not been resolved then this normally means that the
22 /// transformer hosting this needs to be in an earlier phase. 32 /// transformer hosting this needs to be in an earlier phase.
23 LibraryElement get entryLibrary; 33 LibraryElement get entryLibrary;
24 34
25 /// Gets all libraries accessible from the entry point, recursively. 35 /// Gets all libraries accessible from the entry point, recursively.
26 /// 36 ///
27 /// This includes all Dart SDK libraries as well. 37 /// This includes all Dart SDK libraries as well.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 Span getSourceSpan(Element element); 82 Span getSourceSpan(Element element);
73 83
74 /// Creates a text edit transaction for the given element if it is able 84 /// Creates a text edit transaction for the given element if it is able
75 /// to be edited, returns null otherwise. 85 /// to be edited, returns null otherwise.
76 /// 86 ///
77 /// The transaction contains the entire text of the source file where the 87 /// The transaction contains the entire text of the source file where the
78 /// element originated. If the element was from a library part then the 88 /// element originated. If the element was from a library part then the
79 /// source file is the part file rather than the library. 89 /// source file is the part file rather than the library.
80 TextEditTransaction createTextEditTransaction(Element element); 90 TextEditTransaction createTextEditTransaction(Element element);
81 } 91 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698