blob: 6c3db0db0cc1b30e1103000ffb92a1221f6e2f8c [file] [log] [blame]
// 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;
/**
* Representation of a Dart type name.
*/
public class DartTypeNode extends DartNode {
private DartNode identifier;
private NodeList<DartTypeNode> typeArguments = NodeList.create(this);
public DartTypeNode(DartNode identifier) {
this(identifier, null);
}
public DartTypeNode(DartNode identifier, List<DartTypeNode> typeArguments) {
this.identifier = becomeParentOf(identifier);
this.typeArguments.addAll(typeArguments);
}
public DartNode getIdentifier() {
return identifier;
}
public List<DartTypeNode> getTypeArguments() {
return typeArguments;
}
@Override
public void visitChildren(ASTVisitor<?> visitor) {
safelyVisitChild(identifier, visitor);
typeArguments.accept(visitor);
}
@Override
public <R> R accept(ASTVisitor<R> visitor) {
return visitor.visitTypeNode(this);
}
}