示例#1
0
 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;
 }
示例#2
0
 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;
 }
示例#3
0
 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;
 }
示例#4
0
 private static Element writeWith(Element parentElement, With with) {
   Element element = parentElement.addElement("with");
   RecordXMLWriter.writeActionBlock(element, with.getWithBlock());
   return element;
 }