class UnitParser extends SourceFileParser
- Alphabetic
- By Inheritance
- UnitParser
- SourceFileParser
- Parser
- ParserCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UnitParser(unit: Global.CompilationUnit)
- new UnitParser(unit: Global.CompilationUnit, patches: List[BracePatch])
Type Members
- class ParserTreeBuilder extends TreeBuilder
- Definition Classes
- Parser
- 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
- 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
- object InfixMode extends Enumeration
Modes for infix types.
Modes for infix types.
- Definition Classes
- Parser
- object symbXMLBuilder extends SymbolicXMLBuilder
- Definition Classes
- SourceFileParser
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- 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
- 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()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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
- def acceptStatSep(): Unit
semi = nl {nl} | `;` nl = `\n` // where allowed
- Definition Classes
- Parser
- def acceptStatSepOpt(): Unit
- Definition Classes
- Parser
- def accessModifierOpt(): Global.Modifiers
AccessModifier ::= (private | protected) [AccessQualifier]
- Definition Classes
- Parser
- def accessQualifierOpt(mods: Global.Modifiers): Global.Modifiers
AccessQualifier ::= `[` (Id | this) `]`
- Definition Classes
- Parser
- def annotTypeRest(t: Global.Tree): Global.Tree
- Definition Classes
- Parser
- def annotationExpr(): Global.Tree
- Definition Classes
- Parser
- def annotations(skipNewLines: Boolean): List[Global.Tree]
Annotations ::= {`@` SimpleType {ArgumentExprs}} ConstrAnnotations ::= {`@` SimpleType ArgumentExprs}
- Definition Classes
- Parser
- def argumentExprs(): List[Global.Tree]
ArgumentExprs ::= `(` [Exprs] `)` | [nl] BlockExpr
- Definition Classes
- Parser
- def argumentPatterns(): List[Global.Tree]
- Definition Classes
- Parser
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val assumedClosingParens: Map[Int, Int]
- Definition Classes
- Parser
- def atInPos[T <: Global.Tree](t: T): T
- Definition Classes
- Parser
- def atPos[T <: Global.Tree](pos: Global.Position)(t: T): T
- Definition Classes
- Parser
- def atPos[T <: Global.Tree](start: Parsers.Offset, point: Parsers.Offset, end: Parsers.Offset)(t: T): T
- Definition Classes
- Parser
- def atPos[T <: Global.Tree](start: Parsers.Offset, point: Parsers.Offset)(t: T): T
- Definition Classes
- Parser
- def atPos[T <: Global.Tree](offset: Parsers.Offset)(t: T): T
- Definition Classes
- Parser
- def block(): Global.Tree
Block ::= BlockStatSeq
- Definition Classes
- Parser
- Note
Return tree does not carry position.
- def blockExpr(): Global.Tree
BlockExpr ::= `{` (CaseClauses | Block) `}`
- Definition Classes
- Parser
- def blockStatSeq(): List[Global.Tree]
BlockStatSeq ::= { BlockStat semi } [ResultExpr] BlockStat ::= Import | Annotations [implicit] [lazy] Def | Annotations LocalModifiers TmplDef | Expr1 |
- Definition Classes
- Parser
- def bound(tok: Parsers.Token): Global.Tree
- Definition Classes
- Parser
- def caseBlock(): Global.Tree
- Definition Classes
- Parser
- def caseClause(): Global.CaseDef
- Definition Classes
- Parser
- def caseClauses(): List[Global.CaseDef]
CaseClauses ::= CaseClause {CaseClause} CaseClause ::= case Pattern [Guard] `=>` Block
- Definition Classes
- Parser
- final def caseSeparated[T](part: => T): List[T]
- Definition Classes
- Parser
- Annotations
- @inline()
- def checkAssoc(offset: Parsers.Offset, op: Global.Name, leftAssoc: Boolean): Unit
- Definition Classes
- Parser
- def checkHeadAssoc(leftAssoc: Boolean): Unit
- Definition Classes
- Parser
- def checkNoEscapingPlaceholders[T](op: => T): T
- Definition Classes
- Parser
- 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
- 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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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()
- def compilationUnit(): Global.PackageDef
CompilationUnit ::= {package QualId semi} TopStatSeq
- Definition Classes
- Parser
- def condExpr(): Global.Tree
- Definition Classes
- Parser
- def constrBlock(vparamss: List[List[Global.ValDef]]): Global.Tree
ConstrBlock ::= `{` SelfInvocation {semi BlockStat} `}`
- Definition Classes
- Parser
- def constrExpr(vparamss: List[List[Global.ValDef]]): Global.Tree
ConstrExpr ::= SelfInvocation | ConstrBlock
- Definition Classes
- Parser
- def constructorAnnotations(): List[Global.Tree]
- Definition Classes
- Parser
- def convertToParam(tree: Global.Tree): Global.ValDef
Convert tree to formal parameter.
Convert tree to formal parameter.
- Definition Classes
- Parser
- def convertToParams(tree: Global.Tree): List[Global.ValDef]
Convert tree to formal parameter list.
Convert tree to formal parameter list.
- Definition Classes
- Parser
- def convertToTypeId(tree: Global.Tree): Global.Tree
Convert (qual)ident to type identifier.
Convert (qual)ident to type identifier.
- Definition Classes
- Parser
- 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
- def deprecationWarning(offset: Parsers.Offset, msg: String, since: String): Unit
- Definition Classes
- UnitParser → SourceFileParser → ParserCommon
- final def dropAnyBraces[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- def ensureEarlyDef(tree: Global.Tree): Global.Tree
- Definition Classes
- Parser
- 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
- 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
- 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
- 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
- def enumerator(isFirst: Boolean, allowNestedIf: Boolean = true): List[Global.Tree]
- Definition Classes
- Parser
- def enumerators(): List[Global.Tree]
Enumerators ::= Generator {semi Enumerator} Enumerator ::= Generator | Guard | Pattern1 `=` Expr
- Definition Classes
- Parser
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def errorPatternTree: Global.Ident
- Definition Classes
- Parser
- def errorTermTree: Global.Literal
- Definition Classes
- Parser
- def errorTypeTree: Global.TypeTree
- Definition Classes
- Parser
- def expectedMsg(token: Parsers.Token): String
- Definition Classes
- Parser
- def expectedMsgTemplate(exp: String, fnd: String): String
- Definition Classes
- Parser
- def expr(location: Location): Global.Tree
- Definition Classes
- Parser
- 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
- def expr0(location: Location): Global.Tree
- Definition Classes
- Parser
- def exprSimpleType(): Global.Tree
- Definition Classes
- Parser
- def exprTypeArgs(): List[Global.Tree]
- Definition Classes
- Parser
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def finishBinaryOp(isExpr: Boolean, opinfo: OpInfo, rhs: Global.Tree): Global.Tree
- Definition Classes
- Parser
- def finishPostfixOp(start: Int, base: List[OpInfo], opinfo: OpInfo): Global.Tree
- Definition Classes
- Parser
- 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
- @inline()
- implicit def fresh: FreshNameCreator
- Definition Classes
- Parser
- 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
- def funDefRest(start: Parsers.Offset, nameOffset: Parsers.Offset, mods: Global.Modifiers, name: Global.Name): Global.Tree
- Definition Classes
- Parser
- def generator(eqOK: Boolean, allowNestedIf: Boolean = true): List[Global.Tree]
Generator ::= Pattern1 (`<-` | `=`) Expr [Guard]
- Definition Classes
- Parser
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def guard(): Global.Tree
Guard ::= if PostfixExpr
- Definition Classes
- Parser
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def ident(): Global.Name
- Definition Classes
- Parser
- def ident(skipIt: Boolean): Global.Name
Assumed (provisionally) to be TermNames.
Assumed (provisionally) to be TermNames.
- Definition Classes
- Parser
- def identForType(skipIt: Boolean): Global.TypeName
- Definition Classes
- Parser
- 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
- def identOrMacro(): Global.Name
- Definition Classes
- Parser
- def implicitClosure(start: Parsers.Offset, location: Location): Global.Tree
Expr ::= implicit Id `=>` Expr
- Definition Classes
- Parser
- def importClause(): List[Global.Tree]
Import ::= import ImportExpr {`,` ImportExpr}
- Definition Classes
- Parser
- def importExpr(): Global.Tree
ImportExpr ::= StableId `.` (Id | `_` | ImportSelectors)
- Definition Classes
- Parser
- def importSelector(): Global.ImportSelector
ImportSelector ::= Id [`=>` Id | `=>` `_`]
- Definition Classes
- Parser
- def importSelectors(): List[Global.ImportSelector]
ImportSelectors ::= `{` {ImportSelector `,`} (ImportSelector | `_`) `}`
- Definition Classes
- Parser
- val in: Parsers.Scanner
- Definition Classes
- SourceFileParser → Parser → ParserCommon
- final def inBraces[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrError[T](body: => T, alt: T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrNil[T](body: => List[T]): List[T]
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inBrackets[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- 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()
- final def inParens[T](body: => T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrError[T](body: => T, alt: T): T
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrNil[T](body: => List[T]): List[T]
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
- Definition Classes
- ParserCommon
- Annotations
- @inline()
- def incompleteInputError(msg: String): Unit
- Definition Classes
- UnitParser → SourceFileParser → Parser
- def isAnnotation: Boolean
- Definition Classes
- Parser
- def isCaseDefEnd: Boolean
- Definition Classes
- Parser
- def isDclIntro: Boolean
- Definition Classes
- Parser
- def isDefIntro: Boolean
- Definition Classes
- Parser
- def isExprIntro: Boolean
- Definition Classes
- Parser
- def isExprIntroToken(token: Parsers.Token): Boolean
- Definition Classes
- Parser
- def isIdent: Boolean
- Definition Classes
- Parser
- def isIdentExcept(except: Global.Name): Boolean
- Definition Classes
- Parser
- def isIdentOf(name: Global.Name): Boolean
- Definition Classes
- Parser
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isLiteral: Boolean
- Definition Classes
- Parser
- def isLiteralToken(token: Parsers.Token): Boolean
- Definition Classes
- Parser
- def isLocalModifier: Boolean
- Definition Classes
- Parser
- def isMacro: Boolean
- Definition Classes
- Parser
- def isModifier: Boolean
- Definition Classes
- Parser
- def isNumericLit: Boolean
- Definition Classes
- Parser
- def isRawBar: Boolean
- Definition Classes
- Parser
- def isRawIdent: Boolean
- Definition Classes
- Parser
- def isRawStar: Boolean
- Definition Classes
- Parser
- def isStatSep: Boolean
- Definition Classes
- Parser
- def isStatSep(token: Parsers.Token): Boolean
- Definition Classes
- Parser
- def isStatSeqEnd: Boolean
- Definition Classes
- Parser
- def isTemplateIntro: Boolean
- Definition Classes
- Parser
- def isTypeIntroToken(token: Parsers.Token): Boolean
- Definition Classes
- Parser
- def isTypedParam(t: Global.Tree): Boolean
- Definition Classes
- Parser
- def isUnaryOp: Boolean
- Definition Classes
- Parser
- final def isWildcard(t: Global.Tree): Boolean
- Definition Classes
- Parser
- Annotations
- @tailrec()
- 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
- def literal(isNegated: Boolean = false, inPattern: Boolean = false, start: Parsers.Offset = in.offset): Global.Tree
SimpleExpr ::= literal | symbol | null
- Definition Classes
- Parser
- 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
- def localModifiers(): Global.Modifiers
LocalModifiers ::= {LocalModifier} LocalModifier ::= abstract | final | sealed | implicit | lazy
- Definition Classes
- Parser
- 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()
- 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
- def makeEmptyPackage(start: Parsers.Offset, stats: List[Global.Tree]): Global.PackageDef
- Definition Classes
- Parser
- def makeFilter(start: Parsers.Offset, tree: Global.Tree): Global.Apply
- Definition Classes
- Parser
- 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
- 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()
- 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
- 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
- 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
- def mixinQualifierOpt(): Global.TypeName
MixinQualifier ::= `[` Id `]`
- Definition Classes
- Parser
- def modifiers(): Global.Modifiers
Modifiers ::= {Modifier} Modifier ::= LocalModifier | AccessModifier | override
- Definition Classes
- Parser
- def multipleArgumentExprs(): List[List[Global.Tree]]
A succession of argument lists.
A succession of argument lists.
- Definition Classes
- Parser
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newLineOpt(): Unit
- Definition Classes
- Parser
- def newLineOptWhenFollowedBy(token: Parsers.Offset): Unit
- Definition Classes
- Parser
- def newLineOptWhenFollowing(p: (Parsers.Token) => Boolean): Unit
- Definition Classes
- Parser
- def newLinesOpt(): Unit
- Definition Classes
- Parser
- def newScanner(): Parsers.UnitScanner
- Definition Classes
- UnitParser → SourceFileParser
- 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
- def nonLocalDefOrDcl: List[Global.Tree]
- Definition Classes
- Parser
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def o2p(offset: Parsers.Offset): Global.Position
- Definition Classes
- Parser
- def objectDef(start: Parsers.Offset, mods: Global.Modifiers, isPackageObject: Boolean = false): Global.ModuleDef
ObjectDef ::= Id ClassTemplateOpt
- Definition Classes
- Parser
- var opstack: List[OpInfo]
- Definition Classes
- Parser
- 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
- 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
- def packageOrPackageObject(start: Parsers.Offset): Global.Tree
- Definition Classes
- Parser
- def param(owner: Global.Name, implicitmod: Long, caseParam: Boolean): Global.ValDef
- Definition Classes
- Parser
- 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
- def paramType(repeatedParameterOK: Boolean, useStartAsPosition: Boolean): Global.Tree
- Definition Classes
- Parser
- def paramType(): Global.Tree
ParamType ::= Type | `=>` Type | Type `*`
- Definition Classes
- Parser
- def parse(): Global.Tree
This is the general parse entry point.
This is the general parse entry point.
- Definition Classes
- Parser
- def parseRule[T](rule: (UnitParser.this.type) => T): T
- Definition Classes
- Parser
- 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
- 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
- def parseStatsOrPackages(): List[Global.Tree]
- Definition Classes
- Parser
- 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
- def path(thisOK: Boolean, typeOK: Boolean): Global.Tree
Path ::= StableId | [Ident `.`] this AnnotType ::= Path [`.` type]
- Definition Classes
- Parser
- def pattern(): Global.Tree
Default entry points into some pattern contexts.
Default entry points into some pattern contexts.
- Definition Classes
- Parser
- def peekingAhead(tree: => Global.Tree): Global.Tree
Perform an operation while peeking ahead.
Perform an operation while peeking ahead. Pushback if the operation yields an empty tree or blows to pieces.
- Definition Classes
- Parser
- Annotations
- @inline()
- 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
- def placeholderTypeBoundary(op: => Global.Tree): Global.Tree
- Definition Classes
- Parser
- 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
- def postfixExpr(): Global.Tree
PostfixExpr ::= InfixExpr [Id [nl]] InfixExpr ::= PrefixExpr | InfixExpr Id [nl] InfixExpr
- Definition Classes
- Parser
- def prefixExpr(): Global.Tree
PrefixExpr ::= [`-` | `+` | `~` | `!`] SimpleExpr
- Definition Classes
- Parser
- def qualId(): Global.Tree
QualId ::= Id {`.` Id}
- Definition Classes
- Parser
- def r2p(offset: Parsers.Offset): Global.Position
- Definition Classes
- Parser
- def r2p(start: Parsers.Offset, mid: Parsers.Offset): Global.Position
- Definition Classes
- Parser
- def r2p(start: Parsers.Offset, mid: Parsers.Offset, end: Parsers.Offset): Global.Position
- Definition Classes
- Parser
- def rawIdent(): Global.Name
- Definition Classes
- Parser
- def readAnnots(part: => Global.Tree): List[Global.Tree]
- Definition Classes
- Parser
- def reduceExprStack(base: List[OpInfo], top: Global.Tree): Global.Tree
- Definition Classes
- Parser
- def reducePatternStack(base: List[OpInfo], top: Global.Tree): Global.Tree
- Definition Classes
- Parser
- def reduceStack(isExpr: Boolean, base: List[OpInfo], top: Global.Tree, opPrecedence: Precedence, leftAssoc: Boolean): Global.Tree
- Definition Classes
- Parser
- def reduceStack(isExpr: Boolean, base: List[OpInfo], top: Global.Tree): Global.Tree
- Definition Classes
- Parser
- def refineStat(): List[Global.Tree]
- Definition Classes
- Parser
- def refineStatSeq(): List[Global.Tree]
RefineStatSeq ::= RefineStat {semi RefineStat} RefineStat ::= Dcl | type TypeDef |
- Definition Classes
- Parser
- def refinement(): List[Global.Tree]
Refinement ::= [nl] `{` RefineStat {semi RefineStat} `}`
- Definition Classes
- Parser
- def resetPackage(): Unit
- Definition Classes
- Parser
- 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
- def selector(t: Global.Tree): Global.Tree
- Definition Classes
- Parser
- final def selectors(t: Global.Tree, typeOK: Boolean, dotOffset: Parsers.Offset): Global.Tree
- Definition Classes
- Parser
- Annotations
- @tailrec()
- def selfInvocation(vparamss: List[List[Global.ValDef]]): Global.Tree
SelfInvocation ::= this ArgumentExprs {ArgumentExprs}
- Definition Classes
- Parser
- final def separatedToken[T](separator: Parsers.Token, part: => T): List[T]
.
{ `sep` part }
. {
sep
part } }}}- Definition Classes
- Parser → ParserCommon
- 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
- def seqPatterns(): List[Global.Tree]
- Definition Classes
- Parser
- def setInPos[T <: Global.Tree](t: T): T
- Definition Classes
- Parser
- def showSyntaxErrors(): Unit
- def simpleExpr(): Global.Tree
SimpleExpr ::= new (ClassTemplate | TemplateBody) | BlockExpr | SimpleExpr1 [`_`] SimpleExpr1 ::= literal | xLiteral | Path | `(` [Exprs] `)` | SimpleExpr `.` Id | SimpleExpr TypeArgs | SimpleExpr1 ArgumentExprs
- Definition Classes
- Parser
- final def simpleExprRest(t: Global.Tree, canApply: Boolean): Global.Tree
- Definition Classes
- Parser
- Annotations
- @tailrec()
- def skip(targetToken: Parsers.Token): Unit
- Attributes
- protected
- Definition Classes
- Parser
- def smartParse(): Global.Tree
parse unit.
parse unit. If there are unbalanced braces, try to correct them and reparse.
- val source: SourceFile
- Definition Classes
- SourceFileParser → Parser
- def stableId(): Global.Tree
StableId ::= Id | Path `.` Id | [id `.`] super [`[` id `]`]`.` id
- Definition Classes
- Parser
- def startAnnotType(): Global.Tree
- Definition Classes
- Parser
- def startInfixType(): Global.Tree
- Definition Classes
- Parser
- def statSeq(stat: PartialFunction[Parsers.Token, List[Global.Tree]], errorMsg: String = "illegal start of definition"): List[Global.Tree]
- Definition Classes
- Parser
- def statement(location: Location): Global.Tree
- Definition Classes
- Parser
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def syntaxError(offset: Parsers.Offset, msg: String): Unit
- Definition Classes
- UnitParser → SourceFileParser → Parser
- def syntaxError(offset: Parsers.Offset, msg: String, skipIt: Boolean): Unit
- Definition Classes
- Parser
- def syntaxError(msg: String, skipIt: Boolean): Unit
- Definition Classes
- Parser
- def syntaxErrorOrIncomplete(msg: String, skipIt: Boolean): Unit
- Definition Classes
- Parser
- def syntaxErrorOrIncompleteAnd[T](msg: String, skipIt: Boolean)(and: T): T
- Definition Classes
- Parser
- val syntaxErrors: ListBuffer[(Int, String)]
- 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
- 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
- def templateBodyOpt(parenMeansSyntaxError: Boolean): (Global.ValDef, List[Global.Tree])
- Definition Classes
- Parser
- 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
- def templateOrTopStatSeq(): List[Global.Tree]
- Definition Classes
- Parser
- def templateParents(): List[Global.Tree]
ClassParents ::= AnnotType {`(` [Exprs] `)`} {with AnnotType} TraitParents ::= AnnotType {with AnnotType}
- Definition Classes
- Parser
- def templateStat: PartialFunction[Parsers.Token, List[Global.Tree]]
- Definition Classes
- Parser
- 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
- def templateStats(): List[Global.Tree]
TemplateStats ::= TemplateStat {semi TemplateStat} TemplateStat ::= Import | Annotations Modifiers Def | Annotations Modifiers Dcl | Expr1 | super ArgumentExprs {ArgumentExprs} |
- Definition Classes
- Parser
- def tmplDef(pos: Parsers.Offset, mods: Global.Modifiers): Global.Tree
TmplDef ::= [case] class ClassDef | [case] object ObjectDef | [override] trait TraitDef
- Definition Classes
- Parser
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def tokenSeparated[T](separator: Parsers.Token, part: => T): List[T]
.
part { `sep` part }
. part {
sep
part } }}}- Definition Classes
- Parser → ParserCommon
- def topLevelTmplDef: Global.Tree
Hook for IDE, for top-level classes/objects.
Hook for IDE, for top-level classes/objects.
- Definition Classes
- Parser
- def topStat: PartialFunction[Parsers.Token, List[Global.Tree]]
- Definition Classes
- Parser
- def topStatSeq(): List[Global.Tree]
TopStatSeq ::= TopStat {semi TopStat} TopStat ::= Annotations Modifiers TmplDef | Packaging | package object ObjectDef | Import |
- Definition Classes
- Parser
- val treeBuilder: ParserTreeBuilder
- Definition Classes
- Parser
- 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
- def typeBounds(): Global.TypeBoundsTree
TypeBounds ::= [`>:` Type] [`<:` Type]
- Definition Classes
- Parser
- 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
- def typeOrInfixType(location: Location): Global.Tree
- Definition Classes
- Parser
- def typeParamClauseOpt(owner: Global.Name, contextBoundBuf: ListBuffer[Global.Tree]): 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
- def typedOpt(): Global.Tree
TypedOpt ::= [`:` Type]
- Definition Classes
- Parser
- val unit: Global.CompilationUnit
- Definition Classes
- UnitParser → SourceFileParser → Parser
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def warning(offset: Parsers.Offset, msg: String, category: WarningCategory): Unit
- Definition Classes
- UnitParser → SourceFileParser → Parser
- def warning(msg: String, category: WarningCategory): Unit
- Definition Classes
- Parser
- def wildImportSelector(): Global.ImportSelector
- Definition Classes
- Parser
- def wildcardOrIdent(): Global.Name
- Definition Classes
- Parser
- def wildcardType(start: Parsers.Offset): Global.Ident
WildcardType ::= `_` TypeBounds
- Definition Classes
- Parser
- def withPatches(patches: List[BracePatch]): UnitParser
- def xmlLiteral(): Global.Tree
- Definition Classes
- SourceFileParser → Parser
- def xmlLiteralPattern(): Global.Tree
- Definition Classes
- SourceFileParser → Parser
- 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
- def xmlSeqPatterns(): List[Global.Tree]
- Definition Classes
- Parser
Deprecated Value Members
- def precedence(operator: Global.Name): Int
- Definition Classes
- Parser
- Annotations
- @deprecated
- Deprecated
(Since version 2.11.0) Use
scala.reflect.internal.Precedence
- 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.
The Scala compiler and reflection APIs.