This class builds instance of Tree
that represent XML.
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!
1.0
This trait ...
This trait ...
1.0
Performs the following context-free rewritings:
Performs the following context-free rewritings:
-
Places all pattern variables in Bind nodes. In a pattern, for
identifiers x
:
x => x @ _ x:T => x @ (_ : T)
val x = e ==> val x = e val x: T = e ==> val x: T = e
if there are no variables in pattern
val p = e ==> e match (case p => ())
if there is exactly one variable in pattern
val x_1 = e match (case p => (x_1))
if there is more than one variable in pattern
val p = e ==> private synthetic val t$ = e match (case p => (x_1, ..., x_N)) val x_1 = t$._1 ... val x_N = t$._N
- Removes function types as follows:
(argtpes) => restpe ==> scala.Function_n[argtpes, restpe]
- Wraps naked case definitions in a match as follows:
{ cases } ==> (x => x.match {cases}), except when already argument to match
The Utility
object provides utility functions for processing instances
of bound and not bound XML classes, as well as escaping text nodes.