Scala Compiler2.13.8 < 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
- CommonTokenData
- ConfusedAboutBracesControl
- DocScanner
- MalformedInput
- MarkupParser
- MissingEndTagControl
- OpInfo
- OutlineParser
- ParamOwner
- ParensAnalyzer
- Parser
- ParserCommon
- Scanner
- ScannerCommon
- ScannerData
- SourceFileParser
- SourceFileScanner
- TokenData
- TruncatedXMLControl
- UnitParser
- UnitScanner

c

scala.tools.nsc.ast.parser.Parsers

# UnitParser

###

#### class UnitParser extends SourceFileParser

Self Type
  UnitParser
Source
  Parsers.scala

Linear Supertypes
SourceFileParser, Parser, Parsers.ParserCommon, AnyRef, Any
Known Subclasses
ScaladocUnitParser
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. UnitParser
2. SourceFileParser
3. Parser
4. ParserCommon
5. AnyRef
6. 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 UnitParser(unit: Global.CompilationUnit)
2.  new UnitParser(unit: Global.CompilationUnit, patches: List[BracePatch])

### Type Members

1.  class ParserTreeBuilder extends TreeBuilder
   Definition Classes
     Parser
2.  sealed trait PatternContextSensitive extends AnyRef

   Methods which implicitly propagate the context in which they were called: either in a pattern context or not.

   Methods which implicitly propagate the context in which they were called: either in a pattern context or not. Formerly, this was threaded through numerous methods as boolean isPattern.

   Definition Classes
     Parser
3.  final class SeqContextSensitive extends PatternContextSensitive

   Methods which implicitly propagate whether the initial call took place in a context where sequences are allowed.

   Methods which implicitly propagate whether the initial call took place in a context where sequences are allowed. Formerly, this was threaded through methods as boolean seqOK.

   Definition Classes
     Parser

### Value Members

1.  object InfixMode extends Enumeration

   Modes for infix types.

   Modes for infix types.

   Definition Classes
     Parser
2.  object symbXMLBuilder extends SymbolicXMLBuilder
   Definition Classes
     SourceFileParser
3.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def ##: Int
   Definition Classes
     AnyRef → Any
5.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from UnitParser toany2stringadd[UnitParser] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
6.  def ->[B](y: B): (UnitParser, B)
   Implicit
     This member is added by an implicit conversion from UnitParser toArrowAssoc[UnitParser] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
7.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
8.  def accept(token: Parsers.Token): Parsers.Offset

   Consume one token of the specified type, or signal an error if it is not there.

   Consume one token of the specified type, or signal an error if it is not there.

   Definition Classes
     Parser → ParserCommon
9.  def acceptStatSep(): Unit

       semi = nl {nl} | `;`
       nl  = `\n` // where allowed

   Definition Classes
     Parser
10.  def acceptStatSepOpt(): Unit
    Definition Classes
      Parser
11.  def accessModifierOpt(): Global.Modifiers

        AccessModifier ::= (private | protected) [AccessQualifier]

    Definition Classes
      Parser
12.  def accessQualifierOpt(mods: Global.Modifiers): Global.Modifiers

        AccessQualifier ::= `[` (Id | this) `]`

    Definition Classes
      Parser
13.  def annotTypeRest(t: Global.Tree): Global.Tree
    Definition Classes
      Parser
14.  def annotationExpr(): Global.Tree
    Definition Classes
      Parser
15.  def annotations(skipNewLines: Boolean): List[Global.Tree]

        Annotations       ::= {`@` SimpleType {ArgumentExprs}}
        ConstrAnnotations ::= {`@` SimpleType ArgumentExprs}

    Definition Classes
      Parser
16.  def argumentExprs(): List[Global.Tree]

        ArgumentExprs ::= `(` [Exprs] `)`
                        | [nl] BlockExpr

    Definition Classes
      Parser
17.  def argumentPatterns(): List[Global.Tree]
    Definition Classes
      Parser
18.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
19.  val assumedClosingParens: Map[Int, Int]
    Definition Classes
      Parser
20.  def atInPos[T <: Global.Tree](t: T): T
    Definition Classes
      Parser
21.  def atPos[T <: Global.Tree](pos: Global.Position)(t: T): T
    Definition Classes
      Parser
22.  def atPos[T <: Global.Tree](start: Parsers.Offset, point: Parsers.Offset, end: Parsers.Offset)(t: T): T
    Definition Classes
      Parser
23.  def atPos[T <: Global.Tree](start: Parsers.Offset, point: Parsers.Offset)(t: T): T
    Definition Classes
      Parser
24.  def atPos[T <: Global.Tree](offset: Parsers.Offset)(t: T): T
    Definition Classes
      Parser
25.  def block(): Global.Tree

        Block ::= BlockStatSeq

    Definition Classes
      Parser
    Note

      Return tree does not carry position.

26.  def blockExpr(): Global.Tree

        BlockExpr ::= `{` (CaseClauses | Block) `}`

    Definition Classes
      Parser
27.  def blockStatSeq(): List[Global.Tree]

        BlockStatSeq ::= { BlockStat semi } [ResultExpr]
        BlockStat    ::= Import
                       | Annotations [implicit] [lazy] Def
                       | Annotations LocalModifiers TmplDef
                       | Expr1
                       |

    Definition Classes
      Parser
28.  def bound(tok: Parsers.Token): Global.Tree
    Definition Classes
      Parser
29.  def caseBlock(): Global.Tree
    Definition Classes
      Parser
