package net.asfun.jangod.lib.macro; import net.asfun.jangod.lib.Macro; import net.asfun.jangod.parse.ParseException; import net.asfun.jangod.tree.Node; import net.asfun.jangod.tree.TreeRebuilder; public class MacroMacro implements Macro { final String MACRONAME = "macro"; final String ENDMACRONAME = "endmacro"; static final String MACRO_NAME_PREFIX = "'MACRO\"NAME:"; @Override public String getEndMacroName() { return ENDMACRONAME; } @Override public void refactor(Node current, String helpers, TreeRebuilder rebuilder) throws ParseException { // helpers like name arg1=val1,arg2=val2,arg3, String name = "";// TODO resolve from helpers // TODO save param form to rebuilder rebuilder.assignNode(MACRO_NAME_PREFIX + name, current); rebuilder.nodeRemove(current); } @Override public String getName() { return MACRONAME; } }