/** | |
## Modifiers | |
*/ | |
modifiers | |
: (modifier | annotations)* | |
; | |
typeModifiers | |
: (suspendModifier | annotations)* | |
; | |
modifier | |
: classModifier | |
: accessModifier | |
: varianceAnnotation | |
: memberModifier | |
: parameterModifier | |
: typeParameterModifier | |
: functionModifier | |
: propertyModifier | |
; | |
classModifier | |
: "abstract" | |
: "final" | |
: "enum" | |
: "open" | |
: "annotation" | |
: "sealed" | |
: "data" | |
; | |
memberModifier | |
: "override" | |
: "open" | |
: "final" | |
: "abstract" | |
: "lateinit" | |
; | |
accessModifier | |
: "private" | |
: "protected" | |
: "public" | |
: "internal" | |
; | |
varianceAnnotation | |
: "in" | |
: "out" | |
; | |
parameterModifier | |
: "noinline" | |
: "crossinline" | |
: "vararg" | |
; | |
typeParameterModifier | |
: "reified" | |
; | |
functionModifier | |
: "tailrec" | |
: "operator" | |
: "infix" | |
: "inline" | |
: "external" | |
: suspendModifier | |
; | |
propertyModifier | |
: "const" | |
; | |
suspendModifier | |
: "suspend" | |
; |