30.  def caseClause(): Global.CaseDef
    Definition Classes
      Parser
31.  def caseClauses(): List[Global.CaseDef]

        CaseClauses ::= CaseClause {CaseClause}
        CaseClause  ::= case Pattern [Guard] `=>` Block

    Definition Classes
      Parser
32.  final def caseSeparated[T](part: => T): List[T]
    Definition Classes
      Parser
    Annotations
      @inline()
33.  def checkAssoc(offset: Parsers.Offset, op: Global.Name, leftAssoc: Boolean): Unit
    Definition Classes
      Parser
34.  def checkHeadAssoc(leftAssoc: Boolean): Unit
    Definition Classes
      Parser
35.  def checkKeywordDefinition(): Unit
    Definition Classes
      Parser
36.  def checkNoEscapingPlaceholders[T](op: => T): T
    Definition Classes
      Parser
37.  def checkNotByNameOrVarargs(tpt: Global.Tree): Unit

    Check that type parameter is not by name or repeated.

    Check that type parameter is not by name or repeated.

    Definition Classes
      Parser
38.  def checkQMarkDefinition(): Unit
    Definition Classes
      Parser
39.  def checkQMarkUsage(): Unit
    Definition Classes
      Parser
40.  def classDef(start: Parsers.Offset, mods: Global.Modifiers): Global.ClassDef

        ClassDef ::= Id [TypeParamClause] ConstrAnnotations
                     [AccessModifier] ClassParamClauses RequiresTypeOpt ClassTemplateOpt
        TraitDef ::= Id [TypeParamClause] RequiresTypeOpt TraitTemplateOpt

    Definition Classes
      Parser
41.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
42.  final def commaSeparated[T](part: => T): List[T]

    , with the separator fixed to commas.

        tokenSeparated

    , with the separator fixed to commas. tokenSeparated }}}

    Definition Classes
      ParserCommon
    Annotations
      @inline()
43.  def compilationUnit(): Global.PackageDef

        CompilationUnit ::= {package QualId semi} TopStatSeq

    Definition Classes
      Parser
44.  def condExpr(): Global.Tree
    Definition Classes
      Parser
45.  def constrBlock(vparamss: List[List[Global.ValDef]]): Global.Tree

        ConstrBlock    ::=  `{` SelfInvocation {semi BlockStat} `}`

    Definition Classes
      Parser
46.  def constrExpr(vparamss: List[List[Global.ValDef]]): Global.Tree

        ConstrExpr      ::=  SelfInvocation
                          |  ConstrBlock

    Definition Classes
      Parser
47.  def constructorAnnotations(): List[Global.Tree]
    Definition Classes
      Parser
48.  def convertToParam(tree: Global.Tree): Global.ValDef

    Convert tree to formal parameter.

    Convert tree to formal parameter.

    Definition Classes
      Parser
49.  def convertToParams(tree: Global.Tree): List[Global.ValDef]

    Convert tree to formal parameter list.

    Convert tree to formal parameter list.

    Definition Classes
      Parser
50.  def convertToTypeId(tree: Global.Tree): Global.Tree

    Convert (qual)ident to type identifier.

    Convert (qual)ident to type identifier.

    Definition Classes
      Parser
51.  def defOrDcl(pos: Parsers.Offset, mods: Global.Modifiers): List[Global.Tree]

        Def    ::= val PatDef
                 | var PatDef
                 | def FunDef
                 | type [nl] TypeDef
                 | TmplDef
        Dcl    ::= val PatDcl
                 | var PatDcl
                 | def FunDcl
                 | type [nl] TypeDcl

    Definition Classes
      Parser
52.  def deprecationWarning(offset: Parsers.Offset, msg: String, since: String): Unit
    Definition Classes
      UnitParser → SourceFileParser → ParserCommon
