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

Unified Diff: compiler/java/com/google/dart/compiler/ast/DartNodeWithMetadata.java

Issue 10860012: Add support for metadata annotation syntax (issue 4056) (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 4 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: compiler/java/com/google/dart/compiler/ast/DartNodeWithMetadata.java
===================================================================
--- compiler/java/com/google/dart/compiler/ast/DartNodeWithMetadata.java (revision 0)
+++ compiler/java/com/google/dart/compiler/ast/DartNodeWithMetadata.java (revision 0)
@@ -0,0 +1,32 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package com.google.dart.compiler.ast;
+
+import java.util.List;
+
+/**
+ * The abstract class {@code DartNodeWithMetadata} defines the behavior of nodes that can have
+ * metadata associated with them.
+ */
+public abstract class DartNodeWithMetadata extends DartNode {
+ private NodeList<DartAnnotation> metadata = NodeList.create(this);
+
+ protected DartNodeWithMetadata() {
+ super();
+ }
+
+ public NodeList<DartAnnotation> getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(List<DartAnnotation> metadata) {
+ this.metadata.addAll(metadata);
+ }
+
+ @Override
+ public void visitChildren(ASTVisitor<?> visitor) {
+ metadata.accept(visitor);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698