scala.meta.internal.parsers.ScalametaParser
ModType ::= SimpleType {Annotation}
CompoundType ::= ModType {with ModType} [Refinement]
| Refinement
InfixType ::= CompoundType {id [nl] CompoundType}
SimpleType ::= SimpleType TypeArgs
| SimpleType `#' Id
| StableId
| Path `.' type
| `(' Types `)'
| WildcardType
Type ::= InfixType `=>' Type | `(' [`=>' Type] `)' `=>' Type | `[' [`=>' Type] `]' `=>' Type | InfixType [ExistentialClause] ExistentialClause ::= forSome `{' ExistentialDcl {semi ExistentialDcl}} `}' ExistentialDcl ::= type TypeDcl | val ValDcl
TypeArgs ::= `[' ArgType {`,' ArgType} `]'
Types ::= Type {`,' Type}
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.