private final MethodArgument[] composeArguments(List<? extends Tree> args, List<? extends Tree> argTypes) { int n = args.size(); MethodArgument[] arguments = new MethodArgument[n]; for (int i = 0; i < n; i++) { Tree var = args.get(i); long startOffset = positions.getStartPosition(tree, var); long endOffset = positions.getEndPosition(tree, var); if (startOffset == Diagnostic.NOPOS || endOffset == Diagnostic.NOPOS) { return new MethodArgument[] {}; } arguments[i] = new MethodArgument(var.toString(), (argTypes.size() > i) ? argTypes.get(i).toString() : "", positionDelegate.createPosition( (int) startOffset, (int) lineMap.getLineNumber(startOffset), (int) lineMap.getColumnNumber(startOffset)), positionDelegate.createPosition( (int) endOffset, (int) lineMap.getLineNumber(endOffset), (int) lineMap.getColumnNumber(endOffset))); } return arguments; }
return new MethodArgument[] {}; arguments[i] = new MethodArgument(var.getName().toString(), var.getType().toString(), positionDelegate.createPosition(
@Override public MethodArgument[] visitMethod(MethodTree node, Object p) { if (methodInvocation || !(offset >= lineMap.getLineNumber(positions.getStartPosition(tree, node)) && (offset <= lineMap.getLineNumber(positions.getEndPosition(tree, node))))) { return super.visitMethod(node, p); } List<? extends VariableTree> args = node.getParameters(); List<? extends TypeParameterTree> argTypes = node.getTypeParameters(); int n = args.size(); arguments = new MethodArgument[n]; for (int i = 0; i < n; i++) { VariableTree var = args.get(i); long startOffset = positions.getStartPosition(tree, var); long endOffset = positions.getEndPosition(tree, var); arguments[i] = new MethodArgument(var.getName().toString(), var.getType().toString(), positionDelegate.createPosition( (int) startOffset, (int) lineMap.getLineNumber(startOffset), (int) lineMap.getColumnNumber(startOffset)), positionDelegate.createPosition( (int) endOffset, (int) lineMap.getLineNumber(endOffset), (int) lineMap.getColumnNumber(endOffset))); } return arguments; //return composeArguments(args, argTypes); }
private final MethodArgument[] composeArguments(List<? extends Tree> args, List<? extends Tree> argTypes) { int n = args.size(); MethodArgument[] arguments = new MethodArgument[n]; for (int i = 0; i < n; i++) { Tree var = args.get(i); long startOffset = positions.getStartPosition(tree, var); long endOffset = positions.getEndPosition(tree, var); arguments[i] = new MethodArgument(var.toString(), (argTypes.size() > i) ? argTypes.get(i).toString() : "", positionDelegate.createPosition( (int) startOffset, (int) lineMap.getLineNumber(startOffset), (int) lineMap.getColumnNumber(startOffset)), positionDelegate.createPosition( (int) endOffset, (int) lineMap.getLineNumber(endOffset), (int) lineMap.getColumnNumber(endOffset))); } return arguments; }