Skip to content

Commit 8f18a62

Browse files
committed
[fix] Struct#initialize kwargs (second part)
kwargs could still be kept -> polluting next call-site
1 parent e16ff26 commit 8f18a62

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

core/src/main/java/org/jruby/RubyStruct.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,15 +548,17 @@ private IRubyObject initialize(ThreadContext context, IRubyObject arg0, final in
548548
return initializeInternal(context, 1, arg0, context.nil, context.nil);
549549
}
550550

551-
@JRubyMethod(visibility = PRIVATE)
551+
@JRubyMethod(visibility = PRIVATE, keywords = true)
552552
public IRubyObject initialize(ThreadContext context, IRubyObject arg0, IRubyObject arg1) {
553+
ThreadContext.resetCallInfo(context);
553554
IRubyObject keywordInit = RubyStruct.getInternalVariable(context, classOf(), KEYWORD_INIT_VAR);
554555
if (keywordInit.isTrue()) throw argumentError(context, 2, 0);
555556
return initializeInternal(context, 2, arg0, arg1, context.nil);
556557
}
557558

558-
@JRubyMethod(visibility = PRIVATE)
559+
@JRubyMethod(visibility = PRIVATE, keywords = true)
559560
public IRubyObject initialize(ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2) {
561+
ThreadContext.resetCallInfo(context);
560562
IRubyObject keywordInit = RubyStruct.getInternalVariable(context, classOf(), KEYWORD_INIT_VAR);
561563
if (keywordInit.isTrue()) throw argumentError(context, 3, 0);
562564
return initializeInternal(context, 3, arg0, arg1, arg2);

0 commit comments

Comments
 (0)