package org.scribble.parser.ast; import java.util.LinkedList; import java.util.List; import org.antlr.runtime.tree.CommonTree; import org.scribble.ast.AstFactoryImpl; import org.scribble.ast.RoleArg; import org.scribble.ast.RoleArgList; import org.scribble.parser.ScribParser; import org.scribble.parser.util.ScribParserUtil; import org.scribble.util.ScribParserException; public class AntlrRoleArgList { public static RoleArgList parseRoleArgList(ScribParser parser, CommonTree ct) throws ScribParserException { //List<RoleArg> ris = getRoleInstantiationChildren(ct).stream().map((ri) -> (RoleArg) parser.parse(ri)).collect(Collectors.toList()); List<RoleArg> ris = new LinkedList<>(); for (CommonTree ri : getRoleInstantiationChildren(ct)) { ris.add((RoleArg) parser.parse(ri)); } return AstFactoryImpl.FACTORY.RoleArgList(ct, ris); } public static final List<CommonTree> getRoleInstantiationChildren(CommonTree ct) { return ScribParserUtil.toCommonTreeList(ct.getChildren()); } }