package org.scribble.parser.ast.global; import java.util.List; import org.antlr.runtime.tree.CommonTree; import org.scribble.ast.global.GInterrupt; import org.scribble.parser.ScribParser; import org.scribble.parser.util.ScribParserUtil; import org.scribble.util.ScribParserException; public class AntlrGInterrupt { public static final int SOURCE_CHILD_INDEX = 0; public static final int MESSAGE_CHILDREN_START_INDEX = 1; public static GInterrupt parseGInterrupt(ScribParser parser, CommonTree ct) throws ScribParserException { /*RoleNode src = AntlrSimpleName.toRoleNode(getSourceChild(ct)); /*List<MessageNode> msgs = getMessageChildren(ct).stream().map((msg) -> AntlrGMessageTransfer.parseMessage(parser, msg)).collect(Collectors.toList()); * / List<MessageNode> msgs = new LinkedList<>(); for (CommonTree msg : getMessageChildren(ct)) { msgs.add(AntlrGMessageTransfer.parseMessage(parser, msg)); } //return new GInterrupt(src, msgs); // Destination roles set by later pass*/ return null; } public static CommonTree getSourceChild(CommonTree ct) { return (CommonTree) ct.getChild(SOURCE_CHILD_INDEX); } public static List<CommonTree> getMessageChildren(CommonTree ct) { return ScribParserUtil.toCommonTreeList(ct.getChildren().subList(MESSAGE_CHILDREN_START_INDEX, ct.getChildCount())); } }