public ModuleName getFullName() {
return fullName;
}
private List<Node> getStringArguments(IArgumentNode callNode) throws IllegalArgumentException {
Node argsNode = callNode.getArgs();
if(!(argsNode instanceof ListNode))
throw new IllegalArgumentException("IArgumentNode expected");
ListNode args = (ListNode) argsNode;
int top = args.size();
ArrayList<Node> stringArgs = new ArrayList<Node>(top);
for(int idx = 0; idx < top; ++idx) {
Node argNode = args.get(idx);
switch(argNode.getNodeType()) {
case STRNODE:
case FIXNUMNODE:
case FLOATNODE:
case NILNODE:
stringArgs.add(argNode);
break;
default:
addError(argNode.getPosition(), "Unexpected ruby code. Node type was: " + (argNode == null
? "null"
: argNode.getClass().getSimpleName()));
}
}
return stringArgs;
}