package openmods.calc.parsing; import java.util.List; import openmods.calc.parsing.MappedExprNodeFactory.IBracketExprNodeFactory; public class SquareBracketContainerNode<E> extends BracketContainerNode<E> { public static final String BRACKET_OPEN = "["; public static final String BRACKET_CLOSE = "]"; public SquareBracketContainerNode(List<IExprNode<E>> args) { super(args, BRACKET_OPEN, BRACKET_CLOSE); } public static <E> IBracketExprNodeFactory<E> createNodeFactory() { return new IBracketExprNodeFactory<E>() { @Override public IExprNode<E> create(List<IExprNode<E>> children) { return new SquareBracketContainerNode<E>(children); } }; } public static <E, F extends MappedExprNodeFactory<E>> F install(F nodeFactory) { nodeFactory.addFactory(BRACKET_OPEN, SquareBracketContainerNode.<E> createNodeFactory()); return nodeFactory; } }