Extensions
Toplevel objects
This commit is contained in:
@@ -55,7 +55,11 @@ super
|
||||
;
|
||||
|
||||
method
|
||||
: methodModifier* "fun" SimpleName typeParameters? functionParameters (":" type)? functionBody?
|
||||
: methodModifier* "fun" functionRest
|
||||
;
|
||||
|
||||
functionRest
|
||||
: SimpleName typeParameters? functionParameters (":" type)? functionBody?
|
||||
;
|
||||
|
||||
functionParameters
|
||||
@@ -72,7 +76,10 @@ functionBody
|
||||
;
|
||||
|
||||
property
|
||||
: propertyModifier* ("val" | "var") SimpleName (":" type)? ("=" expression)?
|
||||
: propertyModifier* ("val" | "var")
|
||||
|
||||
propertyRest
|
||||
: SimpleName (":" type)? ("=" expression)?
|
||||
"{" getter? setter? "}"
|
||||
;
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
extension
|
||||
: completeExtension
|
||||
: extensionMethod
|
||||
: extensionProperty
|
||||
;
|
||||
|
||||
completeExtension
|
||||
: accessModifier? "extension" SimpleName? typeParameters? "for" type classBody?
|
||||
;
|
||||
|
||||
extensionMethod
|
||||
: accessModifier? "extension" "fun" type "." functionRest
|
||||
;
|
||||
|
||||
extensionProperty
|
||||
: accessModifier? "extension" propertyRest
|
||||
;
|
||||
@@ -0,0 +1,14 @@
|
||||
jetlFile
|
||||
: preamble toplevelObject*
|
||||
;
|
||||
|
||||
preamble
|
||||
: empty
|
||||
;
|
||||
|
||||
toplevelObject
|
||||
: class
|
||||
: extension
|
||||
: method
|
||||
: property
|
||||
;
|
||||
Reference in New Issue
Block a user