package com.hubspot.jinjava.el.ext; import javax.el.ELException; import de.odysseus.el.tree.impl.Parser.ExtensionHandler; import de.odysseus.el.tree.impl.Parser.ExtensionPoint; import de.odysseus.el.tree.impl.Scanner; import de.odysseus.el.tree.impl.ast.AstIdentifier; import de.odysseus.el.tree.impl.ast.AstNode; public class NamedParameterOperator { public static final Scanner.ExtensionToken TOKEN = new Scanner.ExtensionToken("="); public static final ExtensionHandler HANDLER = new ExtensionHandler(ExtensionPoint.ADD) { @Override public AstNode createAstNode(AstNode... children) { if (!(children[0] instanceof AstIdentifier)) { throw new ELException("Expected IDENTIFIER, found " + children[0].toString()); } AstIdentifier name = (AstIdentifier) children[0]; return new AstNamedParameter(name, children[1]); } }; }