//Generated by lombok.ast.template.TemplateProcessor. DO NOT EDIT, DO NOT CHECK IN!

package lombok.ast;

public class EmptyDeclaration extends lombok.ast.AbstractNode implements lombok.ast.TypeMember, lombok.ast.TypeDeclaration {
	
	public TypeBody upToTypeBody() {
		if (!(this.getParent() instanceof TypeBody)) return null;
		TypeBody out = (TypeBody)this.getParent();
		if (!out.rawMembers().contains(this)) return null;
		return out;
	}
	
	public CompilationUnit upIfTopLevelToCompilationUnit() {
		if (!(this.getParent() instanceof CompilationUnit)) return null;
		CompilationUnit out = (CompilationUnit)this.getParent();
		if (!out.rawTypeDeclarations().contains(this)) return null;
		return out;
	}
	
	
	@java.lang.Override public java.util.List<Node> getChildren() {
		java.util.List<Node> result = new java.util.ArrayList<Node>();
		return result;
	}
	
	@java.lang.Override public boolean replaceChild(Node original, Node replacement) throws lombok.ast.AstException {
		return false;
	}
	
	@java.lang.Override public boolean detach(Node child) {
		return false;
	}
	
	@java.lang.Override public void accept(lombok.ast.AstVisitor visitor) {
		if (visitor.visitEmptyDeclaration(this)) return;
		visitor.afterVisitEmptyDeclaration(this);
		visitor.endVisit(this);
	}
	
	@java.lang.Override public EmptyDeclaration copy() {
		EmptyDeclaration result = new EmptyDeclaration();
		return result;
	}
	
	public java.lang.String getDescription() {
		return lombok.ast.EmptyDeclarationTemplate.getDescription(this);
	}
	
	public boolean isInterface() {
		return lombok.ast.EmptyDeclarationTemplate.isInterface(this);
	}
	
	public Modifiers astModifiers() {
		return lombok.ast.EmptyDeclarationTemplate.astModifiers(this);
	}
	
	public Identifier astName() {
		return lombok.ast.EmptyDeclarationTemplate.astName(this);
	}
	
	public EmptyDeclaration astName(Identifier name) {
		return lombok.ast.EmptyDeclarationTemplate.astName(this, name);
	}
	
	public EmptyDeclaration astModifiers(Modifiers modifiers) {
		return lombok.ast.EmptyDeclarationTemplate.astModifiers(this, modifiers);
	}
	
	public EmptyDeclaration astJavadoc(Comment javadoc) {
		return lombok.ast.EmptyDeclarationTemplate.astJavadoc(this, javadoc);
	}
	
	public EmptyDeclaration rawJavadoc(lombok.ast.Node javadoc) {
		return lombok.ast.EmptyDeclarationTemplate.rawJavadoc(this, javadoc);
	}
	
	public Comment astJavadoc() {
		return lombok.ast.EmptyDeclarationTemplate.astJavadoc(this);
	}
	
	public lombok.ast.Node rawJavadoc() {
		return lombok.ast.EmptyDeclarationTemplate.rawJavadoc(this);
	}
	
	public lombok.ast.TypeBody astBody() {
		return lombok.ast.EmptyDeclarationTemplate.astBody(this);
	}
	
	public lombok.ast.Node rawBody() {
		return lombok.ast.EmptyDeclarationTemplate.rawBody(this);
	}
	
	public Block upToBlock() {
		return lombok.ast.EmptyDeclarationTemplate.upToBlock(this);
	}
	
	public lombok.ast.TypeDeclaration upUpToTypeDeclaration() {
		return lombok.ast.TypeMemberMixin.upUpToTypeDeclaration(this);
	}
	
}
