package dotty.tools.dotc.parsing

Constructors

Members

[+] abstract class CharArrayReader
[+] final object JavaParsers
[+] final object JavaScanners
[+] final object JavaTokens
[+] trait MarkupParserCommon

This is not a public trait - it contains common code shared between the library level XML parser and the compiler's. All members should be accessed thro...

This is not a public trait - it contains common code shared between the library level XML parser and the compiler's. All members should be accessed through those.

[+] final object MarkupParsers

This trait ...

This trait ...

[+] final object Parsers
[+] final object Scanners
[+] final object ScriptParsers

Performs the following context-free rewritings:

- Places all pattern variables in Bind nodes. In a pattern, for identifiers x: 


x  => x @ _
x:T  => x...

    [argtpes, restpe]
    

    
    

    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)
    
    

    • Removes pattern definitions (PatDef's) as follows: If pattern is a simple (typed) identifier: 

      
      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
    
    

    [+] 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'...

    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!

    [+] final object Tokens
    [+] abstract class TokensCommon
    [+] final object Utility

    The Utility object provides utility functions for processing instances of bound and not bound XML classes, as well as escaping text nodes.

    The Utility object provides utility functions for processing instances of bound and not bound XML classes, as well as escaping text nodes.

    [+] def maxPrec : Int
    [+] def minInfixPrec : Int
    [+] def minPrec : Int
    [+] def precedence ( operator: Name ) : Int