public SimplifyArithmeticExpressionsTransform(final DecompilerContext context) { super(context); _resolver = new JavaResolver(context); }
private boolean anyIsString(final List<Expression> expressions) { final JavaResolver resolver = new JavaResolver(context); for (int i = 0; i < expressions.size(); i++) { final ResolveResult result = resolver.apply(expressions.get(i)); if (result != null && result.getType() != null && CommonTypeReferences.String.isEquivalentTo(result.getType())) { return true; } } return false; } }
private static ResolveResult resolveType(final AstType type) { if (type == null || type.isNull()) { return null; } return resolveType(type.toTypeReference()); }
@Override public Void visitIfElseStatement(final IfElseStatement node, final Void data) { super.visitIfElseStatement(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
@Override public Void visitConditionalExpression(final ConditionalExpression node, final Void data) { super.visitConditionalExpression(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
@Override public Void visitIfElseStatement(final IfElseStatement node, final Void data) { super.visitIfElseStatement(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
public SimplifyArithmeticExpressionsTransform(final DecompilerContext context) { super(context); _resolver = new JavaResolver(context); }
private boolean anyIsString(final List<Expression> expressions) { final JavaResolver resolver = new JavaResolver(context); for (int i = 0; i < expressions.size(); i++) { final ResolveResult result = resolver.apply(expressions.get(i)); if (result != null && result.getType() != null && CommonTypeReferences.String.isEquivalentTo(result.getType())) { return true; } } return false; } }
private static ResolveResult resolveType(final AstType type) { if (type == null || type.isNull()) { return null; } return resolveType(type.toTypeReference()); }
@Override public Void visitIfElseStatement(final IfElseStatement node, final Void data) { super.visitIfElseStatement(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
public RemoveImplicitBoxingTransform(final DecompilerContext context) { super(context); _resolver = new JavaResolver(context); }
private boolean anyIsString(final List<Expression> expressions) { final JavaResolver resolver = new JavaResolver(context); for (int i = 0; i < expressions.size(); i++) { final ResolveResult result = resolver.apply(expressions.get(i)); if (result != null && result.getType() != null && CommonTypeReferences.String.isEquivalentTo(result.getType())) { return true; } } return false; } }
private static ResolveResult resolveType(final AstType type) { if (type == null || type.isNull()) { return null; } return resolveType(type.toTypeReference()); }
@Override public Void visitConditionalExpression(final ConditionalExpression node, final Void data) { super.visitConditionalExpression(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
public RewriteInnerClassConstructorCalls(final DecompilerContext context) { super(context); _resolver = new JavaResolver(context); }
final JavaResolver resolver = new JavaResolver(_context); final ConvertTypeOptions options = new ConvertTypeOptions(); final ResolveResult resolvedArgument = resolver.apply(argument);
@Override public Void visitConditionalExpression(final ConditionalExpression node, final Void data) { super.visitConditionalExpression(node, data); final Expression condition = node.getCondition(); final ResolveResult conditionResult = _resolver.apply(condition); if (conditionResult != null && TypeUtilities.isArithmetic(conditionResult.getType())) { convertNumericToBoolean(condition, conditionResult.getType()); } return null; }
public RemoveImplicitBoxingTransform(final DecompilerContext context) { super(context); _resolver = new JavaResolver(context); }
final JavaResolver resolver = new JavaResolver(_context); final ConvertTypeOptions options = new ConvertTypeOptions(); final ResolveResult resolvedArgument = resolver.apply(argument);
private void removeUnboxingForCondition( final InvocationExpression e, final MemberReferenceExpression target, final ConditionalExpression parent) { final boolean leftSide = parent.getTrueExpression().isAncestorOf(e); final Expression otherSide = leftSide ? parent.getFalseExpression() : parent.getTrueExpression(); final ResolveResult otherResult = _resolver.apply(otherSide); if (otherResult == null || otherResult.getType() == null || !otherResult.getType().isPrimitive()) { return; } performUnboxingRemoval(e, target); }