package org.scribble.ast; import org.antlr.runtime.tree.CommonTree; import org.scribble.ast.name.simple.RecVarNode; import org.scribble.main.ScribbleException; import org.scribble.sesstype.kind.ProtocolKind; import org.scribble.visit.AstVisitor; public abstract class Continue<K extends ProtocolKind> extends SimpleInteractionNode<K> { public final RecVarNode recvar; protected Continue(CommonTree source, RecVarNode recvar) { super(source); this.recvar = recvar; } public abstract Continue<K> reconstruct(RecVarNode recvar); @Override public Continue<K> visitChildren(AstVisitor nv) throws ScribbleException { RecVarNode recvar = (RecVarNode) visitChild(this.recvar, nv); return reconstruct(recvar); } @Override public String toString() { return Constants.CONTINUE_KW + " " + this.recvar + ";"; } }