Class/Object

scala.meta.internal.parsers

ScalametaParser

Related Docs: object ScalametaParser | package parsers

Permalink

class ScalametaParser extends AnyRef

Self Type
ScalametaParser
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalametaParser
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ScalametaParser(input: Input, dialect: Dialect)

    Permalink

Type Members

  1. trait CanEndStat extends AnyRef

    Permalink
  2. trait CantStartStat extends AnyRef

    Permalink
  3. trait CaseDefEnd extends AnyRef

    Permalink
  4. trait CaseIntro extends AnyRef

    Permalink
  5. trait CloseDelim extends AnyRef

    Permalink
  6. trait DclIntro extends AnyRef

    Permalink
  7. trait DefIntro extends AnyRef

    Permalink
  8. trait ExprIntro extends AnyRef

    Permalink
  9. case class IndexPos(index: Int) extends Pos with Product with Serializable

    Permalink
  10. sealed abstract class InfixContext extends AnyRef

    Permalink
  11. class InvalidModCombination[M1 <: Mod, M2 <: Mod] extends AnyRef

    Permalink
  12. trait LineEnd extends AnyRef

    Permalink
  13. trait Literal extends AnyRef

    Permalink
  14. trait LocalModifier extends AnyRef

    Permalink
  15. trait Modifier extends AnyRef

    Permalink
  16. trait NonlocalModifier extends AnyRef

    Permalink
  17. trait NumericLiteral extends AnyRef

    Permalink
  18. trait PatternContextSensitive extends AnyRef

    Permalink

    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.

  19. sealed trait Pos extends AnyRef

    Permalink
  20. trait SeqContextSensitive extends PatternContextSensitive

    Permalink

    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.

  21. trait StatSep extends AnyRef

    Permalink
  22. trait StatSeqEnd extends AnyRef

    Permalink
  23. trait TemplateIntro extends AnyRef

    Permalink
  24. sealed trait TemplateOwner extends AnyRef

    Permalink
  25. trait TokenIterator extends Iterator[Token]

    Permalink
  26. case class TokenPos(token: Token) extends Pos with Product with Serializable

    Permalink
  27. case class TreePos(tree: Tree) extends Pos with Product with Serializable

    Permalink
  28. trait Trivia extends AnyRef

    Permalink
  29. trait TypeIntro extends AnyRef

    Permalink
  30. trait Whitespace extends AnyRef

    Permalink
  31. implicit class XtensionTokenIndex extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to any2stringadd[ScalametaParser] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ScalametaParser, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to ArrowAssoc[ScalametaParser] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. object AutoPos extends Pos with Product with Serializable

    Permalink
  7. object CanEndStat

    Permalink
  8. object CantStartStat

    Permalink
  9. object CaseDefEnd

    Permalink
  10. object CaseIntro

    Permalink
  11. object CloseDelim

    Permalink
  12. object DclIntro

    Permalink
  13. object DefIntro

    Permalink
  14. object ExprIntro

    Permalink
  15. implicit object InvalidFinalAbstract extends InvalidModCombination[Final, Abstract]

    Permalink
  16. implicit object InvalidFinalSealed extends InvalidModCombination[Final, Sealed]

    Permalink
  17. implicit object InvalidOverrideAbstract extends InvalidModCombination[Override, Abstract]

    Permalink
  18. object LineEnd

    Permalink
  19. object Literal

    Permalink
  20. object LocalModifier

    Permalink
  21. object Modifier

    Permalink
  22. object NonlocalModifier

    Permalink
  23. object NumericLiteral

    Permalink
  24. object OwnedByCaseClass extends TemplateOwner

    Permalink
  25. object OwnedByClass extends TemplateOwner

    Permalink
  26. object OwnedByObject extends TemplateOwner

    Permalink
  27. object OwnedByTrait extends TemplateOwner

    Permalink
  28. object StatSep

    Permalink
  29. object StatSeqEnd

    Permalink
  30. object TemplateIntro

    Permalink
  31. object Trivia

    Permalink
  32. object TypeIntro

    Permalink
  33. object Whitespace

    Permalink
  34. def accept[T <: Token](implicit arg0: TokenInfo[T]): Unit

    Permalink

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

  35. def acceptOpt[T <: Token](implicit arg0: TokenInfo[T]): Unit

    Permalink

    If current token is T consume it.

  36. def acceptStatSep(): Unit

    Permalink

    semi = nl {nl} | `;'
    nl  = `\n' // where allowed
  37. def acceptStatSepOpt(): Unit

    Permalink
  38. def accessModifier(): Mod

    Permalink
  39. def accessModifierOpt(): Option[Mod]

    Permalink

    AccessModifier ::= (private | protected) [AccessQualifier]
    AccessQualifier ::= `[' (Id | this) `]'
  40. final def ahead[T](body: ⇒ T): T

    Permalink

    Scoping operator used to temporarily look into the future.

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

    Annotations
    @inline()
  41. def annots(skipNewLines: Boolean, allowArgss: Boolean = true): collection.immutable.List[Annot]

    Permalink

    Annotations      ::= {`@' SimpleType {ArgumentExprs}}
    ConsrAnnotations ::= {`@' SimpleType ArgumentExprs}
  42. def argumentExpr(): Arg

    Permalink
  43. def argumentExprs(): collection.immutable.List[Arg]

    Permalink

    ArgumentExprs ::= `(' [Exprs] `)'
                    | [nl] BlockExpr
  44. def argumentExprsOrPrefixExpr(): collection.immutable.List[Arg]

    Permalink
  45. def argumentPattern(): Arg

    Permalink
  46. def argumentPatterns(): collection.immutable.List[Arg]

    Permalink
  47. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  48. def atPos[T <: Tree](start: Pos, end: Pos)(body: ⇒ T): T

    Permalink
  49. def auto: AutoPos.type

    Permalink
  50. def autoPos[T <: Tree](body: ⇒ T): T

    Permalink
  51. def batchSource(): Source

    Permalink
  52. def block(): Term

    Permalink

    Block ::= BlockStatSeq
    Note

    Return tree does not carry position.

  53. def blockExpr(): Term

    Permalink

    BlockExpr ::= `{' (CaseClauses | Block) `}'
  54. def blockStatSeq(): collection.immutable.List[Stat]

    Permalink

    BlockStatSeq ::= { BlockStat semi } [ResultExpr]
    BlockStat    ::= Import
                   | Annotations [implicit] [lazy] Def
                   | Annotations LocalModifiers TmplDef
                   | Expr1
                   |
  55. def bound[T <: Token](implicit arg0: TokenInfo[T]): Option[Type]

    Permalink
  56. def caseClause(): Case

    Permalink
  57. def caseClauses(): collection.immutable.List[Case]

    Permalink

    CaseClauses ::= CaseClause {CaseClause}
    CaseClause  ::= case Pattern [Guard] `=>' Block
  58. def checkAssoc(op: Term.Name, leftAssoc: Boolean): Unit

    Permalink
  59. def classDef(mods: collection.immutable.List[Mod]): Class

    Permalink

    ClassDef ::= Id [TypeParamClause] {Annotation}
                 [AccessModifier] ClassParamClauses RequiresTypeOpt ClassTemplateOpt
  60. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def commaSeparated[T <: Tree](part: ⇒ T)(implicit arg0: AstInfo[T]): collection.immutable.List[T]

    Permalink
    Annotations
    @inline()
  62. def condExpr(): Term

    Permalink
  63. def constrBlock(): Block

    Permalink

    ConstrBlock    ::=  `{' SelfInvocation {semi BlockStat} `}'
  64. def constrExpr(): Term

    Permalink

    ConstrExpr      ::=  SelfInvocation
                      |  ConstrBlock
  65. def constructorAnnots(): collection.immutable.List[Annot]

    Permalink
  66. def constructorCall(tpe: Type, allowArgss: Boolean = true): Call

    Permalink
  67. def convertToParam(tree: Term): Option[Param]

    Permalink

    Convert tree to formal parameter.

  68. def convertToParams(tree: Term): collection.immutable.List[Param]

    Permalink

    Convert tree to formal parameter list.

  69. def convertToTypeId(ref: Term.Ref): Option[Type]

    Permalink
  70. implicit val currentDialect: Dialect

    Permalink
  71. def defOrDclOrSecondaryCtor(mods: collection.immutable.List[Mod]): Stat

    Permalink

    Def    ::= val PatDef
             | var PatDef
             | def FunDef
             | type [nl] TypeDef
             | TmplDef
    Dcl    ::= val PatDcl
             | var PatDcl
             | def FunDcl
             | type [nl] TypeDcl
  72. final def dropAnyBraces[T](body: ⇒ T): T

    Permalink
    Annotations
    @inline()
  73. def ellipsis[T <: Tree](rank: Int, astInfo: AstInfo[T], extraSkip: ⇒ Unit = {})(implicit arg0: AstInfo[T]): T

    Permalink
  74. def ensureEarlyDef(tree: Stat): Stat

    Permalink
  75. def ensuring(cond: (ScalametaParser) ⇒ Boolean, msg: ⇒ Any): ScalametaParser

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to Ensuring[ScalametaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  76. def ensuring(cond: (ScalametaParser) ⇒ Boolean): ScalametaParser

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to Ensuring[ScalametaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  77. def ensuring(cond: Boolean, msg: ⇒ Any): ScalametaParser

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to Ensuring[ScalametaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  78. def ensuring(cond: Boolean): ScalametaParser

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to Ensuring[ScalametaParser] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  79. def enumerator(isFirst: Boolean, allowNestedIf: Boolean = true): collection.immutable.List[Enumerator]

    Permalink
  80. def enumerators(): collection.immutable.List[Enumerator]

    Permalink

    Enumerators ::= Generator {semi Enumerator}
    Enumerator  ::=  Generator
                  |  Guard
                  |  val Pattern1 `=' Expr
  81. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  82. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  83. def existentialStats(): collection.immutable.List[Stat]

    Permalink
  84. def expr(location: Location): Term

    Permalink
  85. def expr(): Term

    Permalink

    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}
                 | `:' `_' `*'
  86. def exprSimpleType(): Type

    Permalink
  87. def exprTypeArgs(): collection.immutable.List[Type]

    Permalink
  88. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  89. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to StringFormat[ScalametaParser] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  90. def funDefOrDclOrSecondaryCtor(mods: collection.immutable.List[Mod]): Stat

    Permalink

    FunDef ::= FunSig [`:' Type] `=' [`macro'] Expr
            |  FunSig [nl] `{' Block `}'
            |  `this' ParamClause ParamClauses
                   (`=' ConstrExpr | [nl] ConstrBlock)
    FunDcl ::= FunSig [`:' Type]
    FunSig ::= id [FunTypeParamClause] ParamClauses
  91. def funDefRest(mods: collection.immutable.List[Mod]): Stat

    Permalink
  92. def generator(eqOK: Boolean, allowNestedIf: Boolean = true): collection.immutable.List[Enumerator]

    Permalink

    Generator ::= Pattern1 (`<-' | `=') Expr [Guard]
  93. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  94. def guard(): Option[Term]

    Permalink

    Guard ::= if PostfixExpr
  95. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  96. def implicitClosure(location: Location): Term.Function

    Permalink

    Expr ::= implicit Id => Expr
  97. def importStmt(): Import

    Permalink

    Import  ::= import ImportExpr {`,' ImportExpr}
  98. def importWildcardOrName(): Importee

    Permalink
  99. def importee(): Importee

    Permalink

    ImportSelector ::= Id [`=>' Id | `=>' `_']
  100. def importees(): collection.immutable.List[Importee]

    Permalink

    ImportSelectors ::= `{' {ImportSelector `,'} (ImportSelector | `_') `}'
  101. def importer(): Importer

    Permalink

    ImportExpr ::= StableId `.' (Id | `_' | ImportSelectors)
  102. var in: TokenIterator

    Permalink
  103. final def inBraces[T](body: ⇒ T): T

    Permalink
    Annotations
    @inline()
  104. final def inBracesOrError[T](body: ⇒ T, alt: T): T

    Permalink
    Annotations
    @inline()
  105. final def inBracesOrNil[T](body: ⇒ collection.immutable.List[T]): collection.immutable.List[T]

    Permalink
    Annotations
    @inline()
  106. final def inBracesOrUnit[T](body: ⇒ Term): Term

    Permalink
    Annotations
    @inline()
  107. final def inBrackets[T](body: ⇒ T): T

    Permalink
    Annotations
    @inline()
  108. final def inParens[T](body: ⇒ T): T

    Permalink

    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. token.LeftParen) will be returned instead of the contents of the groupers. However in all cases accept[LeftParen] will be called, so a parse error will still result. If the grouping is optional, token should be tested before calling these methods.

    Annotations
    @inline()
  109. final def inParensOrError[T](body: ⇒ T, alt: T): T

    Permalink
    Annotations
    @inline()
  110. final def inParensOrNil[T](body: ⇒ collection.immutable.List[T]): collection.immutable.List[T]

    Permalink
    Annotations
    @inline()
  111. final def inParensOrUnit[T, Ret >: Lit](body: ⇒ Ret): Ret

    Permalink
    Annotations
    @inline()
  112. implicit def intToIndexPos(index: Int): IndexPos

    Permalink
  113. def interpolate[Ctx <: Tree, Ret <: Tree](arg: () ⇒ Ctx, result: (Term.Name, collection.immutable.List[Lit], collection.immutable.List[Ctx]) ⇒ Ret): Ret

    Permalink
  114. def interpolatePat(): Interpolate

    Permalink
  115. def interpolateTerm(): Interpolate

    Permalink
  116. def isBackquoted: Boolean

    Permalink
  117. def isColonWildcardStar: Boolean

    Permalink
  118. def isIdent: Boolean

    Permalink
  119. def isIdentAnd(pred: (String) ⇒ Boolean): Boolean

    Permalink
  120. def isIdentExcept(except: String): Boolean

    Permalink
  121. def isIdentOf(name: String): Boolean

    Permalink
  122. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  123. def isRawAmpersand: Boolean

    Permalink
  124. def isRawBar: Boolean

    Permalink
  125. def isRawStar: Boolean

    Permalink
  126. def isSpliceFollowedBy(check: ⇒ Boolean): Boolean

    Permalink
  127. def isUnaryOp: Boolean

    Permalink
  128. def literal(isNegated: Boolean = false): Lit

    Permalink

    SimpleExpr    ::= literal
                    | symbol
                    | null
  129. def localDef(implicitMod: Option[Implicit]): Stat

    Permalink
  130. def localModifiers(): collection.immutable.List[Mod]

    Permalink

    LocalModifiers ::= {LocalModifier}
    LocalModifier  ::= abstract | final | sealed | implicit | lazy
  131. def makeTuple[T <: Tree](body: collection.immutable.List[T], zero: () ⇒ T, tuple: (collection.immutable.List[T]) ⇒ T): T

    Permalink
  132. def makeTupleTerm(body: collection.immutable.List[Term]): Term

    Permalink
  133. def makeTupleTermParens(bodyf: ⇒ collection.immutable.List[Term]): Term

    Permalink
  134. def makeTupleType(body: collection.immutable.List[Type]): Type

    Permalink
  135. def mixinQualifier(): Qualifier

    Permalink

    MixinQualifier ::= `[' Id `]'
  136. def modifier(): Mod

    Permalink
  137. def modifiers(isLocal: Boolean = false): collection.immutable.List[Mod]

    Permalink

    Modifiers ::= {Modifier}
    Modifier  ::= LocalModifier
                |  AccessModifier
                |  override
  138. implicit def modsToPos(mods: collection.immutable.List[Mod]): Pos

    Permalink
  139. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  140. def newLineOpt(): Unit

    Permalink
  141. def newLineOptWhenFollowedBy[T <: Token](implicit arg0: TokenInfo[T]): Unit

    Permalink
  142. def newLineOptWhenFollowing(p: (Token) ⇒ Boolean): Unit

    Permalink
  143. def newLinesOpt(): Unit

    Permalink
  144. def next(): Token

    Permalink
  145. def nextOnce(): Token

    Permalink
  146. def nextThrice(): Token

    Permalink
  147. def nextTwice(): Token

    Permalink
  148. object noSeq extends SeqContextSensitive

    Permalink

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

  149. def nonLocalDefOrDcl(): Stat

    Permalink
  150. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  151. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  152. def objectDef(mods: collection.immutable.List[Mod]): Object

    Permalink

    ObjectDef       ::= Id ClassTemplateOpt
  153. def onlyAcceptMod[M <: Mod, T <: Token](mods: collection.immutable.List[Mod], errorMsg: String)(implicit classifier: Classifier[Mod, M], tag: ClassTag[M], tokenInfo: TokenInfo[T]): Unit

    Permalink
  154. implicit def optionTreeToPos(tree: Option[Tree]): Pos

    Permalink
  155. object outPattern extends PatternContextSensitive

    Permalink

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

  156. def packageDef(): Pkg

    Permalink
  157. def packageObjectDef(): Object

    Permalink
  158. def packageOrPackageObjectDef(): Stat

    Permalink
  159. def param(ownerIsCase: Boolean, ownerIsType: Boolean, isImplicit: Boolean): Param

    Permalink
  160. def paramClauses(ownerIsType: Boolean, ownerIsCase: Boolean = false): collection.immutable.List[collection.immutable.List[Param]]

    Permalink

    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]
  161. def paramType(): Arg

    Permalink

    ParamType ::= Type | `=>' Type | Type `*'
  162. def parseCase(): Case

    Permalink
  163. def parseCtorCall(): Call

    Permalink
  164. def parseEnumerator(): Enumerator

    Permalink
  165. def parseImportee(): Importee

    Permalink
  166. def parseImporter(): Importer

    Permalink
  167. def parseMod(): Mod

    Permalink
  168. def parsePat(): Pat

    Permalink
  169. def parsePatArg(): Arg

    Permalink
  170. def parsePatType(): Pat.Type

    Permalink
  171. def parseQuasiquoteCtor(): Ctor

    Permalink
  172. def parseQuasiquoteMod(): Mod

    Permalink
  173. def parseQuasiquotePat(): Pat

    Permalink
  174. def parseQuasiquotePatArg(): Arg

    Permalink
  175. def parseQuasiquotePatType(): Pat.Type

    Permalink
  176. def parseQuasiquoteStat(): Stat

    Permalink
  177. def parseQuasiquoteTemplate(): Template

    Permalink
  178. def parseRule[T <: Tree](rule: (ScalametaParser.this.type) ⇒ T): T

    Permalink
  179. def parseSource(): Source

    Permalink
  180. def parseStat(): Stat

    Permalink
  181. def parseTemplate(): Template

    Permalink
  182. def parseTerm(): Term

    Permalink
  183. def parseTermArg(): Arg

    Permalink
  184. def parseTermParam(): Param

    Permalink
  185. def parseType(): Type

    Permalink
  186. def parseTypeArg(): Arg

    Permalink
  187. def parseTypeParam(): Param

    Permalink
  188. def parseUnquotePat(): Pat

    Permalink
  189. def parseUnquoteTerm(): Term

    Permalink
  190. lazy val parserTokenPositions: Array[Int]

    Permalink
  191. lazy val parserTokens: Tokens

    Permalink
  192. def patDefOrDcl(mods: collection.immutable.List[Mod]): Stat

    Permalink

    PatDef ::= Pattern2 {`,' Pattern2} [`:' Type] `=' Expr
    ValDcl ::= Id {`,' Id} `:' Type
    VarDef ::= PatDef | Id {`,' Id} `:' Type `=' `_'
  193. implicit object patInfixContext extends InfixContext

    Permalink
  194. def path(thisOK: Boolean = true): Term.Ref

    Permalink

    Path       ::= StableId
                |  [Ident `.'] this
    ModType ::= Path [`.' type]
  195. def pattern(): Arg

    Permalink

    Default entry points into some pattern contexts.

  196. def patternTyp(): Pat.Type

    Permalink
  197. def patternTypeArgs(): collection.immutable.List[Pat.Type]

    Permalink
  198. def peekingAhead[T](tree: ⇒ T): T

    Permalink

    Perform an operation while peeking ahead.

    Perform an operation while peeking ahead. Recover to inputal state in case of exception.

    Annotations
    @inline()
  199. def postfixExpr(): Term

    Permalink

    PostfixExpr   ::= InfixExpr [Id [nl]]
    InfixExpr     ::= PrefixExpr
                    | InfixExpr Id [nl] InfixExpr
  200. def prefixExpr(): Term

    Permalink

    PrefixExpr   ::= [`-' | `+' | `~' | `!' | `&'] SimpleExpr
  201. def primaryCtor(owner: TemplateOwner): Primary

    Permalink
  202. def qualId(): Term.Ref

    Permalink

    QualId ::= Id {`.' Id}
  203. def quasiquoteCtor(): Ctor

    Permalink
  204. def quasiquotePattern(): Arg

    Permalink
  205. def quasiquotePatternArg(): Arg

    Permalink
  206. def quasiquotePatternTyp(): Pat.Type

    Permalink
  207. def quasiquoteTemplate(): Template

    Permalink
  208. def refineStat(): Option[Stat]

    Permalink
  209. def refineStatSeq(): collection.immutable.List[Stat]

    Permalink

    RefineStatSeq    ::= RefineStat {semi RefineStat}
    RefineStat       ::= Dcl
                       | type TypeDef
                       |
  210. def refinement(): collection.immutable.List[Stat]

    Permalink

    Refinement ::= [nl] `{' RefineStat {semi RefineStat} `}'
  211. def rejectMod[M <: Mod](mods: collection.immutable.List[Mod], errorMsg: String)(implicit classifier: Classifier[Mod, M], tag: ClassTag[M]): Unit

    Permalink
  212. def rejectModCombination[M1 <: Mod, M2 <: Mod](mods: collection.immutable.List[Mod], culprit: String)(implicit invalidMod: InvalidModCombination[M1, M2], classifier1: Classifier[Mod, M1], tag1: ClassTag[M1], classifier2: Classifier[Mod, M2], tag2: ClassTag[M2]): Unit

    Permalink
  213. lazy val reporter: Reporter

    Permalink
  214. lazy val scannerTokens: Tokens

    Permalink
  215. def scriptSource(): Source

    Permalink
  216. def secondaryCtor(mods: collection.immutable.List[Mod]): Secondary

    Permalink
  217. def selector(t: Term): Select

    Permalink
  218. def selectors(t: Term): Term.Ref

    Permalink
  219. def selfInvocation(): Term

    Permalink

    SelfInvocation  ::= this ArgumentExprs {ArgumentExprs}
  220. object seqOK extends SeqContextSensitive

    Permalink

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

  221. def seqPatterns(): collection.immutable.List[Arg]

    Permalink
  222. def simpleExpr(): Term

    Permalink

    SimpleExpr    ::= new (ClassTemplate | TemplateBody)
                    |  BlockExpr
                    |  SimpleExpr1 [`_']
    SimpleExpr1   ::= literal
                    |  xLiteral
                    |  Path
                    |  `(' [Exprs] `)'
                    |  SimpleExpr `.' Id
                    |  SimpleExpr TypeArgs
                    |  SimpleExpr1 ArgumentExprs
  223. def simpleExprRest(t: Term, canApply: Boolean): Term

    Permalink
  224. def source(): Source

    Permalink

    CompilationUnit ::= {package QualId semi} TopStatSeq
  225. def stableId(): Term.Ref

    Permalink

    StableId ::= Id
              |  Path `.' Id
              |  [id `.'] super [`[' id `]']`.' id
  226. def startInfixType(): Type

    Permalink
  227. def startModType(): Type

    Permalink
  228. def statSeq[T <: Tree](statpf: PartialFunction[Token, T], errorMsg: String = "illegal start of definition")(implicit arg0: AstInfo[T]): collection.immutable.List[T]

    Permalink
  229. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  230. def syntaxErrorExpected[T <: Token](implicit arg0: TokenInfo[T]): Nothing

    Permalink
  231. def template(): Template

    Permalink

    ClassTemplate ::= [EarlyDefs with] ClassParents [TemplateBody]
    TraitTemplate ::= [EarlyDefs with] TraitParents [TemplateBody]
    EarlyDefs     ::= `{' [EarlyDef {semi EarlyDef}] `}'
    EarlyDef      ::= Annotations Modifiers PatDef
  232. def templateBody(isPre: Boolean): (Param, collection.immutable.List[Stat])

    Permalink

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

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

  233. def templateBodyOpt(parenMeansSyntaxError: Boolean): (Param, Option[collection.immutable.List[Stat]])

    Permalink
  234. def templateOpt(owner: TemplateOwner): Template

    Permalink

    ClassTemplateOpt ::= `extends' ClassTemplate | [[`extends'] TemplateBody]
    TraitTemplateOpt ::= TraitExtends TraitTemplate | [[`extends'] TemplateBody] | `<:' TemplateBody
    TraitExtends     ::= `extends' | `<:'
  235. def templateParents(): collection.immutable.List[Call]

    Permalink

    ClassParents       ::= ModType {`(' [Exprs] `)'} {with ModType}
    TraitParents       ::= ModType {with ModType}
  236. def templateStat: PartialFunction[Token, Stat]

    Permalink
  237. def templateStatSeq(isPre: Boolean): (Param, collection.immutable.List[Stat])

    Permalink

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

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

  238. def templateStats(): collection.immutable.List[Stat]

    Permalink

    TemplateStats    ::= TemplateStat {semi TemplateStat}
    TemplateStat     ::= Import
                       | Annotations Modifiers Def
                       | Annotations Modifiers Dcl
                       | Expr1
                       | super ArgumentExprs {ArgumentExprs}
                       |
  239. object termInfixContext extends InfixContext

    Permalink
  240. def termName(advance: Boolean = true): Term.Name

    Permalink
  241. def tmplDef(mods: collection.immutable.List[Mod]): Member with Stat

    Permalink

    TmplDef ::= [case] class ClassDef
              |  [case] object ObjectDef
              |  [override] trait TraitDef
  242. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  243. def token: Token

    Permalink
  244. final def tokenSeparated[Sep <: Token, T <: Tree](sepFirst: Boolean, part: ⇒ T)(implicit arg0: TokenInfo[Sep], arg1: AstInfo[T]): collection.immutable.List[T]

    Permalink

    , or if sepFirst is true,

    part { `sep` part }

    , or if sepFirst is true,

    { `sep` part }

    . if useUnquoteForEllipsis = true, uses direct unquote instead of part

    { sep part } }}} if useUnquoteForEllipsis = true, uses direct unquote instead of part

    part { sep part } }}} if useUnquoteForEllipsis = true, uses direct unquote instead of part

  245. implicit def tokenToTokenPos(token: Token): TokenPos

    Permalink
  246. def topLevelTmplDef: Member with Stat

    Permalink

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

  247. def topStat: PartialFunction[Token, Stat]

    Permalink
  248. def topStatSeq(): collection.immutable.List[Stat]

    Permalink

    TopStatSeq ::= TopStat {semi TopStat}
    TopStat ::= Annotations Modifiers TmplDef
              | Packaging
              | package object objectDef
              | Import
              |
  249. def traitDef(mods: collection.immutable.List[Mod]): Trait

    Permalink

    TraitDef ::= Id [TypeParamClause] RequiresTypeOpt TraitTemplateOpt
  250. implicit def treeToTreePos(tree: Tree): TreePos

    Permalink
  251. def typ(): Type

    Permalink

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

  252. def typeBounds(): Bounds

    Permalink

    TypeBounds ::= [`>:' Type] [`<:' Type]
  253. def typeDefOrDcl(mods: collection.immutable.List[Mod]): Member.Type with Stat

    Permalink

    TypeDef ::= type Id [TypeParamClause] `=' Type
              | FunSig `=' Expr
    TypeDcl ::= type Id [TypeParamClause] TypeBounds
  254. def typeName(advance: Boolean = true): Type.Name

    Permalink
  255. def typeOrInfixType(location: Location): Type

    Permalink
  256. def typeParam(ownerIsType: Boolean, ctxBoundsAllowed: Boolean): Param

    Permalink
  257. def typeParamClauseOpt(ownerIsType: Boolean, ctxBoundsAllowed: Boolean): collection.immutable.List[Param]

    Permalink

    TypeParamClauseOpt    ::= [TypeParamClause]
    TypeParamClause       ::= `[' VariantTypeParam {`,' VariantTypeParam} `]']
    VariantTypeParam      ::= {Annotation} [`+' | `-'] TypeParam
    FunTypeParamClauseOpt ::= [FunTypeParamClause]
    FunTypeParamClause    ::= `[' TypeParam {`,' TypeParam} `]']
    TypeParam             ::= Id TypeParamClauseOpt TypeBounds {<% Type} {":" Type}
  258. def typedOpt(): Option[Type]

    Permalink

    TypedOpt ::= [`:' Type]
  259. def unquote[T <: Tree](implicit arg0: AstInfo[T]): T

    Permalink
  260. def unquote[T <: Tree](advance: Boolean = true)(implicit arg0: AstInfo[T]): T

    Permalink
  261. def unquoteExpr(): Term

    Permalink
  262. def unquotePattern(): Pat

    Permalink
  263. def unquoteXmlExpr(): Term

    Permalink
  264. def unquoteXmlPattern(): Pat

    Permalink
  265. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  266. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  267. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  268. def xmlLiteralPattern(): Pat

    Permalink
  269. def xmlPat(): Xml

    Permalink
  270. object xmlSeqOK extends SeqContextSensitive

    Permalink

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

  271. def xmlSeqPatterns(): collection.immutable.List[Arg]

    Permalink
  272. def xmlTerm(): Xml

    Permalink
  273. def [B](y: B): (ScalametaParser, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from ScalametaParser to ArrowAssoc[ScalametaParser] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from ScalametaParser to any2stringadd[ScalametaParser]

Inherited by implicit conversion StringFormat from ScalametaParser to StringFormat[ScalametaParser]

Inherited by implicit conversion Ensuring from ScalametaParser to Ensuring[ScalametaParser]

Inherited by implicit conversion ArrowAssoc from ScalametaParser to ArrowAssoc[ScalametaParser]

Ungrouped