package org.scribble.ast; import org.antlr.runtime.tree.CommonTree; import org.scribble.del.ScribDel; import org.scribble.sesstype.name.Role; public class NonRoleArg extends DoArg<NonRoleArgNode> { public NonRoleArg(CommonTree source, NonRoleArgNode arg) { super(source, arg); } @Override protected ScribNodeBase copy() { return new NonRoleArg(this.source, getVal()); } @Override public NonRoleArg clone() { NonRoleArgNode arg = (NonRoleArgNode) getVal().clone(); return AstFactoryImpl.FACTORY.NonRoleArg(this.source, arg); } @Override public NonRoleArg reconstruct(NonRoleArgNode arg) { ScribDel del = del(); NonRoleArg ai = new NonRoleArg(this.source, arg); ai = (NonRoleArg) ai.del(del); return ai; } @Override public NonRoleArgNode getVal() { return (NonRoleArgNode) super.getVal(); } @Override public NonRoleArg project(Role self) { return AstFactoryImpl.FACTORY.NonRoleArg(this.source, getVal()); // arg needs projection? } }