@@ -28,6 +28,7 @@ public class Arity {
28
28
private final int postRequired ;
29
29
private final boolean hasKeywordsRest ;
30
30
private final String [] keywordArguments ;
31
+ private final int arityNumber ;
31
32
32
33
public Arity (int preRequired , int optional , boolean hasRest ) {
33
34
this (preRequired , optional , hasRest , 0 , NO_KEYWORDS , false );
@@ -41,6 +42,7 @@ public Arity(int preRequired, int optional, boolean hasRest, int postRequired, S
41
42
this .postRequired = postRequired ;
42
43
this .keywordArguments = keywordArguments ;
43
44
this .hasKeywordsRest = hasKeywordsRest ;
45
+ this .arityNumber = computeArityNumber ();
44
46
45
47
assert keywordArguments != null && preRequired >= 0 && optional >= 0 && postRequired >= 0 : toString ();
46
48
}
@@ -77,7 +79,7 @@ public boolean hasKeywordsRest() {
77
79
return hasKeywordsRest ;
78
80
}
79
81
80
- public int getArityNumber () {
82
+ private int computeArityNumber () {
81
83
int count = getRequired ();
82
84
83
85
if (acceptsKeywords ()) {
@@ -91,6 +93,10 @@ public int getArityNumber() {
91
93
return count ;
92
94
}
93
95
96
+ public int getArityNumber () {
97
+ return arityNumber ;
98
+ }
99
+
94
100
public String [] getKeywordArguments () {
95
101
return keywordArguments ;
96
102
}
0 commit comments