class SymbolicXMLBuilder

This class builds instance of Tree that represent XML.

Note from martin: This needs to have its position info reworked. I don't understand exactly what's done here. To make validation pass, I set many positions to be transparent. Not sure this is a good idea for navigating XML trees in the IDE but it's the best I can do right now. If someone who understands this part better wants to give it a shot, please do!

Constructors

SymbolicXMLBuilder ( parser: Parser , preserveWS: Boolean )
SymbolicXMLBuilder ( implicit ctx: Context )

Members

[+] private final object xmlterms
[+] private final object xmltypes
[+] private implicit val ctx : Context
[+] var isPattern : Boolean
[+] private val parser : Parser
[+] private val preserveWS : Boolean
[+] protected def Comment ( txt: Tree ) : Tree
[+] private def LL ( x: [ A ] ) : List [ List [ A ] ]
[+] protected def ProcInstr ( target: Tree , txt: Tree ) : Tree
[+] private def _scala ( name: Name ) : Select
[+] private def _scala_xml ( name: Name ) : Select
[+] private def _scala_xml_Comment : Select
[+] private def _scala_xml_Elem : Select
[+] private def _scala_xml_EntityRef : Select
[+] private def _scala_xml_Group : Select
[+] private def _scala_xml_MetaData : Select
[+] private def _scala_xml_NamespaceBinding : Select
[+] private def _scala_xml_NodeBuffer : Select
[+] private def _scala_xml_Null : Select
[+] private def _scala_xml_PrefixedAttribute : Select
[+] private def _scala_xml_ProcInstr : Select
[+] private def _scala_xml_Text : Select
[+] private def _scala_xml_Unparsed : Select
[+] private def _scala_xml_UnprefixedAttribute : Select
[+] private def _scala_xml__Elem : Select
[+] private def _scala_xml__Text : Select
[+] def charData ( pos: Position , txt: String ) : Tree [ T ]
[+] def comment ( pos: Position , text: String ) : Tree [ T ]
[+] private def const ( x: Any ) : Literal
[+] protected def convertToTextPat ( t: Tree ) : Tree
[+] protected def convertToTextPat ( buf: Seq [ Tree ] ) : List [ Tree ]
[+] def element ( pos: Position , qname: String , attrMap: Map [ String, Tree ] , empty: Boolean , args: Seq [ Tree ] ) : Tree
[+] final def entityRef ( pos: Position , n: String ) : Tree [ T ]
[+] def group ( pos: Position , args: Seq [ Tree ] ) : Tree

Various node constructions.

Various node constructions.

[+] def isEmptyText ( t: Tree ) : Boolean
[+] def isPattern_= ( x$1: Boolean ) : Unit
[+] def makeText1 ( txt: Tree ) : Tree
[+] def makeTextPat ( txt: Tree ) : Apply
[+] def makeXMLpat ( pos: Position , n: String , args: Seq [ Tree ] ) : Tree
[+] def makeXMLseq ( pos: Position , args: Seq [ Tree ] ) : Block [ T ]

could optimize if args.length == 0, args.length == 1 AND args(0) is <: Node.

could optimize if args.length == 0, args.length == 1 AND args(0) is <: Node.

[+] protected def mkXML ( pos: Position , isPattern: Boolean , pre: Tree , label: Tree , attrs: Tree , scope: Tree , empty: Boolean , children: Seq [ Tree ] ) : Tree

Wildly wrong documentation deleted in favor of "self-documenting code."

Wildly wrong documentation deleted in favor of "self-documenting code."

[+] def parseAttribute ( pos: Position , s: String ) : Tree
[+] def procInstr ( pos: Position , target: String , txt: String ) : Tree [ T ]
[+] def splitPrefix ( name: String ) : ( Option [ String ], String )

Returns (Some(prefix) | None, rest) based on position of ':'

Returns (Some(prefix) | None, rest) based on position of ':'

[+] final def text ( pos: Position , txt: String ) : Tree
[+] def unparsed ( pos: Position , str: String ) : Tree
[+] private def wild : Ident
[+] private def wildStar : Ident