@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 Expression operand = node.getExpression(); final ResolveResult targetResult = _resolver.apply(node.getType()); if (targetResult == null || targetResult.getType() == null) { return null; } final ResolveResult valueResult = _resolver.apply(operand); if (valueResult == null || valueResult.getType() == null) { return null; } final ConversionType conversionType = MetadataHelper.getConversionType(targetResult.getType(), valueResult.getType()); if (conversionType == ConversionType.NONE) { addCastForAssignment(node.getType(), node.getExpression()); } if (RedundantCastUtility.isCastRedundant(_resolver, node)) { RedundantCastUtility.removeCast(node); } return null; }
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(); }
RedundantCastUtility.isCastRedundant(_resolver, (CastExpression) innerRight)) {
@Override public Void visitCastExpression(final CastExpression node, final Void data) { super.visitCastExpression(node, data); final Expression operand = node.getExpression(); final ResolveResult targetResult = _resolver.apply(node.getType()); if (targetResult == null || targetResult.getType() == null) { return null; } final ResolveResult valueResult = _resolver.apply(operand); if (valueResult == null || valueResult.getType() == null) { return null; } final ConversionType conversionType = MetadataHelper.getConversionType(targetResult.getType(), valueResult.getType()); if (conversionType == ConversionType.NONE) { addCastForAssignment(node.getType(), node.getExpression()); } if (RedundantCastUtility.isCastRedundant(_resolver, node)) { RedundantCastUtility.removeCast(node); } return null; }
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(); }
RedundantCastUtility.isCastRedundant(_resolver, (CastExpression) innerRight)) {
@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 Expression operand = node.getExpression(); final ResolveResult targetResult = _resolver.apply(node.getType()); if (targetResult == null || targetResult.getType() == null) { return null; } final ResolveResult valueResult = _resolver.apply(operand); if (valueResult == null || valueResult.getType() == null) { return null; } final ConversionType conversionType = MetadataHelper.getConversionType(targetResult.getType(), valueResult.getType()); if (conversionType == ConversionType.NONE) { addCastForAssignment(node.getType(), node.getExpression()); } if (RedundantCastUtility.isCastRedundant(_resolver, node)) { RedundantCastUtility.removeCast(node); } return null; }
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(); }
RedundantCastUtility.isCastRedundant(_resolver, (CastExpression) innerRight)) {
@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; }