From d7c5ad7d6263fd1baf9bfdbaa4c50b70ef2fbdb2 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 8 Jun 2010 08:22:05 +0200 Subject: reverted folder structure change for better mergeing with upstream --- .../mozilla/javascript/xmlimpl/XMLObjectImpl.java | 812 --------------------- 1 file changed, 812 deletions(-) delete mode 100644 infrastructure/rhino1_7R1/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLObjectImpl.java (limited to 'infrastructure/rhino1_7R1/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLObjectImpl.java') diff --git a/infrastructure/rhino1_7R1/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLObjectImpl.java b/infrastructure/rhino1_7R1/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLObjectImpl.java deleted file mode 100644 index db918f8..0000000 --- a/infrastructure/rhino1_7R1/xmlimplsrc/org/mozilla/javascript/xmlimpl/XMLObjectImpl.java +++ /dev/null @@ -1,812 +0,0 @@ -/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is Rhino code, released - * May 6, 1999. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1997-2000 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Igor Bukanov - * Ethan Hugg - * Terry Lucas - * Milen Nankov - * David P. Caldwell - * - * Alternatively, the contents of this file may be used under the terms of - * the GNU General Public License Version 2 or later (the "GPL"), in which - * case the provisions of the GPL are applicable instead of those above. If - * you wish to allow use of your version of this file only under the terms of - * the GPL and not to allow others to use your version of this file under the - * MPL, indicate your decision by deleting the provisions above and replacing - * them with the notice and other provisions required by the GPL. If you do - * not delete the provisions above, a recipient may use your version of this - * file under either the MPL or the GPL. - * - * ***** END LICENSE BLOCK ***** */ - -package org.mozilla.javascript.xmlimpl; - -import org.mozilla.javascript.*; -import org.mozilla.javascript.xml.*; - -/** - * This abstract class describes what all XML objects (XML, XMLList) should - * have in common. - * - * @see XML - */ -abstract class XMLObjectImpl extends XMLObject { - private static final Object XMLOBJECT_TAG = new Object(); - private XMLLibImpl lib; - private boolean prototypeFlag; - - protected XMLObjectImpl(XMLLibImpl lib, Scriptable scope, - XMLObject prototype) - { - initialize(lib, scope, prototype); - } - - final void initialize(XMLLibImpl lib, Scriptable scope, - XMLObject prototype) - { - setParentScope(scope); - setPrototype(prototype); - prototypeFlag = (prototype == null); - this.lib = lib; - } - - final boolean isPrototype() { - return prototypeFlag; - } - - XMLLibImpl getLib() { - return lib; - } - - final XML newXML(XmlNode node) { - return lib.newXML(node); - } - - XML xmlFromNode(XmlNode node) { - if (node.getXml() == null) { - node.setXml( newXML(node) ); - } - return node.getXml(); - } - - final XMLList newXMLList() { - return lib.newXMLList(); - } - - final XMLList newXMLListFrom(Object o) { - return lib.newXMLListFrom(o); - } - - final XmlProcessor getProcessor() { - return lib.getProcessor(); - } - - final QName newQName(String uri, String localName, String prefix) { - return lib.newQName(uri, localName, prefix); - } - - final QName newQName(XmlNode.QName name) { - return lib.newQName(name); - } - - final Namespace createNamespace(XmlNode.Namespace declaration) { - if (declaration == null) return null; - return lib.createNamespaces( new XmlNode.Namespace[] { declaration } )[0]; - } - - final Namespace[] createNamespaces(XmlNode.Namespace[] declarations) { - return lib.createNamespaces(declarations); - } - - // - // Scriptable - // - - public final Object get(String name, Scriptable start) { - return super.get(name, start); - } - - public final boolean has(String name, Scriptable start) { - return super.has(name, start); - } - - public final void put(String name, Scriptable start, Object value) { - super.put(name, start, value); - } - - public final void delete(String name) { - // TODO I am not sure about this, but this is how I found it. DPC - throw new IllegalArgumentException("String: [" + name + "]"); - } - - public final Scriptable getPrototype() { - return super.getPrototype(); - } - - public final void setPrototype(Scriptable prototype) { - super.setPrototype(prototype); - } - - public final Scriptable getParentScope() { - return super.getParentScope(); - } - - public final void setParentScope(Scriptable parent) { - super.setParentScope(parent); - } - - public final Object getDefaultValue(Class hint) { - return this.toString(); - } - - public final boolean hasInstance(Scriptable scriptable) { - return super.hasInstance(scriptable); - } - - /** - * ecmaHas(cx, id) calls this after resolving when id to XMLName - * and checking it is not Uint32 index. - */ - abstract boolean hasXMLProperty(XMLName name); - - /** - * ecmaGet(cx, id) calls this after resolving when id to XMLName - * and checking it is not Uint32 index. - */ - abstract Object getXMLProperty(XMLName name); - - /** - * ecmaPut(cx, id, value) calls this after resolving when id to XMLName - * and checking it is not Uint32 index. - */ - abstract void putXMLProperty(XMLName name, Object value); - - /** - * ecmaDelete(cx, id) calls this after resolving when id to XMLName - * and checking it is not Uint32 index. - */ - abstract void deleteXMLProperty(XMLName name); - - /** - * Test XML equality with target the target. - */ - abstract boolean equivalentXml(Object target); - - abstract void addMatches(XMLList rv, XMLName name); - - private XMLList getMatches(XMLName name) { - XMLList rv = newXMLList(); - addMatches(rv, name); - return rv; - } - - abstract XML getXML(); - - // Methods from section 12.4.4 in the spec - abstract XMLList child(int index); - abstract XMLList child(XMLName xmlName); - abstract XMLList children(); - abstract XMLList comments(); - abstract boolean contains(Object xml); - abstract XMLObjectImpl copy(); - abstract XMLList elements(XMLName xmlName); - abstract boolean hasOwnProperty(XMLName xmlName); - abstract boolean hasComplexContent(); - abstract boolean hasSimpleContent(); - abstract int length(); - abstract void normalize(); - abstract Object parent(); - abstract XMLList processingInstructions(XMLName xmlName); - abstract boolean propertyIsEnumerable(Object member); - abstract XMLList text(); - public abstract String toString(); - abstract String toXMLString(); - abstract Object valueOf(); - - protected abstract Object jsConstructor(Context cx, boolean inNewExpr, Object[] args); - - final Object getMethod(String id) { - return super.get(id, this); - } - - // - // - // Methods overriding ScriptableObject - // - // - - /** - * XMLObject always compare with any value and equivalentValues - * never returns {@link Scriptable#NOT_FOUND} for them but rather - * calls equivalentXml(value) and wrap the result as Boolean. - */ - protected final Object equivalentValues(Object value) { - boolean result = equivalentXml(value); - return result ? Boolean.TRUE : Boolean.FALSE; - } - - // - // - // Methods overriding XMLObject - // - // - - /** - * Implementation of ECMAScript [[Has]] - */ - public final boolean ecmaHas(Context cx, Object id) { - if (cx == null) cx = Context.getCurrentContext(); - XMLName xmlName = lib.toXMLNameOrIndex(cx, id); - if (xmlName == null) { - long index = ScriptRuntime.lastUint32Result(cx); - // XXX Fix this cast - return has((int)index, this); - } - return hasXMLProperty(xmlName); - } - - /** - * Implementation of ECMAScript [[Get]] - */ - public final Object ecmaGet(Context cx, Object id) { - if (cx == null) cx = Context.getCurrentContext(); - XMLName xmlName = lib.toXMLNameOrIndex(cx, id); - if (xmlName == null) { - long index = ScriptRuntime.lastUint32Result(cx); - // XXX Fix this cast - Object result = get((int)index, this); - if (result == Scriptable.NOT_FOUND) { - result = Undefined.instance; - } - return result; - } - return getXMLProperty(xmlName); - } - - /** - * Implementation of ECMAScript [[Put]] - */ - public final void ecmaPut(Context cx, Object id, Object value) { - if (cx == null) cx = Context.getCurrentContext(); - XMLName xmlName = lib.toXMLNameOrIndex(cx, id); - if (xmlName == null) { - long index = ScriptRuntime.lastUint32Result(cx); - // XXX Fix this cast - put((int)index, this, value); - return; - } - putXMLProperty(xmlName, value); - } - - /** - * Implementation of ECMAScript [[Delete]]. - */ - public final boolean ecmaDelete(Context cx, Object id) { - if (cx == null) cx = Context.getCurrentContext(); - XMLName xmlName = lib.toXMLNameOrIndex(cx, id); - if (xmlName == null) { - long index = ScriptRuntime.lastUint32Result(cx); - // XXX Fix this - delete((int)index); - return true; - } - deleteXMLProperty(xmlName); - return true; - } - - // TODO Can this be made more strongly typed? - public Ref memberRef(Context cx, Object elem, int memberTypeFlags) { - boolean attribute = (memberTypeFlags & Node.ATTRIBUTE_FLAG) != 0; - boolean descendants = (memberTypeFlags & Node.DESCENDANTS_FLAG) != 0; - if (!attribute && !descendants) { - // Code generation would use ecma(Get|Has|Delete|Set) for - // normal name identifiers so one ATTRIBUTE_FLAG - // or DESCENDANTS_FLAG has to be set - throw Kit.codeBug(); - } - XmlNode.QName qname = lib.toNodeQName(cx, elem, attribute); - XMLName rv = XMLName.create(qname, attribute, descendants); - rv.initXMLObject(this); - return rv; - } - - /** - * Generic reference to implement x::ns, x.@ns::y, x..@ns::y etc. - */ - public Ref memberRef(Context cx, Object namespace, Object elem, int memberTypeFlags) { - boolean attribute = (memberTypeFlags & Node.ATTRIBUTE_FLAG) != 0; - boolean descendants = (memberTypeFlags & Node.DESCENDANTS_FLAG) != 0; - XMLName rv = XMLName.create(lib.toNodeQName(cx, namespace, elem), attribute, descendants); - rv.initXMLObject(this); - return rv; - } - - public NativeWith enterWith(Scriptable scope) { - return new XMLWithScope(lib, scope, this); - } - - public NativeWith enterDotQuery(Scriptable scope) { - XMLWithScope xws = new XMLWithScope(lib, scope, this); - xws.initAsDotQuery(); - return xws; - } - - public final Object addValues(Context cx, boolean thisIsLeft, - Object value) { - if (value instanceof XMLObject) { - XMLObject v1, v2; - if (thisIsLeft) { - v1 = this; - v2 = (XMLObject)value; - } else { - v1 = (XMLObject)value; - v2 = this; - } - return lib.addXMLObjects(cx, v1, v2); - } - if (value == Undefined.instance) { - // both "xml + undefined" and "undefined + xml" gives String(xml) - return ScriptRuntime.toString(this); - } - - return super.addValues(cx, thisIsLeft, value); - } - - // - // - // IdScriptableObject machinery - // - // - - final void exportAsJSClass(boolean sealed) { - prototypeFlag = true; - exportAsJSClass(MAX_PROTOTYPE_ID, getParentScope(), sealed); - } - -// #string_id_map# - private final static int - Id_constructor = 1, - - Id_addNamespace = 2, - Id_appendChild = 3, - Id_attribute = 4, - Id_attributes = 5, - Id_child = 6, - Id_childIndex = 7, - Id_children = 8, - Id_comments = 9, - Id_contains = 10, - Id_copy = 11, - Id_descendants = 12, - Id_elements = 13, - Id_inScopeNamespaces = 14, - Id_insertChildAfter = 15, - Id_insertChildBefore = 16, - Id_hasOwnProperty = 17, - Id_hasComplexContent = 18, - Id_hasSimpleContent = 19, - Id_length = 20, - Id_localName = 21, - Id_name = 22, - Id_namespace = 23, - Id_namespaceDeclarations = 24, - Id_nodeKind = 25, - Id_normalize = 26, - Id_parent = 27, - Id_prependChild = 28, - Id_processingInstructions = 29, - Id_propertyIsEnumerable = 30, - Id_removeNamespace = 31, - Id_replace = 32, - Id_setChildren = 33, - Id_setLocalName = 34, - Id_setName = 35, - Id_setNamespace = 36, - Id_text = 37, - Id_toString = 38, - Id_toXMLString = 39, - Id_valueOf = 40, - - MAX_PROTOTYPE_ID = 40; - - protected int findPrototypeId(String s) { - int id; -// #generated# Last update: 2007-08-20 09:04:06 EDT - L0: { id = 0; String X = null; int c; - L: switch (s.length()) { - case 4: c=s.charAt(0); - if (c=='c') { X="copy";id=Id_copy; } - else if (c=='n') { X="name";id=Id_name; } - else if (c=='t') { X="text";id=Id_text; } - break L; - case 5: X="child";id=Id_child; break L; - case 6: c=s.charAt(0); - if (c=='l') { X="length";id=Id_length; } - else if (c=='p') { X="parent";id=Id_parent; } - break L; - case 7: c=s.charAt(0); - if (c=='r') { X="replace";id=Id_replace; } - else if (c=='s') { X="setName";id=Id_setName; } - else if (c=='v') { X="valueOf";id=Id_valueOf; } - break L; - case 8: switch (s.charAt(2)) { - case 'S': X="toString";id=Id_toString; break L; - case 'd': X="nodeKind";id=Id_nodeKind; break L; - case 'e': X="elements";id=Id_elements; break L; - case 'i': X="children";id=Id_children; break L; - case 'm': X="comments";id=Id_comments; break L; - case 'n': X="contains";id=Id_contains; break L; - } break L; - case 9: switch (s.charAt(2)) { - case 'c': X="localName";id=Id_localName; break L; - case 'm': X="namespace";id=Id_namespace; break L; - case 'r': X="normalize";id=Id_normalize; break L; - case 't': X="attribute";id=Id_attribute; break L; - } break L; - case 10: c=s.charAt(0); - if (c=='a') { X="attributes";id=Id_attributes; } - else if (c=='c') { X="childIndex";id=Id_childIndex; } - break L; - case 11: switch (s.charAt(0)) { - case 'a': X="appendChild";id=Id_appendChild; break L; - case 'c': X="constructor";id=Id_constructor; break L; - case 'd': X="descendants";id=Id_descendants; break L; - case 's': X="setChildren";id=Id_setChildren; break L; - case 't': X="toXMLString";id=Id_toXMLString; break L; - } break L; - case 12: c=s.charAt(0); - if (c=='a') { X="addNamespace";id=Id_addNamespace; } - else if (c=='p') { X="prependChild";id=Id_prependChild; } - else if (c=='s') { - c=s.charAt(3); - if (c=='L') { X="setLocalName";id=Id_setLocalName; } - else if (c=='N') { X="setNamespace";id=Id_setNamespace; } - } - break L; - case 14: X="hasOwnProperty";id=Id_hasOwnProperty; break L; - case 15: X="removeNamespace";id=Id_removeNamespace; break L; - case 16: c=s.charAt(0); - if (c=='h') { X="hasSimpleContent";id=Id_hasSimpleContent; } - else if (c=='i') { X="insertChildAfter";id=Id_insertChildAfter; } - break L; - case 17: c=s.charAt(3); - if (c=='C') { X="hasComplexContent";id=Id_hasComplexContent; } - else if (c=='c') { X="inScopeNamespaces";id=Id_inScopeNamespaces; } - else if (c=='e') { X="insertChildBefore";id=Id_insertChildBefore; } - break L; - case 20: X="propertyIsEnumerable";id=Id_propertyIsEnumerable; break L; - case 21: X="namespaceDeclarations";id=Id_namespaceDeclarations; break L; - case 22: X="processingInstructions";id=Id_processingInstructions; break L; - } - if (X!=null && X!=s && !X.equals(s)) id = 0; - break L0; - } -// #/generated# - return id; - } -// #/string_id_map# - - protected void initPrototypeId(int id) { - String s; - int arity; - switch (id) { - case Id_constructor: { - IdFunctionObject ctor; - if (this instanceof XML) { - ctor = new XMLCtor((XML)this, XMLOBJECT_TAG, id, 1); - } else { - ctor = new IdFunctionObject(this, XMLOBJECT_TAG, id, 1); - } - initPrototypeConstructor(ctor); - return; - } - - case Id_addNamespace: arity=1; s="addNamespace"; break; - case Id_appendChild: arity=1; s="appendChild"; break; - case Id_attribute: arity=1; s="attribute"; break; - case Id_attributes: arity=0; s="attributes"; break; - case Id_child: arity=1; s="child"; break; - case Id_childIndex: arity=0; s="childIndex"; break; - case Id_children: arity=0; s="children"; break; - case Id_comments: arity=0; s="comments"; break; - case Id_contains: arity=1; s="contains"; break; - case Id_copy: arity=0; s="copy"; break; - case Id_descendants: arity=1; s="descendants"; break; - case Id_elements: arity=1; s="elements"; break; - case Id_hasComplexContent: arity=0; s="hasComplexContent"; break; - case Id_hasOwnProperty: arity=1; s="hasOwnProperty"; break; - case Id_hasSimpleContent: arity=0; s="hasSimpleContent"; break; - case Id_inScopeNamespaces: arity=0; s="inScopeNamespaces"; break; - case Id_insertChildAfter: arity=2; s="insertChildAfter"; break; - case Id_insertChildBefore: arity=2; s="insertChildBefore"; break; - case Id_length: arity=0; s="length"; break; - case Id_localName: arity=0; s="localName"; break; - case Id_name: arity=0; s="name"; break; - case Id_namespace: arity=1; s="namespace"; break; - case Id_namespaceDeclarations: - arity=0; s="namespaceDeclarations"; break; - case Id_nodeKind: arity=0; s="nodeKind"; break; - case Id_normalize: arity=0; s="normalize"; break; - case Id_parent: arity=0; s="parent"; break; - case Id_prependChild: arity=1; s="prependChild"; break; - case Id_processingInstructions: - arity=1; s="processingInstructions"; break; - case Id_propertyIsEnumerable: - arity=1; s="propertyIsEnumerable"; break; - case Id_removeNamespace: arity=1; s="removeNamespace"; break; - case Id_replace: arity=2; s="replace"; break; - case Id_setChildren: arity=1; s="setChildren"; break; - case Id_setLocalName: arity=1; s="setLocalName"; break; - case Id_setName: arity=1; s="setName"; break; - case Id_setNamespace: arity=1; s="setNamespace"; break; - case Id_text: arity=0; s="text"; break; - case Id_toString: arity=0; s="toString"; break; - case Id_toXMLString: arity=1; s="toXMLString"; break; - case Id_valueOf: arity=0; s="valueOf"; break; - - default: throw new IllegalArgumentException(String.valueOf(id)); - } - initPrototypeMethod(XMLOBJECT_TAG, id, s, arity); - } - - private Object[] toObjectArray(Object[] typed) { - Object[] rv = new Object[typed.length]; - for (int i=0; i 0) ? ScriptRuntime.toString(args[0]) : null; - Namespace rv = xml.namespace(prefix); - if (rv == null) { - return Undefined.instance; - } else { - return rv; - } - } - case Id_namespaceDeclarations: { - if (xml == null) xmlMethodNotFound(realThis, "namespaceDeclarations"); - Namespace[] array = xml.namespaceDeclarations(); - return cx.newArray(scope, toObjectArray(array)); - } - case Id_nodeKind: { - if (xml == null) xmlMethodNotFound(realThis, "nodeKind"); - return xml.nodeKind(); - } - case Id_prependChild: { - if (xml == null) xmlMethodNotFound(realThis, "prependChild"); - return xml.prependChild(arg(args, 0)); - } - case Id_removeNamespace: { - if (xml == null) xmlMethodNotFound(realThis, "removeNamespace"); - Namespace ns = lib.castToNamespace(cx, arg(args, 0)); - return xml.removeNamespace(ns); - } - case Id_replace: { - if (xml == null) xmlMethodNotFound(realThis, "replace"); - XMLName xmlName = lib.toXMLNameOrIndex(cx, arg(args, 0)); - Object arg1 = arg(args, 1); - if (xmlName == null) { - // I refuse to believe that this number will exceed 2^31 - int index = (int)ScriptRuntime.lastUint32Result(cx); - return xml.replace(index, arg1); - } else { - return xml.replace(xmlName, arg1); - } - } - case Id_setChildren: { - if (xml == null) xmlMethodNotFound(realThis, "setChildren"); - return xml.setChildren(arg(args, 0)); - } - case Id_setLocalName: { - if (xml == null) xmlMethodNotFound(realThis, "setLocalName"); - String localName; - Object arg = arg(args, 0); - if (arg instanceof QName) { - localName = ((QName)arg).localName(); - } else { - localName = ScriptRuntime.toString(arg); - } - xml.setLocalName(localName); - return Undefined.instance; - } - case Id_setName: { - if (xml == null) xmlMethodNotFound(realThis, "setName"); - Object arg = (args.length != 0) ? args[0] : Undefined.instance; - QName qname = lib.constructQName(cx, arg); - xml.setName(qname); - return Undefined.instance; - } - case Id_setNamespace: { - if (xml == null) xmlMethodNotFound(realThis, "setNamespace"); - Namespace ns = lib.castToNamespace(cx, arg(args, 0)); - xml.setNamespace(ns); - return Undefined.instance; - } - - case Id_attribute: { - XMLName xmlName = XMLName.create( lib.toNodeQName(cx, arg(args, 0), true), true, false ); - return realThis.getMatches(xmlName); - } - case Id_attributes: - return realThis.getMatches(XMLName.create(XmlNode.QName.create(null, null), true, false)); - case Id_child: { - XMLName xmlName = lib.toXMLNameOrIndex(cx, arg(args, 0)); - if (xmlName == null) { - // Two billion or so is a fine upper limit, so we cast to int - int index = (int)ScriptRuntime.lastUint32Result(cx); - return realThis.child(index); - } else { - return realThis.child(xmlName); - } - } - case Id_children: - return realThis.children(); - case Id_comments: - return realThis.comments(); - case Id_contains: - return ScriptRuntime.wrapBoolean( - realThis.contains(arg(args, 0))); - case Id_copy: - return realThis.copy(); - case Id_descendants: { - XmlNode.QName qname = (args.length == 0) ? XmlNode.QName.create(null, null) : lib.toNodeQName(cx, args[0], false); - return realThis.getMatches( XMLName.create(qname, false, true) ); - } - case Id_elements: { - XMLName xmlName = (args.length == 0) - ? XMLName.formStar() - : lib.toXMLName(cx, args[0]); - return realThis.elements(xmlName); - } - case Id_hasOwnProperty: { - XMLName xmlName = lib.toXMLName(cx, arg(args, 0)); - return ScriptRuntime.wrapBoolean( - realThis.hasOwnProperty(xmlName)); - } - case Id_hasComplexContent: - return ScriptRuntime.wrapBoolean(realThis.hasComplexContent()); - case Id_hasSimpleContent: - return ScriptRuntime.wrapBoolean(realThis.hasSimpleContent()); - case Id_length: - return ScriptRuntime.wrapInt(realThis.length()); - case Id_normalize: - realThis.normalize(); - return Undefined.instance; - case Id_parent: - return realThis.parent(); - case Id_processingInstructions: { - XMLName xmlName = (args.length > 0) - ? lib.toXMLName(cx, args[0]) - : XMLName.formStar(); - return realThis.processingInstructions(xmlName); - } - case Id_propertyIsEnumerable: { - return ScriptRuntime.wrapBoolean( - realThis.propertyIsEnumerable(arg(args, 0))); - } - case Id_text: - return realThis.text(); - case Id_toString: - return realThis.toString(); - case Id_toXMLString: { - return realThis.toXMLString(); - } - case Id_valueOf: - return realThis.valueOf(); - } - throw new IllegalArgumentException(String.valueOf(id)); - } - - private static Object arg(Object[] args, int i) { - return (i < args.length) ? args[i] : Undefined.instance; - } - - final XML newTextElementXML(XmlNode reference, XmlNode.QName qname, String value) { - return lib.newTextElementXML(reference, qname, value); - } - - /** @deprecated Hopefully this can be replaced with ecmaToXml below. */ - final XML newXMLFromJs(Object inputObject) { - return lib.newXMLFromJs(inputObject); - } - - final XML ecmaToXml(Object object) { - return lib.ecmaToXml(object); - } - - final String ecmaEscapeAttributeValue(String s) { - // TODO Check this - String quoted = lib.escapeAttributeValue(s); - return quoted.substring(1, quoted.length() - 1); - } - - final XML createEmptyXML() { - return newXML(XmlNode.createEmpty(getProcessor())); - } -} -- cgit v1.2.3