| 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);
|
| + }
|
| +}
|
|
|