@Deprecated @NonNull public static Iterator<Expression> getParameters(@NonNull Node call) { if (call instanceof MethodInvocation) { return ((MethodInvocation) call).astArguments().iterator(); } else if (call instanceof ConstructorInvocation) { return ((ConstructorInvocation) call).astArguments().iterator(); } else if (call instanceof EnumConstant) { return ((EnumConstant) call).astArguments().iterator(); } else { return Iterators.emptyIterator(); } }
public Expression getArgument(int argument) { if (!(mTargetNode instanceof MethodInvocation)) { return null; } MethodInvocation call = (MethodInvocation) mTargetNode; StrictListAccessor<Expression, MethodInvocation> args = call.astArguments(); if (argument >= args.size()) { return null; } Iterator<Expression> iterator = args.iterator(); int index = 0; while (iterator.hasNext()) { Expression arg = iterator.next(); if (index++ == argument) { return arg; } } return null; }
@Nullable private Expression getTargetArgument() { Iterator<Expression> iterator; if (mTargetNode instanceof MethodInvocation) { iterator = ((MethodInvocation) mTargetNode).astArguments().iterator(); } else if (mTargetNode instanceof ConstructorInvocation) { iterator = ((ConstructorInvocation) mTargetNode).astArguments().iterator(); } else { return null; } int i = 0; while (i < mArgIndex && iterator.hasNext()) { iterator.next(); i++; } if (iterator.hasNext()) { Expression next = iterator.next(); if (next != null && mContext != null && iterator.hasNext()) { TypeDescriptor type = mContext.getType(next); if (isLocaleReference(type)) { next = iterator.next(); } else if (type == null && next.toString().startsWith("Locale.")) { //$NON-NLS-1$ next = iterator.next(); } } return next; } return null; }
private static void ensureAtLeast(@NonNull JavaContext context, @NonNull MethodInvocation node, int parameter, long min) { Iterator<Expression> iterator = node.astArguments().iterator(); Expression argument = null; for (int i = 0; i <= parameter; i++) { if (!iterator.hasNext()) { return; } argument = iterator.next(); } if (argument == null) { return; } long value = getLongValue(context, argument); if (value < min) { String message = String.format("Value will be forced up to %d as of Android 5.1; " + "don't rely on this to be exact", min); context.report(ISSUE, argument, context.getLocation(argument), message); } }
/** * Returns true if this method looks like it's overriding android.view.View's * {@code public void layout(int l, int t, int r, int b)} */ private static boolean isLayoutMethod(MethodDeclaration node) { if (LAYOUT.equals(node.astMethodName().astValue())) { StrictListAccessor<VariableDefinition, MethodDeclaration> parameters = node.astParameters(); if (parameters != null && parameters.size() == 4) { Iterator<VariableDefinition> iterator = parameters.iterator(); for (int i = 0; i < 4; i++) { if (!iterator.hasNext()) { return false; } VariableDefinition next = iterator.next(); TypeReferencePart type = next.astTypeReference().astParts().last(); if (!TYPE_INT.equals(type.getTypeName())) { return false; } } return true; } } return false; }
node.astParameters(); if (parameters != null && parameters.size() == 5) { Iterator<VariableDefinition> iterator = parameters.iterator(); if (!iterator.hasNext()) { return false;
node.astParameters(); if (parameters != null && parameters.size() == 3) { Iterator<VariableDefinition> iterator = parameters.iterator(); if (!iterator.hasNext()) { return false;
for (Iterator<Expression> iterator = args.iterator(); iterator.hasNext(); index++) { Expression expression = iterator.next(); if (expression instanceof Select) { if (viewRootPos < args.size()) { int i = 0; Iterator<Expression> iterator = args.iterator(); while (iterator.hasNext() && i < viewRootPos) { iterator.next();
Iterator<Expression> argIterator = args.iterator(); Expression first = argIterator.next(); Expression second = argIterator.hasNext() ? argIterator.next() : null;
int messageArgumentIndex = PRINTLN.equals(node.astName().astValue()) ? 2 : 1; if (node.astArguments().size() >= messageArgumentIndex) { Iterator<Expression> iterator = node.astArguments().iterator(); Node argument = null; for (int i = 0; i <= messageArgumentIndex; i++) {
&& method.getArgumentType(tagArgumentIndex).matchesSignature(TYPE_STRING) && node.astArguments().size() == method.getArgumentCount()) { Iterator<Expression> iterator = node.astArguments().iterator(); if (tagArgumentIndex == 1) { iterator.next();
continue; Iterator<Expression> arrayIterator = expressions.iterator(); while (arrayIterator.hasNext()) { Expression arrayElement = arrayIterator.next();
return; Iterator<Expression> iterator = arguments.iterator(); Expression first = iterator.next(); Expression second = iterator.next();
&& method.getArgumentType(0).matchesSignature(TYPE_STRING) && node.astArguments().size() == method.getArgumentCount()) { Iterator<Expression> iterator = node.astArguments().iterator(); Node argument = iterator.next(); String sql = ConstantEvaluator.evaluateString(context, argument, true);
Iterator<Expression> arguments = call.astArguments().iterator(); for (int i = 0, n = method.getArgumentCount(); i < n && arguments.hasNext();
Expression expression = Iterators.get(node.astArguments().iterator(), parameterIndex, null); if (expression == null) {