File tree Expand file tree Collapse file tree 2 files changed +38
-2
lines changed
Expand file tree Collapse file tree 2 files changed +38
-2
lines changed Original file line number Diff line number Diff line change @@ -1192,8 +1192,13 @@ module.exports = grammar({
11921192
11931193 formal_parameters : $ => seq (
11941194 '(' ,
1195- optional ( $ . receiver_parameter ) ,
1196- commaSep ( choice ( $ . formal_parameter , $ . spread_parameter ) ) ,
1195+ choice (
1196+ $ . receiver_parameter ,
1197+ seq (
1198+ optional ( seq ( $ . receiver_parameter , ',' ) ) ,
1199+ commaSep ( choice ( $ . formal_parameter , $ . spread_parameter ) ) ,
1200+ ) ,
1201+ ) ,
11971202 ')'
11981203 ) ,
11991204
Original file line number Diff line number Diff line change @@ -664,6 +664,37 @@ public class Inner1<T> {
664664 (this)))
665665 (constructor_body)))))))))
666666
667+ ================================================================================
668+ Receiver parameter with additional parameters
669+ ================================================================================
670+
671+ public class A {
672+ public B(A this) {}
673+
674+ public C(A this, D that) {}
675+ }
676+
677+ ---
678+
679+ (program
680+ (class_declaration
681+ (modifiers)
682+ (identifier)
683+ (class_body
684+ (constructor_declaration
685+ (modifiers)
686+ (identifier)
687+ (formal_parameters
688+ (receiver_parameter (type_identifier) (this)))
689+ (constructor_body))
690+ (constructor_declaration
691+ (modifiers)
692+ (identifier)
693+ (formal_parameters
694+ (receiver_parameter (type_identifier) (this))
695+ (formal_parameter (type_identifier) (identifier)))
696+ (constructor_body)))))
697+
667698================================================================================
668699throws
669700================================================================================
You can’t perform that action at this time.
0 commit comments