Scala Compiler2.13.17 < Back


# Packages

-  package root

  The Scala compiler and reflection APIs.

  The Scala compiler and reflection APIs.

  Definition Classes
    root
-  package scala
  Definition Classes
    root
-  package tools
  Definition Classes
    scala
-  package nsc
  Definition Classes
    tools
-  package ast
  Definition Classes
    nsc
-  package parser
  Definition Classes
    ast
-  trait Parsers extends Scanners with MarkupParsers with ParsersCommon

  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)

  - 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

  Definition Classes
    parser
-  abstract class Parser extends ParserCommon
  Definition Classes
    Parsers
- InfixMode
- ParserTreeBuilder
- PatternContextSensitive
- SeqContextSensitive

c

scala.tools.nsc.ast.parser.Parsers.Parser

# ParserTreeBuilder

###

#### class ParserTreeBuilder extends TreeBuilder

Source
  Parsers.scala

Linear Supertypes
TreeBuilder, AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. ParserTreeBuilder
2. TreeBuilder
3. AnyRef
4. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new ParserTreeBuilder()

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from ParserTreeBuilder toany2stringadd[ParserTreeBuilder] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (ParserTreeBuilder, B)
   Implicit
     This member is added by an implicit conversion from ParserTreeBuilder toArrowAssoc[ParserTreeBuilder] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  def addEvidenceParams(owner: Global.Name, vparamss: List[List[Global.ValDef]], contextBounds: List[Global.Tree]): List[List[Global.ValDef]]

   Append implicit parameter section if `contextBounds` nonempty

   Append implicit parameter section if `contextBounds` nonempty

   Definition Classes
     TreeBuilder
7.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
8.  def byNameApplication(tpe: Global.Tree): Global.Tree
   Definition Classes
     TreeBuilder
9.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
10.  def convertToTypeName(t: Global.Tree): Option[Global.RefTree]
    Definition Classes
      TreeBuilder
