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