abstract class ParserCommon extends AnyRef
This is now an abstract class, only to work around the optimizer: methods in traits are never inlined.
- Source
- Parsers.scala
- Alphabetic
- By Inheritance
- ParserCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ParserCommon()
Abstract Value Members
- abstract def accept(token: ParsersCommon.Token): Int
- abstract def deprecationWarning(off: ParsersCommon.Offset, msg: String, since: String): Unit
- abstract val in: ParsersCommon.ScannerCommon
Concrete Value Members
- final def commaSeparated[T](part: => T): List[T]
, with the separator fixed to commas.
tokenSeparated
, with the separator fixed to commas. tokenSeparated }}}
- Annotations
- @inline()
- final def dropAnyBraces[T](body: => T): T
- Annotations
- @inline()
- final def inBraces[T](body: => T): T
- Annotations
- @inline()
- final def inBracesOrError[T](body: => T, alt: T): T
- Annotations
- @inline()
- final def inBracesOrNil[T](body: => List[T]): List[T]
- Annotations
- @inline()
- final def inBracesOrUnit[T](body: => Global.Tree): Global.Tree
- Annotations
- @inline()
- final def inBrackets[T](body: => T): T
- Annotations
- @inline()
- final def inGroupers[T](left: ParsersCommon.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.
- Annotations
- @inline()
- final def inParens[T](body: => T): T
- Annotations
- @inline()
- final def inParensOrError[T](body: => T, alt: T): T
- Annotations
- @inline()
- final def inParensOrNil[T](body: => List[T]): List[T]
- Annotations
- @inline()
- final def inParensOrUnit[T](body: => Global.Tree): Global.Tree
- Annotations
- @inline()
- 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.)
- Annotations
- @inline()
- def separatedToken[T](separator: ParsersCommon.Token, part: => T): List[T]
.
{ `sep` part }
. {
sep
part } }}} - def tokenSeparated[T](separator: ParsersCommon.Token, part: => T): List[T]
.
{ `sep` part }
. {
sep
part } }}}
The Scala compiler and reflection APIs.