53.  final def dropAnyBraces[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
54.  def ensureEarlyDef(tree: Global.Tree): Global.Tree
    Definition Classes
      Parser
55.  def ensuring(cond: (UnitParser) => Boolean, msg: => Any): UnitParser
    Implicit
      This member is added by an implicit conversion from UnitParser toEnsuring[UnitParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
56.  def ensuring(cond: (UnitParser) => Boolean): UnitParser
    Implicit
      This member is added by an implicit conversion from UnitParser toEnsuring[UnitParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
57.  def ensuring(cond: Boolean, msg: => Any): UnitParser
    Implicit
      This member is added by an implicit conversion from UnitParser toEnsuring[UnitParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
58.  def ensuring(cond: Boolean): UnitParser
    Implicit
      This member is added by an implicit conversion from UnitParser toEnsuring[UnitParser] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
59.  def enumerator(isFirst: Boolean, allowNestedIf: Boolean = true): List[Global.Tree]
    Definition Classes
      Parser
60.  def enumerators(): List[Global.Tree]

        Enumerators ::= Generator {semi Enumerator}
        Enumerator  ::=  Generator
                      |  Guard
                      |  Pattern1 `=` Expr

    Definition Classes
      Parser
61.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
62.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
63.  def errorPatternTree: Global.Ident
    Definition Classes
      Parser
64.  def errorTermTree: Global.Literal
    Definition Classes
      Parser
65.  def errorTypeTree: Global.TypeTree
    Definition Classes
      Parser
66.  def expectedMsg(token: Parsers.Token): String
    Definition Classes
      Parser
67.  def expectedMsgTemplate(exp: String, fnd: String): String
    Definition Classes
      Parser
68.  def expr(location: Location): Global.Tree
    Definition Classes
      Parser
69.  def expr(): Global.Tree

        Expr       ::= (Bindings | [`implicit`] Id | `_`)  `=>` Expr
                     | Expr1
        ResultExpr ::= (Bindings | Id `:` CompoundType) `=>` Block
                     | Expr1
        Expr1      ::= if `(` Expr `)` {nl} Expr [[semi] else Expr]
                     | try (`{` Block `}` | Expr) [catch `{` CaseClauses `}`] [finally Expr]
                     | while `(` Expr `)` {nl} Expr
                     | do Expr [semi] while `(` Expr `)`
                     | for (`(` Enumerators `)` | `{` Enumerators `}`) {nl} [yield] Expr
                     | throw Expr
                     | return [Expr]
                     | [SimpleExpr `.`] Id `=` Expr
                     | SimpleExpr1 ArgumentExprs `=` Expr
                     | PostfixExpr Ascription
                     | PostfixExpr match `{` CaseClauses `}`
        Bindings   ::= `(` [Binding {`,` Binding}] `)`
        Binding    ::= (Id | `_`) [`:` Type]
        Ascription ::= `:` CompoundType
                     | `:` Annotation {Annotation}
                     | `:` `_` `*`

    Definition Classes
      Parser
70.  def expr0(location: Location): Global.Tree
    Definition Classes
      Parser
71.  def exprSimpleType(): Global.Tree
    Definition Classes
      Parser
72.  def exprTypeArgs(): List[Global.Tree]
    Definition Classes
      Parser
73.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
74.  def finishBinaryOp(isExpr: Boolean, opinfo: OpInfo, rhs: Global.Tree): Global.Tree
    Definition Classes
      Parser
75.  def finishPostfixOp(start: Int, base: List[OpInfo], opinfo: OpInfo): Global.Tree
    Definition Classes
      Parser
76.  def followingIsScala3Vararg(): Boolean

    Is current ident a `*`, and is it followed by a `)` or `, )`?

    Is current ident a `*`, and is it followed by a `)` or `, )`?

    Definition Classes
      Parser
77.  implicit def fresh: FreshNameCreator
    Definition Classes
      Parser
78.  def funDefOrDcl(start: Int, mods: Global.Modifiers): Global.Tree

        FunDef ::= FunSig [`:` Type] `=` [`macro`] Expr
                |  FunSig [nl] `{` Block `}`
                |  `this` ParamClause ParamClauses
                       (`=` ConstrExpr | [nl] ConstrBlock)
        FunDcl ::= FunSig [`:` Type]
        FunSig ::= id [FunTypeParamClause] ParamClauses

    Definition Classes
      Parser
79.  def funDefRest(start: Parsers.Offset, nameOffset: Parsers.Offset, mods: Global.Modifiers, name: Global.Name): Global.Tree
    Definition Classes
      Parser
80.  def generator(eqOK: Boolean, allowNestedIf: Boolean = true): List[Global.Tree]

        Generator ::= [`case`] Pattern1 (`<-` | `=`) Expr [Guard]

    Definition Classes
      Parser
81.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
82.  def guard(): Global.Tree

        Guard ::= if PostfixExpr

    Definition Classes
      Parser
83.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
84.  def ident(): Global.Name
    Definition Classes
      Parser
85.  def ident(skipIt: Boolean): Global.Name

    Assumed (provisionally) to be TermNames.

    Assumed (provisionally) to be TermNames.

    Definition Classes
      Parser
86.  def identForType(skipIt: Boolean): Global.TypeName
    Definition Classes
      Parser
87.  def identForType(): Global.TypeName

    For when it's known already to be a type name.

    For when it's known already to be a type name.

    Definition Classes
      Parser
88.  def identOrMacro(): Global.Name
    Definition Classes
      Parser
89.  def implicitClosure(start: Parsers.Offset, location: Location): Global.Tree

        Expr ::= implicit Id `=>` Expr

    Definition Classes
      Parser
90.  def importClause(): List[Global.Tree]

        Import  ::= import ImportExpr {`,` ImportExpr}

    Definition Classes
      Parser
91.  def importExpr(): Global.Tree

        ImportExpr ::= StableId `.` (Id | `_` | ImportSelectors)

    Definition Classes
      Parser
92.  def importSelector(): Global.ImportSelector

        ImportSelector ::= Id [`=>` Id | `=>` `_`]

    Definition Classes
      Parser
93.  def importSelectors(): List[Global.ImportSelector]

        ImportSelectors ::= `{` {ImportSelector `,`} (ImportSelector | `_`) `}`

    Definition Classes
      Parser
94.  val in: Parsers.Scanner
    Definition Classes
      SourceFileParser → Parser → ParserCommon
95.  final def inBraces[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
96.  final def inBracesOrError[T](body: => T, alt: T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
97.  final def inBracesOrNil[T](body: => List[T]): List[T]
    Definition Classes
      ParserCommon
    Annotations
      @inline()
98.  final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
    Definition Classes
      ParserCommon
    Annotations
      @inline()
99.  final def inBrackets[T](body: => T): T
    Definition Classes
      ParserCommon
    Annotations
      @inline()
100.  final def inGroupers[T](left: Parsers.Token)(body: => T): T

     Methods inParensOrError and similar take a second argument which, should the next token not be the expected opener (e.g.

     Methods inParensOrError and similar take a second argument which, should the next token not be the expected opener (e.g. LPAREN) will be returned instead of the contents of the groupers. However in all cases accept(LPAREN) will be called, so a parse error will still result. If the grouping is optional, in.token should be tested before calling these methods.

     Skip trailing comma is pushed down to scanner because this abstract parser doesn't have token info.

     Definition Classes
       ParserCommon
     Annotations
       @inline()
101.  final def inParens[T](body: => T): T
     Definition Classes
       ParserCommon
     Annotations
       @inline()
102.  final def inParensOrError[T](body: => T, alt: T): T
     Definition Classes
       ParserCommon
     Annotations
       @inline()
103.  final def inParensOrNil[T](body: => List[T]): List[T]
     Definition Classes
       ParserCommon
     Annotations
       @inline()
104.  final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
     Definition Classes
       ParserCommon
     Annotations
       @inline()
105.  def incompleteInputError(msg: String): Unit
     Definition Classes
       UnitParser → SourceFileParser → Parser
106.  def isAnnotation: Boolean
     Definition Classes
       Parser
107.  def isCaseDefEnd: Boolean
     Definition Classes
       Parser
108.  def isDclIntro: Boolean
     Definition Classes
       Parser
109.  def isDefIntro: Boolean
     Definition Classes
       Parser
110.  def isExprIntro: Boolean
     Definition Classes
       Parser
111.  def isExprIntroToken(token: Parsers.Token): Boolean
     Definition Classes
       Parser
112.  def isIdent: Boolean
     Definition Classes
       Parser
113.  def isIdentExcept(except: Global.Name): Boolean
     Definition Classes
       Parser
114.  def isIdentOf(name: Global.Name): Boolean
     Definition Classes
       Parser
115.  final def isInstanceOf[T0]: Boolean
     Definition Classes
       Any
116.  def isLiteral: Boolean
     Definition Classes
       Parser
117.  def isLiteralToken(token: Parsers.Token): Boolean
     Definition Classes
       Parser
118.  def isLocalModifier: Boolean
     Definition Classes
       Parser
119.  def isMacro: Boolean
     Definition Classes
       Parser
120.  def isModifier: Boolean
     Definition Classes
       Parser
121.  def isNumericLit: Boolean
     Definition Classes
       Parser
122.  def isRawBar: Boolean
     Definition Classes
       Parser
123.  def isRawIdent: Boolean
     Definition Classes
       Parser
124.  def isRawStar: Boolean
     Definition Classes
       Parser
125.  def isScala3WildcardType: Boolean
     Definition Classes
       Parser
126.  def isSoftModifier: Boolean
     Definition Classes
       Parser
127.  def isStatSep: Boolean
     Definition Classes
       Parser
128.  def isStatSep(token: Parsers.Token): Boolean
     Definition Classes
       Parser
129.  def isStatSeqEnd: Boolean
     Definition Classes
       Parser
130.  def isTemplateIntro: Boolean
     Definition Classes
       Parser
131.  def isTypeIntroToken(token: Parsers.Token): Boolean
     Definition Classes
       Parser
132.  def isTypedParam(t: Global.Tree): Boolean
     Definition Classes
       Parser
133.  def isUnaryOp: Boolean
     Definition Classes
       Parser
134.  def isValidSoftModifier: Boolean

     Is the current token a soft modifier in a position where such a modifier is allowed?

     Is the current token a soft modifier in a position where such a modifier is allowed?

     Definition Classes
       Parser
135.  final def isWildcard(t: Global.Tree): Boolean
     Definition Classes
       Parser
     Annotations
       @tailrec()
136.  def isWildcardType: Boolean
     Definition Classes
       Parser
137.  def joinComment(trees: => List[Global.Tree]): List[Global.Tree]

     A hook for joining the comment associated with a definition.

     A hook for joining the comment associated with a definition. Overridden by scaladoc.

     Definition Classes
       Parser
138.  def literal(isNegated: Boolean = false, inPattern: Boolean = false, start: Parsers.Offset = in.offset): Global.Tree

         SimpleExpr    ::= literal
                         | symbol
                         | null

     Definition Classes
       Parser
139.  def localDef(implicitMod: Long): List[Global.Tree]

     overridable IDE hook for local definitions of blockStatSeq Here's an idea how to fill in start and end positions.

     overridable IDE hook for local definitions of blockStatSeq Here's an idea how to fill in start and end positions. def localDef : List[Tree] = { atEndPos { atStartPos(in.offset) { val annots = annotations(skipNewLines = true) val mods = localModifiers() withAnnotations annots if (!(mods hasFlag ~(Flags.IMPLICIT | Flags.LAZY))) defOrDcl(mods) else List(tmplDef(mods)) } } (in.offset) }

     Definition Classes
       Parser
140.  def localModifiers(): Global.Modifiers

         LocalModifiers ::= {LocalModifier}
         LocalModifier  ::= abstract | final | sealed | implicit | lazy

     Definition Classes
       Parser
141.  final def lookingAhead[T](body: => T): T

     Scoping operator used to temporarily look into the future.

     Scoping operator used to temporarily look into the future. Backs up scanner data before evaluating a block and restores it after.

     Definition Classes
       Parser
     Annotations
       @inline()
142.  def makeBinop(isExpr: Boolean, left: Global.Tree, op: Global.TermName, right: Global.Tree, opPos: Global.Position, targs: List[Global.Tree] = Nil): Global.Tree

     Create tree representing (unencoded) binary operation expression or pattern.

     Create tree representing (unencoded) binary operation expression or pattern.

     Definition Classes
       Parser
143.  def makeEmptyPackage(start: Parsers.Offset, stats: List[Global.Tree]): Global.PackageDef
     Definition Classes
       Parser
144.  def makeFilter(start: Parsers.Offset, tree: Global.Tree): Global.Apply
     Definition Classes
       Parser
145.  def makePackaging(start: Parsers.Offset, pkg: Global.Tree, stats: List[Global.Tree]): Global.PackageDef

     Create a tree representing a packaging.

     Create a tree representing a packaging.

     Definition Classes
       Parser
146.  final def makeParens(body: => List[Global.Tree]): Global.Parens

     Creates an actual Parens node (only used during parsing.)

     Creates an actual Parens node (only used during parsing.)

     Definition Classes
       ParserCommon
     Annotations
       @inline()
147.  def makeSafeFunctionType(argtpes: List[Global.Tree], restpe: Global.Tree): Global.Tree

     Create a function Tree.

     Create a function Tree. If the arity is not supported, a syntax error is emitted.

     Definition Classes
       Parser
148.  def makeSafeTupleTerm(elems: List[Global.Tree]): Global.Tree

     Create a tuple term Tree.

     Create a tuple term Tree. If the arity is not supported, a syntax error is emitted.

     Definition Classes
       Parser
149.  def makeSafeTupleType(elems: List[Global.Tree]): Global.Tree

     Create a tuple type Tree.

     Create a tuple type Tree. If the arity is not supported, a syntax error is emitted.

     Definition Classes
       Parser
150.  def mixinQualifierOpt(): Global.TypeName

         MixinQualifier ::= `[` Id `]`

     Definition Classes
       Parser
151.  def modifiers(): Global.Modifiers

         Modifiers ::= {Modifier}
         Modifier  ::= LocalModifier
                     |  AccessModifier
                     |  override

     Definition Classes
       Parser
152.  def multipleArgumentExprs(): List[List[Global.Tree]]

     A succession of argument lists.

     A succession of argument lists.

     Definition Classes
       Parser
153.  final def ne(arg0: AnyRef): Boolean
     Definition Classes
       AnyRef
154.  def newLineOpt(): Unit
     Definition Classes
       Parser
155.  def newLineOptWhenFollowedBy(token: Parsers.Offset): Unit
     Definition Classes
       Parser
156.  def newLineOptWhenFollowing(p: (Parsers.Token) => Boolean): Unit
     Definition Classes
       Parser
157.  def newLinesOpt(): Unit
     Definition Classes
       Parser
158.  def newScanner(): Parsers.UnitScanner
     Definition Classes
       UnitParser → SourceFileParser
159.  final val noSeq: SeqContextSensitive

     The implementation for parsing inside of patterns at points where sequences are disallowed.

     The implementation for parsing inside of patterns at points where sequences are disallowed.

     Definition Classes
       Parser
160.  def nonLocalDefOrDcl: List[Global.Tree]
     Definition Classes
       Parser
161.  final def notify(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
162.  final def notifyAll(): Unit
     Definition Classes
       AnyRef
     Annotations
       @native()
163.  def o2p(offset: Parsers.Offset): Global.Position
     Definition Classes
       Parser
164.  def objectDef(start: Parsers.Offset, mods: Global.Modifiers, isPackageObject: Boolean = false): Global.ModuleDef

         ObjectDef       ::= Id ClassTemplateOpt

     Definition Classes
       Parser
165.  var opstack: List[OpInfo]
     Definition Classes
       Parser
166.  final val outPattern: PatternContextSensitive

     The implementation of the context sensitive methods for parsing outside of patterns.

     The implementation of the context sensitive methods for parsing outside of patterns.

     Definition Classes
       Parser
167.  def packageObjectDef(start: Parsers.Offset): Global.PackageDef

     Create a tree representing a package object, converting

     Create a tree representing a package object, converting

         package object foo { ... }

     to

         package foo {
           object `package` { ... }
         }

     Definition Classes
       Parser
168.  def packageOrPackageObject(start: Parsers.Offset): Global.Tree
     Definition Classes
       Parser
169.  def param(owner: Global.Name, implicitmod: Long, caseParam: Boolean): Global.ValDef
     Definition Classes
       Parser
170.  def paramClauses(owner: Global.Name, contextBounds: List[Global.Tree], ofCaseClass: Boolean): List[List[Global.ValDef]]

         ParamClauses      ::= {ParamClause} [[nl] `(` implicit Params `)`]
         ParamClause       ::= [nl] `(` [Params] `)`
         Params            ::= Param {`,` Param}
         Param             ::= {Annotation} Id [`:` ParamType] [`=` Expr]
         ClassParamClauses ::= {ClassParamClause} [[nl] `(` implicit ClassParams `)`]
         ClassParamClause  ::= [nl] `(` [ClassParams] `)`
         ClassParams       ::= ClassParam {`,` ClassParam}
         ClassParam        ::= {Annotation}  [{Modifier} (`val` | `var`)] Id [`:` ParamType] [`=` Expr]

     Definition Classes
       Parser
171.  def paramType(repeatedParameterOK: Boolean, useStartAsPosition: Boolean): Global.Tree
     Definition Classes
       Parser
172.  def paramType(): Global.Tree

         ParamType ::= Type | `=>` Type | Type `*`

     Definition Classes
       Parser
173.  def parse(): Global.Tree

     This is the general parse entry point.

     This is the general parse entry point.

     Definition Classes
       Parser
174.  def parseRule[T](rule: (UnitParser.this.type) => T): T
     Definition Classes
       Parser
175.  def parseStartRule: () => Global.Tree

     The parse starting point depends on whether the source file is self-contained: if not, the AST will be supplemented.

     The parse starting point depends on whether the source file is self-contained: if not, the AST will be supplemented.

     Definition Classes
       SourceFileParser → Parser
176.  def parseStats(): List[Global.Tree]

     These are alternative entry points for repl, script runner, toolbox and parsing in macros.

     These are alternative entry points for repl, script runner, toolbox and parsing in macros.

     Definition Classes
       Parser
177.  def parseStatsOrPackages(): List[Global.Tree]
     Definition Classes
       Parser
178.  def patDefOrDcl(pos: Int, mods: Global.Modifiers): List[Global.Tree]

         PatDef ::= Pattern2 {`,` Pattern2} [`:` Type] `=` Expr
         ValDcl ::= Id {`,` Id} `:` Type
         VarDef ::= PatDef | Id {`,` Id} `:` Type `=` `_`

     Definition Classes
       Parser
179.  def path(thisOK: Boolean, typeOK: Boolean): Global.Tree

         Path       ::= StableId
                     |  [Ident `.`] this
         AnnotType ::= Path [`.` type]

     Definition Classes
       Parser
180.  def pattern(): Global.Tree

     Default entry points into some pattern contexts.

     Default entry points into some pattern contexts.

     Definition Classes
       Parser
181.  var placeholderParams: List[Global.ValDef]

     The implicit parameters introduced by `_` in the current expression.

     The implicit parameters introduced by `_` in the current expression. Parameters appear in reverse order.

     Definition Classes
       Parser
182.  def placeholderTypeBoundary(op: => Global.Tree): Global.Tree
     Definition Classes
       Parser
183.  var placeholderTypes: List[Global.TypeDef]

     The placeholderTypes introduced by `_` in the current type.

     The placeholderTypes introduced by `_` in the current type. Parameters appear in reverse order.

     Definition Classes
       Parser
184.  def postfixExpr(): Global.Tree

         PostfixExpr   ::= InfixExpr [Id [nl]]
         InfixExpr     ::= PrefixExpr
                         | InfixExpr Id [nl] InfixExpr

     Definition Classes
       Parser
185.  def prefixExpr(): Global.Tree

         PrefixExpr   ::= [`-` | `+` | `~` | `!`] SimpleExpr

     Definition Classes
       Parser
186.  def qualId(): Global.Tree

         QualId ::= Id {`.` Id}

     Definition Classes
       Parser
187.  def r2p(offset: Parsers.Offset): Global.Position
     Definition Classes
       Parser
188.  def r2p(start: Parsers.Offset, mid: Parsers.Offset): Global.Position
     Definition Classes
       Parser
189.  def r2p(start: Parsers.Offset, mid: Parsers.Offset, end: Parsers.Offset): Global.Position
     Definition Classes
       Parser
190.  def rawIdent(): Global.Name
     Definition Classes
       Parser
191.  def readAnnots(part: => Global.Tree): List[Global.Tree]
     Definition Classes
       Parser
192.  def reduceExprStack(base: List[OpInfo], top: Global.Tree): Global.Tree
     Definition Classes
       Parser
193.  def reducePatternStack(base: List[OpInfo], top: Global.Tree): Global.Tree
     Definition Classes
       Parser
194.  def reduceStack(isExpr: Boolean, base: List[OpInfo], top: Global.Tree, opPrecedence: Precedence, leftAssoc: Boolean): Global.Tree
     Definition Classes
       Parser
195.  def reduceStack(isExpr: Boolean, base: List[OpInfo], top: Global.Tree): Global.Tree
     Definition Classes
       Parser
196.  def refineStat(): List[Global.Tree]
     Definition Classes
       Parser
197.  def refineStatSeq(): List[Global.Tree]

         RefineStatSeq    ::= RefineStat {semi RefineStat}
         RefineStat       ::= Dcl
                            | type TypeDef
                            |

     Definition Classes
       Parser
198.  def refinement(): List[Global.Tree]

         Refinement ::= [nl] `{` RefineStat {semi RefineStat} `}`

     Definition Classes
       Parser
199.  def resetPackage(): Unit
     Definition Classes
       Parser
200.  def scriptBody(): Global.Tree

     This is the parse entry point for code which is not self-contained, e.g.

     This is the parse entry point for code which is not self-contained, e.g. a script which is a series of template statements. They will be swaddled in Trees until the AST is equivalent to the one returned by compilationUnit().

     Definition Classes
       Parser
201.  def selector(t0: Global.Tree): Global.Tree
     Definition Classes
       Parser
202.  final def selectors(t: Global.Tree, typeOK: Boolean, dotOffset: Parsers.Offset): Global.Tree
     Definition Classes
       Parser
     Annotations
       @tailrec()
203.  def selfInvocation(vparamss: List[List[Global.ValDef]]): Global.Tree

         SelfInvocation  ::= this ArgumentExprs {ArgumentExprs}

     Definition Classes
       Parser
204.  final def separatedToken[T](separator: Parsers.Token, part: => T): List[T]

     .

         { `sep` part }

     . { `sep` part } }}}

     Definition Classes
       Parser → ParserCommon
205.  final val seqOK: SeqContextSensitive

     The implementation for parsing inside of patterns at points where sequences are allowed.

     The implementation for parsing inside of patterns at points where sequences are allowed.

     Definition Classes
       Parser
206.  def seqPatterns(): List[Global.Tree]
     Definition Classes
       Parser
207.  def setInPos[T <: Global.Tree](t: T): T
     Definition Classes
       Parser
208.  def showSyntaxErrors(): Unit
209.  def simpleExpr(): Global.Tree

         SimpleExpr    ::= new (ClassTemplate | TemplateBody)
                         |  BlockExpr
                         |  SimpleExpr1 [`_`]
         SimpleExpr1   ::= literal
                         |  xLiteral
                         |  Path
                         |  `(` [Exprs] `)`
                         |  SimpleExpr `.` Id
                         |  SimpleExpr TypeArgs
                         |  SimpleExpr1 ArgumentExprs

     Definition Classes
       Parser
210.  final def simpleExprRest(t: Global.Tree, canApply: Boolean): Global.Tree
     Definition Classes
       Parser
     Annotations
       @tailrec()
211.  def skip(targetToken: Parsers.Token): Unit
     Attributes
       protected
     Definition Classes
       Parser
212.  def smartParse(): Global.Tree

     parse unit.

     parse unit. If there are unbalanced braces, try to correct them and reparse.

213.  val source: SourceFile
     Definition Classes
       SourceFileParser → Parser
214.  def stableId(): Global.Tree

         StableId ::= Id
                   |  Path `.` Id
                   |  [id `.`] super [`[` id `]`]`.` id

     Definition Classes
       Parser
215.  def startAnnotType(): Global.Tree
     Definition Classes
       Parser
216.  def startInfixType(): Global.Tree
     Definition Classes
       Parser
217.  def statSeq(stat: PartialFunction[Parsers.Token, List[Global.Tree]], errorMsg: String = "illegal start of definition"): List[Global.Tree]
     Definition Classes
       Parser
218.  def statement(location: Location): Global.Tree
     Definition Classes
       Parser
219.  def stripParens(t: Global.Tree): Global.Tree

     Strip the artificial `Parens` node to create a tuple term Tree.

     Strip the artificial `Parens` node to create a tuple term Tree.

     Definition Classes
       Parser
220.  final def synchronized[T0](arg0: => T0): T0
     Definition Classes
       AnyRef
221.  def syntaxError(offset: Parsers.Offset, msg: String): Unit
     Definition Classes
       UnitParser → SourceFileParser → Parser
222.  def syntaxError(offset: Parsers.Offset, msg: String, skipIt: Boolean): Unit
     Definition Classes
       Parser
223.  def syntaxError(msg: String, skipIt: Boolean): Unit
     Definition Classes
       Parser
224.  def syntaxErrorOrIncomplete(msg: String, skipIt: Boolean): Unit
     Definition Classes
       Parser
225.  def syntaxErrorOrIncompleteAnd[T](msg: String, skipIt: Boolean)(and: T): T
     Definition Classes
       Parser
226.  val syntaxErrors: ListBuffer[(Int, String)]
227.  def template(): (List[Global.Tree], Global.ValDef, List[Global.Tree])

         ClassTemplate ::= [EarlyDefs with] ClassParents [TemplateBody]
         TraitTemplate ::= [EarlyDefs with] TraitParents [TemplateBody]
         EarlyDefs     ::= `{` [EarlyDef {semi EarlyDef}] `}`
         EarlyDef      ::= Annotations Modifiers PatDef

     Definition Classes
       Parser
228.  def templateBody(isPre: Boolean): (Global.ValDef, List[Global.Tree])

         TemplateBody ::= [nl] `{` TemplateStatSeq `}`

     isPre

       specifies whether in early initializer (true) or not (false)

     Definition Classes
       Parser
229.  def templateBodyOpt(parenMeansSyntaxError: Boolean): (Global.ValDef, List[Global.Tree])
     Definition Classes
       Parser
230.  def templateOpt(mods: Global.Modifiers, name: Global.Name, constrMods: Global.Modifiers, vparamss: List[List[Global.ValDef]], tstart: Parsers.Offset): Global.Template

         ClassTemplateOpt ::= `extends` ClassTemplate | [[`extends`] TemplateBody]
         TraitTemplateOpt ::= TraitExtends TraitTemplate | [[TraitExtends] TemplateBody]
         TraitExtends     ::= `extends` | `<:` (deprecated)

     Definition Classes
       Parser
231.  def templateOrTopStatSeq(): List[Global.Tree]
     Definition Classes
       Parser
232.  def templateParents(): List[Global.Tree]

         ClassParents       ::= AnnotType {`(` [Exprs] `)`} {with AnnotType}
         TraitParents       ::= AnnotType {with AnnotType}

     Definition Classes
       Parser
233.  def templateStat: PartialFunction[Parsers.Token, List[Global.Tree]]
     Definition Classes
       Parser
234.  def templateStatSeq(isPre: Boolean): (Global.ValDef, List[Global.Tree])

         TemplateStatSeq  ::= [id [`:` Type] `=>`] TemplateStats

     isPre

       specifies whether in early initializer (true) or not (false)

     Definition Classes
       Parser
235.  def templateStats(): List[Global.Tree]

         TemplateStats    ::= TemplateStat {semi TemplateStat}
         TemplateStat     ::= Import
                            | Annotations Modifiers Def
                            | Annotations Modifiers Dcl
                            | Expr1
                            | super ArgumentExprs {ArgumentExprs}
                            |

     Definition Classes
       Parser
236.  def tmplDef(pos: Parsers.Offset, mods: Global.Modifiers): Global.Tree

         TmplDef ::= [case] class ClassDef
                   |  [case] object ObjectDef
                   |  [override] trait TraitDef

     Definition Classes
       Parser
237.  def toString(): String
     Definition Classes
       AnyRef → Any
238.  final def tokenSeparated[T](separator: Parsers.Token, part: => T): List[T]

     .

         part { `sep` part }

     . part { `sep` part } }}}

     Definition Classes
       Parser → ParserCommon
239.  def topLevelTmplDef: Global.Tree

     Hook for IDE, for top-level classes/objects.

     Hook for IDE, for top-level classes/objects.

     Definition Classes
       Parser
240.  def topStat: PartialFunction[Parsers.Token, List[Global.Tree]]
     Definition Classes
       Parser
241.  def topStatSeq(): List[Global.Tree]

         TopStatSeq ::= TopStat {semi TopStat}
         TopStat ::= Annotations Modifiers TmplDef
                   | Packaging
                   | package object ObjectDef
                   | Import
                   |

     Definition Classes
       Parser
242.  val treeBuilder: ParserTreeBuilder
     Definition Classes
       Parser
243.  def typ(): Global.Tree

     These are default entry points into the pattern context sensitive methods: they are all initiated from non-pattern context.

     These are default entry points into the pattern context sensitive methods: they are all initiated from non-pattern context.

     Definition Classes
       Parser
244.  def typeBounds(): Global.TypeBoundsTree

         TypeBounds ::= [`>:` Type] [`<:` Type]

     Definition Classes
       Parser
245.  def typeDefOrDcl(start: Parsers.Offset, mods: Global.Modifiers): Global.Tree

         TypeDef ::= type Id [TypeParamClause] `=` Type
                   | FunSig `=` Expr
         TypeDcl ::= type Id [TypeParamClause] TypeBounds

     Definition Classes
       Parser
246.  def typeOrInfixType(location: Location): Global.Tree
     Definition Classes
       Parser
247.  def typeParamClauseOpt(owner: Global.Name, contextBoundBuf: ListBuffer[Global.Tree], ownerKind: ParamOwner): List[Global.TypeDef]

         TypeParamClauseOpt    ::= [TypeParamClause]
         TypeParamClause       ::= `[` VariantTypeParam {`,` VariantTypeParam} `]`]
         VariantTypeParam      ::= {Annotation} [`+` | `-`] TypeParam
         FunTypeParamClauseOpt ::= [FunTypeParamClause]
         FunTypeParamClause    ::= `[` TypeParam {`,` TypeParam} `]`]
         TypeParam             ::= Id TypeParamClauseOpt TypeBounds {`<%` Type} {`:` Type}

     Definition Classes
       Parser
