Skip to content

Commit

Permalink
Showing 3 changed files with 2 additions and 26 deletions.
23 changes: 0 additions & 23 deletions core/src/main/java/org/jruby/ast/ArgsNode.java
Original file line number Diff line number Diff line change
@@ -277,27 +277,4 @@ public List<Node> childNodes() {

return Node.createList(pre, optArgs, restArgNode, blockArgNode);
}

public int getRequiredKeywordCount() {
if (hasRequiredKeywordArg()) return 1;
return 0;
}

private boolean hasRequiredKeywordArg() {
if (getKeywords() == null) return false;

for (Node keyWordNode :getKeywords().childNodes()) {
for (Node asgnNode : keyWordNode.childNodes()) {
if (isRequiredKeywordArgumentValueNode(asgnNode)) {
return true;
}
}
}
return false;
}

private boolean isRequiredKeywordArgumentValueNode(Node asgnNode) {
return asgnNode.childNodes().get(0) instanceof RequiredKeywordArgumentValueNode;
}

}
3 changes: 1 addition & 2 deletions core/src/main/java/org/jruby/ast/MethodDefNode.java
Original file line number Diff line number Diff line change
@@ -53,10 +53,9 @@ public MethodDefNode(ISourcePosition position, ArgumentNode nameNode, ArgsNode a
this.bodyNode = bodyNode;

// store argument count information into scope
scope.setArities(argsNode.getRequiredArgsCount() + argsNode.getRequiredKeywordCount(), argsNode.getOptionalArgsCount(), argsNode.getRestArg());
scope.setArities(argsNode.getRequiredArgsCount(), argsNode.getOptionalArgsCount(), argsNode.getRestArg());
}


/**
* Gets the argsNode.
* @return Returns a Node
2 changes: 1 addition & 1 deletion core/src/main/java/org/jruby/ir/IRBuilder.java
Original file line number Diff line number Diff line change
@@ -1741,7 +1741,7 @@ public void receiveRequiredArg(Node node, int argIndex, boolean post, int numPre
protected void receiveNonBlockArgs(final ArgsNode argsNode) {
final int numPreReqd = argsNode.getPreCount();
final int numPostReqd = argsNode.getPostCount();
final int required = argsNode.getRequiredArgsCount() + argsNode.getRequiredKeywordCount(); // numPreReqd + numPostReqd
final int required = argsNode.getRequiredArgsCount(); // numPreReqd + numPostReqd
int opt = argsNode.getOptionalArgsCount();
int rest = argsNode.getRestArg();

0 comments on commit 95a586e

Please sign in to comment.