private static Element writeTry(Element parentElement, Try tryAction) { Element element = parentElement.addElement("try"); if (tryAction.catchInRegister()) { element.addAttribute("catchregister", Short.toString(tryAction.getCatchRegister())); } else { element.addAttribute("catchvariable", tryAction.getCatchVariable()); } RecordXMLWriter.writeActionBlock(element.addElement("try"), tryAction.getTryBlock()); if (tryAction.hasCatchBlock()) { RecordXMLWriter.writeActionBlock(element.addElement("catch"), tryAction.getCatchBlock()); } if (tryAction.hasFinallyBlock()) { RecordXMLWriter.writeActionBlock(element.addElement("finally"), tryAction.getFinallyBlock()); } return element; }
private static Element writeDefineFunction(Element parentElement, DefineFunction defineFunction) { Element element = parentElement.addElement("definefunction"); element.addAttribute("name", defineFunction.getName()); String[] parameters = defineFunction.getParameters(); Element parametersElement = element.addElement("parameters"); for (int i = 0; i < parameters.length; i++) { parametersElement.addElement("parameter").addAttribute("name", parameters[i]); } RecordXMLWriter.writeActionBlock(element, defineFunction.getBody()); return element; }
private static Element writeDefineFunction2( Element parentElement, DefineFunction2 defineFunction2) { Element element = parentElement.addElement("definefunction2"); element.addAttribute("name", defineFunction2.getName()); element.addAttribute("registercount", Short.toString(defineFunction2.getRegisterCount())); RegisterParam[] parameters = defineFunction2.getParameters(); Element parametersElement = element.addElement("parameters"); for (int i = 0; i < parameters.length; i++) { RegisterParam parameter = parameters[i]; Element paramElement = parametersElement.addElement("registerparam"); paramElement.addAttribute("name", parameter.getParamName()); paramElement.addAttribute("register", Short.toString(parameter.getRegister())); } Element preloadElement = element.addElement("preload"); if (defineFunction2.preloadsArguments()) { preloadElement.addAttribute("arguments", "true"); } if (defineFunction2.preloadsGlobal()) { preloadElement.addAttribute("global", "true"); } if (defineFunction2.preloadsParent()) { preloadElement.addAttribute("parent", "true"); } if (defineFunction2.preloadsRoot()) { preloadElement.addAttribute("root", "true"); } if (defineFunction2.preloadsSuper()) { preloadElement.addAttribute("super", "true"); } if (defineFunction2.preloadsThis()) { preloadElement.addAttribute("this", "true"); } Element suppressElement = element.addElement("suppress"); if (defineFunction2.suppressesArguments()) { suppressElement.addAttribute("arguments", "true"); } if (defineFunction2.suppressesSuper()) { suppressElement.addAttribute("super", "true"); } if (defineFunction2.suppressesThis()) { suppressElement.addAttribute("this", "true"); } RecordXMLWriter.writeActionBlock(element, defineFunction2.getBody()); return element; }
private static Element writeWith(Element parentElement, With with) { Element element = parentElement.addElement("with"); RecordXMLWriter.writeActionBlock(element, with.getWithBlock()); return element; }