I just noticed that the changes to XML using XML.conversion broke my app.

I have an optimization where I subclass XML and override toString and 
toXMLString so there’s no need to create, parse and convert many parts of XML 
which don’t need that.

I call it StringXML.

This code:
strArr.push(XML.conversion(this._children[i])._toXMLString(nextIndentLevel, 
declarations.concat(ancestors)));

causes my instance to go through XML.conversion and ends up with this: return 
new XML(xml); where xml is a StringXML.

That obviously does not work.

What is the purpose of calling conversion on an XML node?

That’s caused by 
strArr.push(XML(_children[i])._toXMLString(nextIndentLevel,declarations.concat(ancestors)));

The compiler changes XML to XML.conversion.

I don’t understand why that change was made.

The code originally looked like:

strArr.push(_children[i].toXMLString(nextIndentLevel,ancestors.concat(declarations)));

Greg, any input?

Reply via email to