trait Parsers extends Scanners with MarkupParsers with ParsersCommon
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
- Self Type
- Parsers
- Source
- Parsers.scala
- Alphabetic
- By Inheritance
- Parsers
- ParsersCommon
- MarkupParsers
- Scanners
- ScannersCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- class MarkupParser extends MarkupParserCommon
- Definition Classes
- MarkupParsers
- type Location = Int
- type Offset = Int
Offset into source character array
Offset into source character array
- Definition Classes
- ScannersCommon
- case class OpInfo(lhs: Global.Tree, operator: Global.TermName, targs: List[Global.Tree], offset: Parsers.Offset) extends Product with Serializable
- class OutlineParser extends SourceFileParser
- type ParamOwner = Int
- abstract class Parser extends ParserCommon
- class SourceFileParser extends Parser
- type Token = Int
- Definition Classes
- ScannersCommon
- class UnitParser extends SourceFileParser
- abstract class ParserCommon extends AnyRef
This is now an abstract class, only to work around the optimizer: methods in traits are never inlined.
This is now an abstract class, only to work around the optimizer: methods in traits are never inlined.
- Definition Classes
- ParsersCommon
- class MalformedInput extends Exception
- Definition Classes
- Scanners
- class ParensAnalyzer extends UnitScanner
- Definition Classes
- Scanners
- abstract class Scanner extends CharArrayReader with TokenData with ScannerData with ScannerCommon with DocScanner
- Definition Classes
- Scanners
- trait ScannerData extends TokenData with CharArrayReaderData
An interface to most of mutable data in Scanner defined in TokenData and CharArrayReader (+ next, prev fields) with copyFrom functionality to backup/restore data (used by quasiquotes' lookingAhead).
An interface to most of mutable data in Scanner defined in TokenData and CharArrayReader (+ next, prev fields) with copyFrom functionality to backup/restore data (used by quasiquotes' lookingAhead).
- Definition Classes
- Scanners
- class SourceFileScanner extends Scanner
A scanner for a given source file not necessarily attached to a compilation unit.
A scanner for a given source file not necessarily attached to a compilation unit. Useful for looking inside source files that are not currently compiled to see what's there
- Definition Classes
- Scanners
- trait TokenData extends CommonTokenData
- Definition Classes
- Scanners
- class UnitScanner extends SourceFileScanner
A scanner over a given compilation unit
A scanner over a given compilation unit
- Definition Classes
- Scanners
- trait CommonTokenData extends AnyRef
- Definition Classes
- ScannersCommon
- trait DocScanner extends AnyRef
- Definition Classes
- ScannersCommon
- trait ScannerCommon extends CommonTokenData
- Definition Classes
- ScannersCommon
Abstract Value Members
- abstract val global: Global
- Definition Classes
- Parsers → ParsersCommon → Scanners → ScannersCommon
Concrete Value Members
- case object ConfusedAboutBracesControl extends ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
- case object MissingEndTagControl extends ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
- case object TruncatedXMLControl extends ControlThrowable with Product with Serializable
- Definition Classes
- MarkupParsers
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Parsers, B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val InBlock: Location
- final val InTemplate: Location
- final val Local: Location
- lazy val ScalaValueClassNames: collection.immutable.Seq[Global.TypeName]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def createKeywordArray(keywords: Seq[(Global.Name, Token)], defaultToken: Token): (Token, Array[Token])
- Definition Classes
- ScannersCommon
- def ensuring(cond: (Parsers) => Boolean, msg: => Any): Parsers
- def ensuring(cond: (Parsers) => Boolean): Parsers
- def ensuring(cond: Boolean, msg: => Any): Parsers
- def ensuring(cond: Boolean): Parsers
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def literalUnit: Global.Literal
- Definition Classes
- ParsersCommon
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newLiteral(const: Any): Global.Literal
- Definition Classes
- ParsersCommon
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final val scala3Keywords: Set[Global.TermName]
- Definition Classes
- Scanners
- final val softModifierNames: Set[Global.TermName]
- Definition Classes
- Scanners
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final val token2name: Map[Int, Global.Name]
- Definition Classes
- Scanners
- def token2string(token: Token): String
Returns the string representation of given token.
Returns the string representation of given token.
- Definition Classes
- Scanners
- 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()
- object ParamOwner
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Parsers toStringFormat[Parsers] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (Parsers, B)
- Implicit
- This member is added by an implicit conversion from Parsers toArrowAssoc[Parsers] 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.