Index: pkg/compiler/lib/src/elements/elements.dart |
diff --git a/pkg/compiler/lib/src/elements/elements.dart b/pkg/compiler/lib/src/elements/elements.dart |
index 0216f562bad7ca5d9890368b7f1163ed73076d8d..ad854f514e0ee5b05d09aa013487b3c144c4671a 100644 |
--- a/pkg/compiler/lib/src/elements/elements.dart |
+++ b/pkg/compiler/lib/src/elements/elements.dart |
@@ -1686,6 +1686,10 @@ abstract class ResolvedAst { |
/// The [TreeElements] containing the resolution data for [node]. This only |
/// available of [kind] is `ResolvedAstKind.PARSED`. |
TreeElements get elements; |
+ |
+ /// Returns the uri for the source file defining [node] and [body]. This |
+ /// only available if [kind] is `ResolvedAstKind.PARSED`. |
+ Uri get sourceUri; |
} |
/// [ResolvedAst] implementation used for elements whose semantics is defined in |
@@ -1695,8 +1699,10 @@ class ParsedResolvedAst implements ResolvedAst { |
final Node node; |
final Node body; |
final TreeElements elements; |
+ final Uri sourceUri; |
- ParsedResolvedAst(this.element, this.node, this.body, this.elements); |
+ ParsedResolvedAst( |
+ this.element, this.node, this.body, this.elements, this.sourceUri); |
ResolvedAstKind get kind => ResolvedAstKind.PARSED; |
@@ -1726,6 +1732,11 @@ class SynthesizedResolvedAst implements ResolvedAst { |
throw new UnsupportedError('$this does not have a body AST node'); |
} |
+ @override |
+ Uri get sourceUri { |
+ throw new UnsupportedError('$this does not have a source URI'); |
+ } |
+ |
String toString() => '$kind:$element'; |
} |