Value arguments fixed

This commit is contained in:
Andrey Breslav
2010-12-16 17:08:57 +03:00
parent 35346c546c
commit c1edd25802
6 changed files with 91 additions and 59 deletions
+3 -3
View File
@@ -71,11 +71,11 @@ block
;
decomposer // TODO: consider other names
: attributes "decomposer" SimpleName "(" (attributes SimpleName){","} ")" // Public properties only
: attributes "decomposer" (type ".")? SimpleName "(" (attributes SimpleName){","} ")" // Public properties only
;
function
: modifiers "fun" functionRest
: modifiers "fun" (type ".")? functionRest
;
functionRest
@@ -88,7 +88,7 @@ functionBody
;
property
: modifiers ("val" | "var") propertyRest
: modifiers ("val" | "var") (type ".")? propertyRest
;
propertyRest
-22
View File
@@ -1,22 +0,0 @@
extension
: completeExtension
: extensionMethod
: extensionProperty
: extensionDecomposer
;
completeExtension
: modifiers "extension" SimpleName? typeParameters? "for" type classBody? // properties cannot be lazy, cannot have backing fields
;
extensionMethod
: modifiers "fun" type "." functionRest
;
extensionProperty
: modifiers ("val" | "var") type "." propertyRest // Extension property cannot be lazy
;
extensionDecomposer
: attributes "decomposer" (type ".")? SimpleName "(" attributes SimpleName{","} ")" // Public properties only
;
+6 -1
View File
@@ -25,6 +25,7 @@ toplevelObject
: function
: property
: typedef
: decomposer
;
namespace
@@ -36,4 +37,8 @@ namespace
typedef
: modifiers "type" SimpleName typeParameters? "=" type
;
;
extension
: modifiers "extension" SimpleName? typeParameters? "for" type classBody? // properties cannot be lazy, cannot have backing fields
;