Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #2586 from jruby/revert-2584-fix_2480
Revert "Fixed arity issue with RubyMethod"
  • Loading branch information
enebo committed Feb 11, 2015
2 parents b372ebd + 95a586e commit e8dce76
Show file tree
Hide file tree
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
Expand Up @@ -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
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/org/jruby/ir/IRBuilder.java
Expand Up @@ -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();

Expand Down

0 comments on commit e8dce76

Please sign in to comment.