scala.tools.nsc.ast.parser.Parsers

Parser

abstract class Parser extends ParserCommon

Source
Parsers.scala
Linear Supertypes
ParserCommon, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Parser
  2. ParserCommon
  3. AnyRef
  4. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Parser()

Type Members

  1. trait PatternContextSensitive extends AnyRef

    Methods which implicitly propagate the context in which they were called: either in a pattern context or not.

  2. trait SeqContextSensitive extends PatternContextSensitive

    Methods which implicitly propagate whether the initial call took place in a context where sequences are allowed.

Abstract Value Members

  1. abstract def deprecationWarning(off: Int, msg: String): Unit

    Definition Classes
    ParserCommon
  2. abstract def freshName(prefix: String): Name

    Definition Classes
    ParserParserCommon
  3. abstract def freshTermName(prefix: String): TermName

    Definition Classes
    ParserParserCommon
  4. abstract def freshTypeName(prefix: String): TypeName

    Definition Classes
    ParserParserCommon
  5. abstract val in: Scanner

    Definition Classes
    ParserParserCommon
  6. abstract def incompleteInputError(msg: String): Unit

  7. abstract def o2p(offset: Int): Position

  8. abstract def parseStartRule: () ⇒ Tree

  9. abstract def r2p(start: Int, mid: Int, end: Int): Position

  10. abstract def syntaxError(offset: Int, msg: String): Unit

  11. abstract def warning(offset: Int, msg: String): Unit

  12. abstract def xmlLiteral(): Tree

  13. abstract def xmlLiteralPattern(): Tree

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object InfixMode extends Enumeration

    Modes for infix types.

  7. def accept(token: Int): Int

    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
    ParserParserCommon
  8. def acceptStatSep(): Unit

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

  10. def accessModifierOpt(): Modifiers

     AccessModifier ::= (private | protected) [AccessQualifier]
    
  11. def accessQualifierOpt(mods: Modifiers): Modifiers

     AccessQualifier ::= `[' (Id | this) `]'
    
  12. def annotTypeRest(t: Tree): Tree

  13. def annotationExpr(): Tree

  14. def annotations(skipNewLines: Boolean): List[Tree]

     Annotations      ::= {`@' SimpleType {ArgumentExprs}}
     ConsrAnnotations ::= {`@' SimpleType ArgumentExprs}
    
  15. def argumentExprs(): List[Tree]

     ArgumentExprs ::= `(' [Exprs] `)'
                     | [nl] BlockExpr
    
  16. def argumentPatterns(): List[Tree]

  17. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  18. var assumedClosingParens: Map[Int, Int]

  19. def atPos[T <: Tree](pos: Position)(t: T): T

  20. def atPos[T <: Tree](start: Int, point: Int, end: Int)(t: T): T

  21. def atPos[T <: Tree](start: Int, point: Int)(t: T): T

  22. def atPos[T <: Tree](offset: Int)(t: T): T

  23. def block(): Tree

     Block ::= BlockStatSeq
    
    Note

    Return tree does not carry position.

  24. def blockExpr(): Tree

     BlockExpr ::= `{' (CaseClauses | Block) `}'
    
  25. def blockStatSeq(): List[Tree]

     BlockStatSeq ::= { BlockStat semi } [ResultExpr]
     BlockStat    ::= Import
                    | Annotations [implicit] [lazy] Def
                    | Annotations LocalModifiers TmplDef
                    | Expr1
                    |
    
  26. def bound(tok: Int, default: TypeName): Tree

  27. def caseBlock(): Tree

  28. def caseClauses(): List[CaseDef]

     CaseClauses ::= CaseClause {CaseClause}
     CaseClause  ::= case Pattern [Guard] `=>' Block
    
  29. final def caseSeparated[T](part: ⇒ T): List[T]

    Annotations
    @inline()
  30. def checkAssoc(offset: Int, op: Name, leftAssoc: Boolean): Unit

  31. def checkLegalExistential(t: Tree): Unit

    Check that tree is a legal clause of a forSome.

  32. def checkNoEscapingPlaceholders[T](op: ⇒ T): T

  33. def checkNotByNameOrVarargs(tpt: Tree): Unit

    Check that type parameter is not by name or repeated.

  34. def checkSize(kind: String, size: Int, max: Int): Unit

  35. def classDef(start: Int, mods: Modifiers): ClassDef

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

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  37. final def commaSeparated[T](part: ⇒ T): List[T]

    Annotations
    @inline()
  38. def compilationUnit(): Tree

     CompilationUnit ::= {package QualId semi} TopStatSeq
    
  39. def condExpr(): Tree

  40. def constrBlock(vparamss: List[List[ValDef]]): Tree

     ConstrBlock    ::=  `{' SelfInvocation {semi BlockStat} `}'
    
  41. def constrExpr(vparamss: List[List[ValDef]]): Tree

     ConstrExpr      ::=  SelfInvocation
                       |  ConstrBlock
    
  42. def constructorAnnotations(): List[Tree]

  43. def convertToParam(tree: Tree): ValDef

    Convert tree to formal parameter.

  44. def convertToParams(tree: Tree): List[ValDef]

    Convert tree to formal parameter list.

  45. def convertToTypeId(tree: Tree): Tree

    Convert (qual)ident to type identifier.

  46. def defOrDcl(pos: Int, mods: Modifiers): List[Tree]

     Def    ::= val PatDef
              | var PatDef
              | def FunDef
              | type [nl] TypeDef
              | TmplDef
     Dcl    ::= val PatDcl
              | var PatDcl
              | def FunDcl
              | type [nl] TypeDcl
    
  47. def enumerators(): List[Enumerator]

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

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

    Definition Classes
    AnyRef → Any
  50. def equalsExpr(): Tree

     EqualsExpr ::= `=' Expr
    
  51. def errorPatternTree: Ident

  52. def errorTermTree: Literal

  53. def errorTypeTree: TypeTree

  54. def expectedMsg(token: Int): String

  55. def expr(location: Int): Tree

  56. def expr(): 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}
                  | `:' `_' `*'
    
  57. def expr0(location: Int): Tree

  58. def exprSimpleType(): Tree

  59. def exprTypeArgs(): List[Tree]

  60. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  61. def funDefOrDcl(start: Int, mods: Modifiers): Tree

     FunDef ::= FunSig `:' Type `=' Expr
              | FunSig [nl] `{' Block `}'
              | this ParamClause ParamClauses (`=' ConstrExpr | [nl] ConstrBlock)
              | `macro' FunSig [`:' Type] `=' Expr
     FunDcl ::= FunSig [`:' Type]
     FunSig ::= id [FunTypeParamClause] ParamClauses
    
  62. def funDefRest(start: Int, nameOffset: Int, mods: Modifiers, name: Name): Tree

  63. def generator(enums: ListBuffer[Enumerator], eqOK: Boolean): Unit

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

    Definition Classes
    AnyRef → Any
  65. def guard(): Tree

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

    Definition Classes
    AnyRef → Any
  67. def ident(): Name

  68. def ident(skipIt: Boolean): Name

    Assumed (provisionally) to be TermNames.

  69. def identForType(skipIt: Boolean): TypeName

  70. def identForType(): TypeName

    For when it's known already to be a type name.

  71. def implicitClosure(start: Int, location: Int): Tree

     Expr ::= implicit Id => Expr
    
  72. def importClause(): List[Tree]

     Import  ::= import ImportExpr {`,' ImportExpr}
    
  73. def importExpr(): Tree

     ImportExpr ::= StableId `.' (Id | `_' | ImportSelectors)
    
  74. def importSelector(): ImportSelector

     ImportSelector ::= Id [`=>' Id | `=>' `_']
    
  75. def importSelectors(): List[ImportSelector]

     ImportSelectors ::= `{' {ImportSelector `,'} (ImportSelector | `_') `}'
    
  76. final def inBraces[T](body: ⇒ T): T

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  77. final def inBracesOrError[T](body: ⇒ T, alt: T): T

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  78. final def inBracesOrNil[T](body: ⇒ List[T]): List[T]

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  79. final def inBracesOrUnit[T](body: ⇒ Tree): Tree

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  80. final def inBrackets[T](body: ⇒ T): T

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  81. final def inParens[T](body: ⇒ T): T

    Methods inParensOrError and similar take a second argument which, should the next token not be the expected opener (e.

    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.

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  82. final def inParensOrError[T](body: ⇒ T, alt: T): T

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  83. final def inParensOrNil[T](body: ⇒ List[T]): List[T]

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  84. final def inParensOrUnit[T](body: ⇒ Tree): Tree

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  85. def isDclIntro: Boolean

  86. def isDefIntro: Boolean

  87. def isExprIntro: Boolean

  88. def isExprIntroToken(token: Int): Boolean

  89. def isIdent: Boolean

  90. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  91. def isInterface(mods: Modifiers, body: List[Tree]): Boolean

  92. def isLiteral: Boolean

  93. def isLiteralToken(token: Int): Boolean

  94. def isLocalModifier: Boolean

  95. def isModifier: Boolean

  96. def isNumericLit: Boolean

  97. def isRawBar: Boolean

  98. def isRawStar: Boolean

  99. def isStatSep: Boolean

  100. def isStatSep(token: Int): Boolean

  101. def isStatSeqEnd: Boolean

  102. def isTemplateIntro: Boolean

  103. def isTypeIntro: Boolean

  104. def isTypeIntroToken(token: Int): Boolean

  105. def isUnaryOp: Boolean

  106. def isWildcard(t: Tree): Boolean

  107. def joinComment(trees: ⇒ List[Tree]): List[Tree]

    Join the comment associated with a definition.

  108. def literal(isNegated: Boolean = false): Tree

     SimpleExpr    ::= literal
                     | symbol
                     | null
    
    Note

    The returned tree does not yet have a position

  109. def localDef(implicitMod: Int): List[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(true) val mods = localModifiers() withAnnotations annots if (!(mods hasFlag ~(Flags.IMPLICIT | Flags.LAZY))) defOrDcl(mods) else List(tmplDef(mods)) } } (in.offset) }

  110. def localModifiers(): Modifiers

     LocalModifiers ::= {LocalModifier}
     LocalModifier  ::= abstract | final | sealed | implicit | lazy
    
  111. def makeFilter(start: Int, tree: Tree): Filter

  112. def makePackageObject(start: Int, objDef: ModuleDef): 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` { ... }
       }
    
  113. def makePackaging(start: Int, pkg: Tree, stats: List[Tree]): PackageDef

    Create a tree representing a packaging.

  114. final def makeParens(body: ⇒ List[Tree]): Parens

    Creates an actual Parens node (only used during parsing.

    Creates an actual Parens node (only used during parsing.)

    Definition Classes
    ParserCommon
    Annotations
    @inline()
  115. def mixinQualifierOpt(): TypeName

      MixinQualifier ::= `[' Id `]'
    
  116. def modifiers(): Modifiers

     Modifiers ::= {Modifier}
     Modifier  ::= LocalModifier
                 |  AccessModifier
                 |  override
    
  117. def multipleArgumentExprs(): List[List[Tree]]

    A succession of argument lists.

  118. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  119. def newLineOpt(): Unit

  120. def newLineOptWhenFollowedBy(token: Int): Unit

  121. def newLineOptWhenFollowing(p: (Int) ⇒ Boolean): Unit

  122. def newLinesOpt(): Unit

  123. object noSeq extends SeqContextSensitive

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

  124. def nonLocalDefOrDcl: List[Tree]

  125. final def notify(): Unit

    Definition Classes
    AnyRef
  126. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  127. def objectDef(start: Int, mods: Modifiers): ModuleDef

     ObjectDef       ::= Id ClassTemplateOpt
    
  128. var opstack: List[OpInfo]

  129. object outPattern extends PatternContextSensitive

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

  130. def packaging(start: Int): Tree

     Packaging ::= package QualId [nl] `{' TopStatSeq `}'
    
  131. def paramClauses(owner: Name, contextBounds: List[Tree], ofCaseClass: Boolean): List[List[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]
    
  132. def paramType(useStartAsPosition: Boolean): Tree

  133. def paramType(): Tree

     ParamType ::= Type | `=>' Type | Type `*'
    
  134. def parse(): Tree

    This is the general parse entry point.

  135. def patDefOrDcl(pos: Int, mods: Modifiers): List[Tree]

     PatDef ::= Pattern2 {`,' Pattern2} [`:' Type] `=' Expr
     ValDcl ::= Id {`,' Id} `:' Type
     VarDef ::= PatDef | Id {`,' Id} `:' Type `=' `_'
    
  136. def path(thisOK: Boolean, typeOK: Boolean): Tree

     Path       ::= StableId
                 |  [Ident `.'] this
     AnnotType ::= Path [`.' type]
    
  137. def pattern(): Tree

    Default entry points into some pattern contexts.

  138. def patterns(): List[Tree]

  139. var placeholderParams: List[ValDef]

    The implicit parameters introduced by _ in the current expression.

    The implicit parameters introduced by _ in the current expression. Parameters appear in reverse order.

  140. def placeholderTypeBoundary(op: ⇒ Tree): Tree

  141. var placeholderTypes: List[TypeDef]

    The placeholderTypes introduced by _ in the current type.

    The placeholderTypes introduced by _ in the current type. Parameters appear in reverse order.

  142. def postfixExpr(): Tree

     PostfixExpr   ::= InfixExpr [Id [nl]]
     InfixExpr     ::= PrefixExpr
                     | InfixExpr Id [nl] InfixExpr
    
  143. def precedence(operator: Name): Int

  144. def prefixExpr(): Tree

     PrefixExpr   ::= [`-' | `+' | `~' | `!' | `&'] SimpleExpr
    
  145. def qualId(): Tree

      QualId ::= Id {`.' Id}
    
  146. def rawIdent(): Name

  147. final def readAnnots[T](part: ⇒ T): List[T]

    Annotations
    @inline()
  148. def reduceStack(isExpr: Boolean, base: List[OpInfo], top0: Tree, prec: Int, leftAssoc: Boolean): Tree

  149. def refineStatSeq(): List[Tree]

     RefineStatSeq    ::= RefineStat {semi RefineStat}
     RefineStat       ::= Dcl
                        | type TypeDef
                        |
    
  150. def refinement(): List[Tree]

     Refinement ::= [nl] `{' RefineStat {semi RefineStat} `}'
    
  151. def resetPackage(): Unit

  152. def scriptBody(): Tree

    This is the parse entry point for code which is not self-contained, e.

    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().

  153. def selector(t: Tree): Tree

  154. def selectors(t: Tree, typeOK: Boolean, dotOffset: Int): Tree

  155. def selfInvocation(vparamss: List[List[ValDef]]): Tree

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

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

  157. def seqPatterns(): List[Tree]

  158. def simpleExpr(): Tree

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

  160. def skip(targetToken: Int): Unit

    Attributes
    protected
  161. def stableId(): Tree

     StableId ::= Id
               |  Path `.' Id
               |  [id `.'] super [`[' id `]']`.' id
    
  162. def startAnnotType(): Tree

  163. def startInfixType(): Tree

  164. def statement(location: Int): Tree

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

    Definition Classes
    AnyRef
  166. def syntaxError(offset: Int, msg: String, skipIt: Boolean): Unit

  167. def syntaxError(msg: String, skipIt: Boolean): Unit

  168. def syntaxErrorOrIncomplete(msg: String, skipIt: Boolean): Unit

  169. def template(isTrait: Boolean): (List[Tree], List[List[Tree]], ValDef, List[Tree])

     ClassTemplate ::= [EarlyDefs with] ClassParents [TemplateBody]
     TraitTemplate ::= [EarlyDefs with] TraitParents [TemplateBody]
     EarlyDefs     ::= `{' [EarlyDef {semi EarlyDef}] `}'
     EarlyDef      ::= Annotations Modifiers PatDef
    
  170. def templateBody(isPre: Boolean): (ValDef, List[Tree])

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

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

  171. def templateBodyOpt(traitParentSeen: Boolean): (ValDef, List[Tree])

  172. def templateOpt(mods: Modifiers, name: Name, constrMods: Modifiers, vparamss: List[List[ValDef]], tstart: Int): Template

     ClassTemplateOpt ::= `extends' ClassTemplate | [[`extends'] TemplateBody]
     TraitTemplateOpt ::= TraitExtends TraitTemplate | [[`extends'] TemplateBody] | `<:' TemplateBody
     TraitExtends     ::= `extends' | `<:'
    
  173. def templateParents(isTrait: Boolean): (List[Tree], List[List[Tree]])

     ClassParents       ::= AnnotType {`(' [Exprs] `)'} {with AnnotType}
     TraitParents       ::= AnnotType {with AnnotType}
    
  174. def templateStatSeq(isPre: Boolean): (ValDef, List[Tree])

     TemplateStatSeq  ::= [id [`:' Type] `=>'] TemplateStat {semi TemplateStat}
     TemplateStat     ::= Import
                        | Annotations Modifiers Def
                        | Annotations Modifiers Dcl
                        | Expr1
                        | super ArgumentExprs {ArgumentExprs}
                        |
    
    isPre

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

  175. def tmplDef(pos: Int, mods: Modifiers): Tree

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

    Definition Classes
    AnyRef → Any
  177. final def tokenSeparated[T](separator: Int, sepFirst: Boolean, part: ⇒ T): List[T]

    ,or if sepFirst is true,

     part { `sep` part } 
    

    ,or if sepFirst is true,

     { `sep` part } 
    

    . { sep part } }}} part { sep part } }}}

  178. def topLevelTmplDef: Tree

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

  179. def topStatSeq(): List[Tree]

     TopStatSeq ::= TopStat {semi TopStat}
     TopStat ::= Annotations Modifiers TmplDef
               | Packaging
               | package object objectDef
               | Import
               |
    
  180. object treeBuilder extends TreeBuilder

  181. def typ(): Tree

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

  182. def typeBounds(): TypeBoundsTree

     TypeBounds ::= [`>:' Type] [`<:' Type]
    
  183. def typeDefOrDcl(start: Int, mods: Modifiers): Tree

     TypeDef ::= type Id [TypeParamClause] `=' Type
               | `macro' FunSig `=' Expr
     TypeDcl ::= type Id [TypeParamClause] TypeBounds
    
  184. def typeOrInfixType(location: Int): Tree

  185. def typeParamClauseOpt(owner: Name, contextBoundBuf: ListBuffer[Tree]): List[TypeDef]

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

     TypedOpt ::= [`:' Type]
    
  187. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  190. def warning(msg: String): Unit

  191. def wildcardOrIdent(): Name

  192. def wildcardType(start: Int): Ident

     WildcardType ::= `_' TypeBounds
    

Inherited from ParserCommon

Inherited from AnyRef

Inherited from Any