public static boolean isCase(CtLiteral literal) { return literal.getParent(CtCase.class) != null; }
@Override public boolean matches(CtLiteral literal) { return literal.getParent(CtAnnotation.class) == null && super.matches(literal); } }
@Override public boolean isToBeProcessed(CtLiteral candidate) { CtMethod parent = candidate.getParent(CtMethod.class); Object value = candidate.getValue(); if (parent == null) { return false; } else if (value instanceof Boolean || value == null) { return false; } return (this.buggyMethod == null || parent.getSimpleName().equals(this.buggyMethod)) && Number.class.isAssignableFrom(value.getClass()); }
try { Class<?> clazzOfLiteral = null; if ((literal.getParent() instanceof CtInvocation && TestFramework.get().isAssert((CtInvocation) literal.getParent())) || isConcatenationOfLiteral(literal) || literal.getParent(CtAnnotation.class) != null) { return false; } else if (literal.getValue() == null) { if (literal.getParent() instanceof CtInvocation<?>) { final CtInvocation<?> parent = (CtInvocation<?>) literal.getParent(); clazzOfLiteral = parent.getExecutable() .getDeclaration() .getType() } else if (literal.getParent() instanceof CtAssignment) { clazzOfLiteral = ((CtAssignment) literal.getParent()) .getAssigned() .getType() } else if (literal.getParent() instanceof CtLocalVariable) { clazzOfLiteral = ((CtLocalVariable) literal.getParent()) .getType()
private boolean isConcatenationOfLiteral(CtLiteral<T> literal) { CtElement currentElement = literal; while (currentElement.getParent() instanceof CtBinaryOperator) { currentElement = currentElement.getParent(); } return currentElement.getParent() instanceof CtInvocation && TestFramework.get().isAssert((CtInvocation) literal.getParent()); } };