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