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

Unified Diff: sdk/lib/_internal/compiler/implementation/elements/elements.dart

Issue 296463003: Handle metadata on nested function parameters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/elements/elements.dart
diff --git a/sdk/lib/_internal/compiler/implementation/elements/elements.dart b/sdk/lib/_internal/compiler/implementation/elements/elements.dart
index 327ccffd392201177d4c729ebfb9a905cfccdd36..1babeb30afdf752ca00edc0fc8443fe5dcf49108 100644
--- a/sdk/lib/_internal/compiler/implementation/elements/elements.dart
+++ b/sdk/lib/_internal/compiler/implementation/elements/elements.dart
@@ -386,7 +386,9 @@ abstract class Element implements Spannable {
void diagnose(Element context, DiagnosticListener listener);
- TreeElements get treeElements;
+ // TODO(johnniwinther): Move this to [AstElement].
+ /// Returns the [Element] that holds the [TreeElements] for this element.
+ AnalyzableElement get analyzableElement;
accept(ElementVisitor visitor);
}
@@ -782,7 +784,8 @@ abstract class CompilationUnitElement extends Element {
int compareTo(CompilationUnitElement other);
}
-abstract class LibraryElement extends Element implements ScopeContainerElement {
+abstract class LibraryElement extends Element
+ implements ScopeContainerElement, AnalyzableElement {
/**
* The canonical uri for this library.
*
@@ -1226,9 +1229,6 @@ abstract class MetadataAnnotation implements Spannable {
Token get beginToken;
Token get endToken;
- // TODO(kasperl): Try to get rid of these.
- void set annotatedElement(Element value);
-
MetadataAnnotation ensureResolved(Compiler compiler);
}
@@ -1244,10 +1244,17 @@ abstract class FunctionTypedElement extends Element {
FunctionSignature get functionSignature;
}
+/// An [Element] that holds a [TreeElements] mapping.
+abstract class AnalyzableElement extends Element {
+ /// Returns the [TreeElements] that hold the resolution information for the
+ /// AST nodes of this element.
+ TreeElements get treeElements;
+}
+
/// An [Element] that (potentially) has a node.
///
/// Synthesized elements may return `null` from [node].
-abstract class AstElement extends Element {
+abstract class AstElement extends AnalyzableElement {
Node get node;
}

Powered by Google App Engine
This is Rietveld 408576698