package org.scribble.visit.util;
import org.scribble.ast.ScribNode;
import org.scribble.ast.context.ModuleContext;
import org.scribble.main.Job;
import org.scribble.main.ScribbleException;
import org.scribble.sesstype.name.MessageId;
public class MessageIdCollector extends NameCollector<MessageId<?>>
{
public MessageIdCollector(Job job, ModuleContext mcontext)
{
super(job, mcontext);
}
@Override
protected final void offsetSubprotocolEnter(ScribNode parent, ScribNode child) throws ScribbleException
{
super.offsetSubprotocolEnter(parent, child);
child.del().enterMessageIdCollection(parent, child, this);
}
@Override
protected ScribNode offsetSubprotocolLeave(ScribNode parent, ScribNode child, ScribNode visited) throws ScribbleException
{
visited = visited.del().leaveMessageIdCollection(parent, child, this, visited);
return super.offsetSubprotocolLeave(parent, child, visited);
}
}