package org.jtwig.model.tree; import org.jtwig.model.expression.VariableExpression; import org.jtwig.model.position.Position; import java.util.ArrayList; import java.util.List; public class MacroNode extends ContentNode { public static MacroNode create (Position position, VariableExpression macroName, List<VariableExpression> macroArgumentExpressions, Node content) { List<String> macroArgumentNames = new ArrayList<>(); for (VariableExpression variableExpression : macroArgumentExpressions) { macroArgumentNames.add(variableExpression.getIdentifier()); } return new MacroNode(position, macroName, macroArgumentNames, content); } private final VariableExpression macroName; private final List<String> macroArgumentNames; public MacroNode(Position position, VariableExpression macroName, List<String> macroArgumentNames, Node content) { super(position, content); this.macroName = macroName; this.macroArgumentNames = macroArgumentNames; } public VariableExpression getMacroName() { return macroName; } public List<String> getMacroArgumentNames() { return macroArgumentNames; } }