New syntax for property accessors
This commit is contained in:
@@ -42,7 +42,8 @@ typeParameter
|
||||
;
|
||||
|
||||
typeConstraint
|
||||
: userType ":" (userType | "this") // "this" for self-type
|
||||
: userType ":" type
|
||||
: "class" "object" userType ":" type
|
||||
// TODO: other constraints, maybe
|
||||
;
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ functionBody
|
||||
|
||||
property
|
||||
: modifiers ("val" | "var") attributes (type ".")? SimpleName (":" type)? ("=" expression)?
|
||||
"{" getter? setter? "}"
|
||||
(getter? setter? | setter? getter?)
|
||||
;
|
||||
|
||||
getter
|
||||
|
||||
@@ -39,17 +39,22 @@ declaration
|
||||
;
|
||||
|
||||
expressionWithPrecedences // See the precedence table, everything associates to the left
|
||||
: memberLiteral
|
||||
: memberAccessExpression
|
||||
: infixFunctionCall
|
||||
: binOpExpression
|
||||
: assignment
|
||||
: unOpExpression
|
||||
: castExpression
|
||||
: typingExpression
|
||||
: memberAccessExpression
|
||||
;
|
||||
|
||||
memberLiteral
|
||||
: expression? '#' SimpleName
|
||||
;
|
||||
|
||||
memberAccessExpression
|
||||
: (expression accessOp)? memberAccess
|
||||
: (expression accessOp)? (memberAccess | expression)
|
||||
;
|
||||
|
||||
accessOp
|
||||
|
||||
Reference in New Issue
Block a user