11.  def ensuring(cond: (ParserTreeBuilder) => Boolean, msg: => Any): ParserTreeBuilder
    Implicit
      This member is added by an implicit conversion from ParserTreeBuilder toEnsuring[ParserTreeBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
12.  def ensuring(cond: (ParserTreeBuilder) => Boolean): ParserTreeBuilder
    Implicit
      This member is added by an implicit conversion from ParserTreeBuilder toEnsuring[ParserTreeBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
13.  def ensuring(cond: Boolean, msg: => Any): ParserTreeBuilder
    Implicit
      This member is added by an implicit conversion from ParserTreeBuilder toEnsuring[ParserTreeBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
14.  def ensuring(cond: Boolean): ParserTreeBuilder
    Implicit
      This member is added by an implicit conversion from ParserTreeBuilder toEnsuring[ParserTreeBuilder] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
15.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
16.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
17.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
18.  implicit def fresh: FreshNameCreator
    Definition Classes
      TreeBuilder
19.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
20.  val global: Parsers.global.type
    Definition Classes
      ParserTreeBuilder → TreeBuilder
21.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
22.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
23.  def makeAlternative(ts: List[Global.Tree]): Global.Tree

    Create tree for a pattern alternative

    Create tree for a pattern alternative

    Definition Classes
      TreeBuilder
24.  def makeAnnotated(t: Global.Tree, annot: Global.Tree): Global.Tree
    Definition Classes
      TreeBuilder
25.  def makeBlock(stats: List[Global.Tree]): Global.Tree

    Create block of statements `stats`

    Create block of statements `stats`

    Definition Classes
      TreeBuilder
26.  def makeCaseDef(pat: Global.Tree, guard: Global.Tree, rhs: Global.Tree): Global.CaseDef

    Create tree for case definition <case pat if guard => rhs>

    Create tree for case definition <case pat if guard => rhs>

    Definition Classes
      TreeBuilder
27.  def makeCatchFromExpr(catchExpr: Global.Tree): Global.CaseDef

    Creates tree representing: { case x: Throwable => val catchFn = catchExpr if (catchFn isDefinedAt x) catchFn(x) else throw x }

    Creates tree representing: { case x: Throwable => val catchFn = catchExpr if (catchFn isDefinedAt x) catchFn(x) else throw x }

    Definition Classes
      TreeBuilder
28.  def makeCatchFromFunc(catchFn: Global.Tree): Global.CaseDef

    Creates tree representing: { case x: Throwable => catchExpr(x) }

    Creates tree representing: { case x: Throwable => catchExpr(x) }

    Definition Classes
      TreeBuilder
29.  def makeDoWhile(lname: Global.TermName, body: Global.Tree, cond: Global.Tree): Global.Tree

    Create tree representing a do-while loop

    Create tree representing a do-while loop

    Definition Classes
      TreeBuilder
30.  def makeFunctionTypeTree(argtpes: List[Global.Tree], restpe: Global.Tree): Global.Tree

    Create a tree representing the function type (argtpes) => restpe

    Create a tree representing the function type (argtpes) => restpe

    Definition Classes
      TreeBuilder
31.  def makeImportSelector(name: Global.Name, nameOffset: Int): Global.ImportSelector
    Definition Classes
      TreeBuilder
32.  def makeMatchFromExpr(catchExpr: Global.Tree): List[Global.CaseDef]

    At parser, rejigger non-case catch expression.

    At parser, rejigger non-case catch expression.

    Match is eliminated by unwrapping. Other expression becomes a single CaseDef with empty pattern and expr tree as RHS.

    Definition Classes
      TreeBuilder
33.  def makeParam(pname: Global.TermName, tpe: Global.Tree): Global.ValDef
    Definition Classes
      TreeBuilder
34.  def makePatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree, rhsPos: Global.Position): List[Global.ValDef]
    Definition Classes
      TreeBuilder
35.  final def makePatDef(mods: Global.Modifiers, pat: Global.Tree, rhs: Global.Tree): List[Global.ValDef]
    Definition Classes
      TreeBuilder
36.  def makeSelfDef(name: Global.TermName, tpt: Global.Tree): Global.ValDef
    Definition Classes
      TreeBuilder
37.  def makeSyntheticTypeParam(pname: Global.TypeName, bounds: Global.Tree): Global.TypeDef
    Definition Classes
      TreeBuilder
38.  def makeTupleTerm(elems: List[Global.Tree]): Global.Tree
    Definition Classes
      TreeBuilder
39.  def makeTupleType(elems: List[Global.Tree]): Global.Tree
    Definition Classes
      TreeBuilder
40.  def makeWhile(startPos: Int, cond: Global.Tree, body: Global.Tree): Global.Tree

    Create tree representing a while loop

    Create tree representing a while loop

    Definition Classes
      TreeBuilder
41.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
42.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
43.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
44.  def o2p(offset: Int): Global.Position
    Definition Classes
      TreeBuilder
45.  def r2p(start: Int, mid: Int, end: Int): Global.Position
    Definition Classes
      TreeBuilder
46.  def repeatedApplication(tpe: Global.Tree): Global.Tree
    Definition Classes
      TreeBuilder
47.  def rootScalaDot(name: Global.Name): Global.Select
    Definition Classes
      TreeBuilder
48.  def scalaAnyRefConstr: Global.Select
    Definition Classes
      TreeBuilder
49.  def scalaDot(name: Global.Name): Global.Select
    Definition Classes
      TreeBuilder
50.  def scalaUnitConstr: Global.Select
    Definition Classes
      TreeBuilder
51.  def source: SourceFile
    Definition Classes
      ParserTreeBuilder → TreeBuilder
52.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
53.  def toString(): String
    Definition Classes
      AnyRef → Any
54.  def unit: Global.CompilationUnit
    Definition Classes
      ParserTreeBuilder → TreeBuilder
55.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
56.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
57.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from ParserTreeBuilder toStringFormat[ParserTreeBuilder] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (ParserTreeBuilder, B)
   Implicit
     This member is added by an implicit conversion from ParserTreeBuilder toArrowAssoc[ParserTreeBuilder] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from TreeBuilder

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromParserTreeBuilder to any2stringadd[ParserTreeBuilder]

### Inherited by implicit conversion StringFormat fromParserTreeBuilder to StringFormat[ParserTreeBuilder]

### Inherited by implicit conversion Ensuring fromParserTreeBuilder to Ensuring[ParserTreeBuilder]

### Inherited by implicit conversion ArrowAssoc fromParserTreeBuilder to ArrowAssoc[ParserTreeBuilder]

### Ungrouped