Skip to content

Commit 07da23b

Browse files
committed
Move Proc#parameters' logic to a Ruby method
1 parent dddc276 commit 07da23b

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/main/java/org/truffleruby/core/proc/ProcNodes.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,8 @@ public abstract static class ParametersNode extends PrimitiveArrayArgumentsNode
208208

209209
@TruffleBoundary
210210
@Specialization
211-
RubyArray parameters(RubyProc proc, Object lambdaObject) {
211+
RubyArray parameters(RubyProc proc, boolean isLambda) {
212212
final ArgumentDescriptor[] argsDesc = proc.getArgumentDescriptors();
213-
final boolean isLambda = (lambdaObject == nil)
214-
? proc.type == ProcType.LAMBDA
215-
: !Boolean.FALSE.equals(lambdaObject);
216213
return ArgumentDescriptorUtils
217214
.argumentDescriptorsToParameters(getLanguage(), getContext(), argsDesc, isLambda);
218215
}

src/main/ruby/truffleruby/core/proc.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,12 @@ def <<(other)
130130
end
131131

132132
def parameters(lambda: nil)
133+
if Primitive.nil?(lambda)
134+
lambda = lambda?
135+
else
136+
lambda = Primitive.as_boolean(lambda)
137+
end
138+
133139
Primitive.proc_parameters(self, lambda)
134140
end
135141
end

0 commit comments

Comments
 (0)