Index: pkg/compiler/lib/src/common_elements.dart |
diff --git a/pkg/compiler/lib/src/common_elements.dart b/pkg/compiler/lib/src/common_elements.dart |
index ddc0761bea70e7acaf2ae7902ae57f6fb9d67717..3a5d5d3d4f54db4d1ee39a9a61482ff90aecd5ac 100644 |
--- a/pkg/compiler/lib/src/common_elements.dart |
+++ b/pkg/compiler/lib/src/common_elements.dart |
@@ -211,6 +211,9 @@ abstract class CommonElements { |
/// |
/// The _env makes private and injected members directly available and |
/// should therefore not be used to determine scopes. |
+// TODO(johnniwinther): Split this into an element environment and a type query |
+// interface, the first should only be used during resolution and the latter in |
+// both resolution and codegen. |
abstract class ElementEnvironment { |
/// Returns the main library for the compilation. |
LibraryEntity get mainLibrary; |
@@ -295,6 +298,15 @@ abstract class ElementEnvironment { |
/// Returns the type if [function]. |
FunctionType getFunctionType(FunctionEntity function); |
+ /// Returns the type of the [local] function. |
+ FunctionType getLocalFunctionType(Local local); |
+ |
+ /// Returns the unaliased type of [type]. |
+ /// |
+ /// Use this during resolution to ensure that the alias has been computed. |
+ // TODO(johnniwinther): Remove this when the resolver is removed. |
+ DartType getUnaliasedType(DartType type); |
+ |
/// Returns the [CallStructure] corresponding to calling [entity] with all |
/// arguments, both required and optional. |
CallStructure getCallStructure(FunctionEntity entity); |