A descriptor for a matching pair of braces.
A descriptor for a matching pair of braces.
The offset of the opening brace (-1 means missing)
The indentation depth of the line of the opening brace (-1 means missing)
The offset of the closing brace (-1 means missing)
The indentation depth of the line of the closing brace (-1 means missing)
The brace pairs nested in this one
A patch that postulates that a brace needs to be inserted or deleted at a given position.
A patch that postulates that a brace needs to be inserted or deleted at a given position.
The offset where the brace needs to be inserted or deleted
If true, brace needs to be inserted, otherwise brace needs to be deleted.
Common code between Scala's Tokens and JavaTokens.
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
Historical note: JavaParsers started life as a direct copy of Parsers but at a time when that Parsers had been replaced by a different one.
Historical note: JavaParsers started life as a direct copy of Parsers but at a time when that Parsers had been replaced by a different one. Later it was dropped and the original Parsers reinstated, leaving us with massive duplication between Parsers and JavaParsers.
This trait and the similar one for Scanners/JavaScanners represents the beginnings of a campaign against this latest incursion by Cutty McPastington and his army of very similar soldiers.
See Parsers.scala / ParsersCommon for some explanation of ScannersCommon.
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
An nsc sub-component.
Methods for building trees, used in the parser.
Methods for building trees, used in the parser. All the trees returned by this class must be untyped.