Index: pkg/compiler/lib/src/common/resolution.dart |
diff --git a/pkg/compiler/lib/src/common/resolution.dart b/pkg/compiler/lib/src/common/resolution.dart |
index ce41703a851c4f15c96cd80ba2af0f2c9b596f2c..9cbca149d70fe0fd00a5b42029fcb2d0d332d339 100644 |
--- a/pkg/compiler/lib/src/common/resolution.dart |
+++ b/pkg/compiler/lib/src/common/resolution.dart |
@@ -212,8 +212,15 @@ abstract class Resolution implements Frontend { |
FunctionSignature resolveSignature(FunctionElement function); |
DartType resolveTypeAnnotation(Element element, TypeAnnotation node); |
+ /// Returns `true` if [element] has been resolved. |
+ // TODO(johnniwinther): Normalize semantics between normal and deserialized |
+ // elements; deserialized elements are always resolved but the method will |
+ // return `false`. |
bool hasBeenResolved(Element element); |
+ /// Resolve [element] if it has not already been resolved. |
+ void ensureResolved(Element element); |
+ |
ResolutionWorkItem createWorkItem( |
Element element, ItemCompilationContext compilationContext); |
@@ -229,6 +236,9 @@ abstract class Resolution implements Frontend { |
/// Returns the precomputed [ResolutionImpact] for [element]. |
ResolutionImpact getResolutionImpact(Element element); |
+ /// Returns the [ResolvedAst] for [element], computing it if necessary. |
+ ResolvedAst computeResolvedAst(Element element); |
+ |
/// Returns the precomputed [WorldImpact] for [element]. |
WorldImpact getWorldImpact(Element element); |