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 dropTrivialBlock(term: Term): Term

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

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

    Permalink
  76. 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
  77. 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
  78. 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
  79. 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
  80. def enumerator(isFirst: Boolean, allowNestedIf: Boolean = true): collection.immutable.List[Enumerator]

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

    Permalink

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

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

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

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

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

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

    Permalink
  89. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  90. 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()
  91. 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
  92. def funDefRest(mods: collection.immutable.List[Mod]): Stat

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

    Permalink

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

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

    Permalink

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

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

    Permalink

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

    Permalink

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

    Permalink
  100. def importee(): Importee

    Permalink

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

    Permalink

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

    Permalink

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

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

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

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

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

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

    Permalink
    Annotations
    @inline()
  109. 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()
  110. final def inParensOrError[T](body: ⇒ T, alt: T): T

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

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

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

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

    Permalink
  115. def interpolatePat(): Interpolate

    Permalink
  116. def interpolateTerm(): Interpolate

    Permalink
  117. def isBackquoted: Boolean

    Permalink
  118. def isColonWildcardStar: Boolean

    Permalink
  119. def isIdent: Boolean

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

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

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

    Permalink
  123. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  124. def isRawAmpersand: Boolean

    Permalink
  125. def isRawBar: Boolean

    Permalink
  126. def isRawStar: Boolean

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

    Permalink
  128. def isUnaryOp: Boolean

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

    Permalink

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

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

    Permalink

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

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

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

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

    Permalink
  136. def mixinQualifier(): Qualifier

    Permalink

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

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

    Permalink

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

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

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

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

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

    Permalink
  144. def newLinesOpt(): Unit

    Permalink
  145. def next(): Token

    Permalink
  146. def nextOnce(): Token

    Permalink
  147. def nextThrice(): Token

    Permalink
  148. def nextTwice(): Token

    Permalink
  149. object noSeq extends SeqContextSensitive

    Permalink

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

  150. def nonLocalDefOrDcl(): Stat

    Permalink
  151. final def notify(): Unit

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

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

    Permalink

    ObjectDef       ::= Id ClassTemplateOpt
  154. 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
  155. implicit def optionTreeToPos(tree: Option[Tree]): Pos

    Permalink
  156. object outPattern extends PatternContextSensitive

    Permalink

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

  157. def packageDef(): Pkg

    Permalink
  158. def packageObjectDef(): Object

    Permalink
  159. def packageOrPackageObjectDef(): Stat

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

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

    Permalink

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

    Permalink
  164. def parseCtorCall(): Call

    Permalink
  165. def parseEnumerator(): Enumerator

    Permalink
  166. def parseImportee(): Importee

    Permalink
  167. def parseImporter(): Importer

    Permalink
  168. def parseMod(): Mod

    Permalink
  169. def parsePat(): Pat

    Permalink
  170. def parsePatArg(): Arg

    Permalink
  171. def parsePatType(): Pat.Type

    Permalink
  172. def parseQuasiquoteCtor(): Ctor

    Permalink
  173. def parseQuasiquoteMod(): Mod

    Permalink
  174. def parseQuasiquotePat(): Pat

    Permalink
  175. def parseQuasiquotePatArg(): Arg

    Permalink
  176. def parseQuasiquotePatType(): Pat.Type

    Permalink
  177. def parseQuasiquoteStat(): Stat

    Permalink
  178. def parseQuasiquoteTemplate(): Template

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

    Permalink
  180. def parseSource(): Source

    Permalink
  181. def parseStat(): Stat

    Permalink
  182. def parseTemplate(): Template

    Permalink
  183. def parseTerm(): Term

    Permalink
  184. def parseTermArg(): Arg

    Permalink
  185. def parseTermParam(): Param

    Permalink
  186. def parseType(): Type

    Permalink
  187. def parseTypeArg(): Arg

    Permalink
  188. def parseTypeParam(): Param

    Permalink
  189. def parseUnquotePat(): Pat

    Permalink
  190. def parseUnquoteTerm(): Term

    Permalink
  191. lazy val parserTokenPositions: Array[Int]

    Permalink
  192. lazy val parserTokens: Tokens

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

    Permalink

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

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

    Permalink

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

    Permalink

    Default entry points into some pattern contexts.

  197. def patternTyp(): Pat.Type

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

    Permalink
  199. 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()
  200. def postfixExpr(): Term

    Permalink

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

    Permalink

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

    Permalink
  203. def qualId(): Term.Ref

    Permalink

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

    Permalink
  205. def quasiquotePattern(): Arg

    Permalink
  206. def quasiquotePatternArg(): Arg

    Permalink
  207. def quasiquotePatternTyp(): Pat.Type

    Permalink
  208. def quasiquoteTemplate(): Template

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

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

    Permalink

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

    Permalink

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

    Permalink
  213. 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
  214. lazy val reporter: Reporter

    Permalink
  215. lazy val scannerTokens: Tokens

    Permalink
  216. def scriptSource(): Source

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

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

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

    Permalink
  220. def selfInvocation(): Term

    Permalink

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

    Permalink

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

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

    Permalink
  223. def simpleExpr(): Term

    Permalink

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

    Permalink
  225. def source(): Source

    Permalink

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

    Permalink

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

    Permalink
  228. def startModType(): Type

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

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

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

    Permalink
  232. def template(): Template

    Permalink

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

    Permalink

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

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

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

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

    Permalink

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

    Permalink

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

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

    Permalink

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

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

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

    Permalink

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

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

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

    Permalink

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

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

    Permalink
  245. 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

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

    Permalink
  247. def topLevelTmplDef: Member with Stat

    Permalink

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

  248. def topStat: PartialFunction[Token, Stat]

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

    Permalink

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

    Permalink

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

    Permalink
  252. def typ(): Type

    Permalink

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

  253. def typeBounds(): Bounds

    Permalink

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

    Permalink

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

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

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

    Permalink
  258. 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}
  259. def typedOpt(): Option[Type]

    Permalink

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

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

    Permalink
  262. def unquoteExpr(): Term

    Permalink
  263. def unquotePattern(): Pat

    Permalink
  264. def unquoteXmlExpr(): Term

    Permalink
  265. def unquoteXmlPattern(): Pat

    Permalink
  266. final def wait(): Unit

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

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

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

    Permalink
  270. def xmlPat(): Xml

    Permalink
  271. object xmlSeqOK extends SeqContextSensitive

    Permalink

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

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

    Permalink
  273. def xmlTerm(): Xml

    Permalink
  274. 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