Packages

c

scala.tools.nsc.ast.parser

SymbolicXMLBuilder

abstract class SymbolicXMLBuilder extends AnyRef

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!

Source
SymbolicXMLBuilder.scala
Version

1.0

Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SymbolicXMLBuilder
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SymbolicXMLBuilder(p: Parser, preserveWS: Boolean)

Type Members

  1. case class TextAttache(pos: Global.Position, text: String) extends Product with Serializable

    Attachment for trees deriving from text nodes (Text, CData, entities).

    Attachment for trees deriving from text nodes (Text, CData, entities). Used for coalescing.

Abstract Value Members

  1. abstract val global: Global

Concrete Value Members

  1. def charData(pos: Global.Position, txt: String): Global.Tree
  2. def comment(pos: Global.Position, text: String): Global.Tree
  3. def element(pos: Global.Position, qname: String, attrMap: Map[String, Global.Tree], empty: Boolean, args: Seq[Global.Tree]): Global.Tree
  4. final def entityRef(pos: Global.Position, n: String): Global.Tree
  5. def group(pos: Global.Position, args: Seq[Global.Tree]): Global.Tree

    Various node constructions.

  6. def isEmptyText(t: Global.Tree): Boolean
  7. def makeText1(txt: Global.Tree): Global.Tree
  8. def makeTextPat(txt: Global.Tree): Global.Apply
  9. def makeXMLpat(pos: Global.Position, n: String, args: Seq[Global.Tree]): Global.Tree

  10. def makeXMLseq(pos: Global.Position, args: Seq[Global.Tree]): Global.Block

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

  11. def parseAttribute(pos: Global.Position, s: String): Global.Tree
  12. def procInstr(pos: Global.Position, target: String, txt: String): Global.Tree
  13. def splitPrefix(name: String): (Option[String], String)

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

  14. final def text(pos: Global.Position, txt: String): Global.Tree
  15. def unparsed(pos: Global.Position, str: String): Global.Tree