diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java index 0ff1e8914f6..be223c278f3 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/parsing/JetParsing.java @@ -799,10 +799,14 @@ public class JetParsing extends AbstractJetParsing { } /* + * variableDeclarationEntry + * : SimpleName (":" type)? + * ; + * * property * : modifiers ("val" | "var") - * typeParameters? (type "." | attributes)? - * (SimpleName (":" type)?){","} + * typeParameters? (type "." | annotations)? + * ("(" variableDeclarationEntry{","} ")" | variableDeclarationEntry) * typeConstraints * ("=" element SEMI?)? * (getter? setter? | setter? getter?) SEMI? diff --git a/grammar/src/class_members.grm b/grammar/src/class_members.grm index 580cb06d1cf..77861944f0a 100644 --- a/grammar/src/class_members.grm +++ b/grammar/src/class_members.grm @@ -81,10 +81,14 @@ functionBody : "=" expression ; +variableDeclarationEntry + : SimpleName (":" type)? + ; + property : modifiers ("val" | "var") typeParameters? (type "." | annotations)? - (SimpleName (":" type)?){","} + ("(" variableDeclarationEntry{","} ")" | variableDeclarationEntry) typeConstraints ("=" expression SEMI?)? (getter? setter? | setter? getter?) SEMI?