@Override public Void visitCastExpression(final CastExpression node, final Void data) { super.visitCastExpression(node, data); final List<CastExpression> redundantCasts = RedundantCastUtility.getRedundantCastsInside( _resolver, skipParenthesesUp(node.getParent()) ); if (redundantCasts.contains(node)) { RedundantCastUtility.removeCast(node); } return null; }
@Override public Void visitCastExpression(final CastExpression node, final Void data) { super.visitCastExpression(node, data); final List<CastExpression> redundantCasts = RedundantCastUtility.getRedundantCastsInside( _resolver, skipParenthesesUp(node.getParent()) ); if (redundantCasts.contains(node)) { RedundantCastUtility.removeCast(node); } return null; }
@Override public Void visitCastExpression(final CastExpression node, final Void data) { super.visitCastExpression(node, data); final List<CastExpression> redundantCasts = RedundantCastUtility.getRedundantCastsInside( _resolver, skipParenthesesUp(node.getParent()) ); if (redundantCasts.contains(node)) { RedundantCastUtility.removeCast(node); } return null; }
public boolean isInPolymorphicCall(final CastExpression cast) { // // See http://download.java.net/jdk7/docs/api/java/lang/invoke/MethodHandle.html#sigpoly // final Expression operand = cast.getExpression(); if (operand instanceof InvocationExpression || operand instanceof MemberReferenceExpression && operand.getParent() instanceof InvocationExpression || operand instanceof ObjectCreationExpression) { if (isPolymorphicMethod(operand)) { return true; } } return cast.getRole() == Roles.ARGUMENT && isPolymorphicMethod(skipParenthesesUp(cast.getParent())); }
public boolean isInPolymorphicCall(final CastExpression cast) { // // See http://download.java.net/jdk7/docs/api/java/lang/invoke/MethodHandle.html#sigpoly // final Expression operand = cast.getExpression(); if (operand instanceof InvocationExpression || operand instanceof MemberReferenceExpression && operand.getParent() instanceof InvocationExpression || operand instanceof ObjectCreationExpression) { if (isPolymorphicMethod(operand)) { return true; } } return cast.getRole() == Roles.ARGUMENT && isPolymorphicMethod(skipParenthesesUp(cast.getParent())); }
public boolean isInPolymorphicCall(final CastExpression cast) { // // See http://download.java.net/jdk7/docs/api/java/lang/invoke/MethodHandle.html#sigpoly // final Expression operand = cast.getExpression(); if (operand instanceof InvocationExpression || operand instanceof MemberReferenceExpression && operand.getParent() instanceof InvocationExpression || operand instanceof ObjectCreationExpression) { if (isPolymorphicMethod(operand)) { return true; } } return cast.getRole() == Roles.ARGUMENT && isPolymorphicMethod(skipParenthesesUp(cast.getParent())); }
public static boolean isCastRedundant(final Function<AstNode, ResolveResult> resolver, final CastExpression cast) { AstNode parent = skipParenthesesUp(cast.getParent()); if (parent == null) { return false; } if (parent.getRole() == Roles.ARGUMENT || parent.isReference()) { parent = parent.getParent(); } final IsRedundantVisitor visitor = new IsRedundantVisitor(resolver, false); parent.acceptVisitor(visitor, null); return visitor.isRedundant(); }
public static boolean isCastRedundant(final Function<AstNode, ResolveResult> resolver, final CastExpression cast) { AstNode parent = skipParenthesesUp(cast.getParent()); if (parent == null) { return false; } if (parent.getRole() == Roles.ARGUMENT || parent.isReference()) { parent = parent.getParent(); } final IsRedundantVisitor visitor = new IsRedundantVisitor(resolver, false); parent.acceptVisitor(visitor, null); return visitor.isRedundant(); }
public static boolean isCastRedundant(final Function<AstNode, ResolveResult> resolver, final CastExpression cast) { AstNode parent = skipParenthesesUp(cast.getParent()); if (parent == null) { return false; } if (parent.getRole() == Roles.ARGUMENT || parent.isReference()) { parent = parent.getParent(); } final IsRedundantVisitor visitor = new IsRedundantVisitor(resolver, false); parent.acceptVisitor(visitor, null); return visitor.isRedundant(); }
public static void removeCast(final CastExpression castExpression) { if (castExpression == null || castExpression.isNull()) { return; } Expression operand = castExpression.getExpression(); if (operand instanceof ParenthesizedExpression) { operand = ((ParenthesizedExpression) operand).getExpression(); } if (operand.isNull()) { return; } AstNode toBeReplaced = castExpression; AstNode parent = castExpression.getParent(); while (parent instanceof ParenthesizedExpression) { toBeReplaced = parent; parent = parent.getParent(); } toBeReplaced.replaceWith(operand); }
public static void removeCast(final CastExpression castExpression) { if (castExpression == null || castExpression.isNull()) { return; } Expression operand = castExpression.getExpression(); if (operand instanceof ParenthesizedExpression) { operand = ((ParenthesizedExpression) operand).getExpression(); } if (operand == null || operand.isNull()) { return; } AstNode toBeReplaced = castExpression; AstNode parent = castExpression.getParent(); while (parent instanceof ParenthesizedExpression) { toBeReplaced = parent; parent = parent.getParent(); } toBeReplaced.replaceWith(operand); }
public static void removeCast(final CastExpression castExpression) { if (castExpression == null || castExpression.isNull()) { return; } Expression operand = castExpression.getExpression(); if (operand instanceof ParenthesizedExpression) { operand = ((ParenthesizedExpression) operand).getExpression(); } if (operand == null || operand.isNull()) { return; } AstNode toBeReplaced = castExpression; AstNode parent = castExpression.getParent(); while (parent instanceof ParenthesizedExpression) { toBeReplaced = parent; parent = parent.getParent(); } toBeReplaced.replaceWith(operand); }
protected void processAlreadyHasTypeCast(final CastExpression cast) { AstNode parent = cast.getParent();
protected void processAlreadyHasTypeCast(final CastExpression cast) { AstNode parent = cast.getParent();
AstNode parent = cast.getParent();
AstNode parent = cast.getParent();
protected void processAlreadyHasTypeCast(final CastExpression cast) { AstNode parent = cast.getParent();
final AstNode parent = skipParenthesesUp(cast.getParent());
final AstNode parent = node.getParent();
final AstNode parent = node.getParent();