248.  def typedOpt(): Global.Tree

         TypedOpt ::= [`:` Type]

     Definition Classes
       Parser
249.  val unit: Global.CompilationUnit
     Definition Classes
       UnitParser → SourceFileParser → Parser
250.  final def wait(): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
251.  final def wait(arg0: Long, arg1: Int): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException])
252.  final def wait(arg0: Long): Unit
     Definition Classes
       AnyRef
     Annotations
       @throws(classOf[java.lang.InterruptedException]) @native()
253.  def warning(offset: Parsers.Offset, msg: String, category: WarningCategory): Unit
     Definition Classes
       UnitParser → SourceFileParser → Parser
254.  def warning(msg: String, category: WarningCategory): Unit
     Definition Classes
       Parser
255.  def wildImportSelector(): Global.ImportSelector
     Definition Classes
       Parser
256.  def wildcardOrIdent(): Global.Name
     Definition Classes
       Parser
257.  def wildcardType(start: Parsers.Offset, qmark: Boolean): Global.Ident

         WildcardType ::= `_` TypeBounds

     Definition Classes
       Parser
258.  def withPatches(patches: List[BracePatch]): UnitParser
259.  def xmlLiteral(): Global.Tree
     Definition Classes
       SourceFileParser → Parser
260.  def xmlLiteralPattern(): Global.Tree
     Definition Classes
       SourceFileParser → Parser
261.  final val xmlSeqOK: SeqContextSensitive

     For use from xml pattern, where sequence is allowed and encouraged.

     For use from xml pattern, where sequence is allowed and encouraged.

     Definition Classes
       Parser
262.  def xmlSeqPatterns(): List[Global.Tree]
     Definition Classes
       Parser

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from UnitParser toStringFormat[UnitParser] 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 precedence(operator: Global.Name): Int
   Definition Classes
     Parser
   Annotations
     @deprecated
   Deprecated

     (Since version 2.11.0) Use `scala.reflect.internal.Precedence`

3.  def →[B](y: B): (UnitParser, B)
   Implicit
     This member is added by an implicit conversion from UnitParser toArrowAssoc[UnitParser] 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 SourceFileParser

### Inherited from Parser

### Inherited from Parsers.ParserCommon

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromUnitParser to any2stringadd[UnitParser]

### Inherited by implicit conversion StringFormat fromUnitParser to StringFormat[UnitParser]

### Inherited by implicit conversion Ensuring fromUnitParser to Ensuring[UnitParser]

### Inherited by implicit conversion ArrowAssoc fromUnitParser to ArrowAssoc[UnitParser]

### Ungrouped