Chromium Code Reviews| 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<DartMetadata> metadata = NodeList.create(this); |
|
scheglov
2012/08/17 17:37:03
Spec: "Metadata consists of series of annotations
Brian Wilkerson
2012/08/17 18:28:02
Done
|
| + |
| + protected DartNodeWithMetadata() { |
| + super(); |
| + } |
| + |
| + public NodeList<DartMetadata> getMetadata() { |
| + return metadata; |
| + } |
| + |
| + public void setMetadata(List<DartMetadata> metadata) { |
| + this.metadata.addAll(metadata); |
| + } |
| + |
| + @Override |
| + public void visitChildren(ASTVisitor<?> visitor) { |
| + metadata.accept(visitor); |
| + } |
| +} |