Class InsertNecessaryConversionsTransform
java.lang.Object
com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<Void,Void>
com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<Void>
com.strobel.decompiler.languages.java.ast.transforms.InsertNecessaryConversionsTransform
- All Implemented Interfaces:
IAstVisitor<Void,Void>, IAstTransform
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JavaResolverprivate final ArrayDeque<INode> private static final INodeprivate static final ConvertTypeOptionsprivate static final INodeFields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanaddCastForAssignment(AstNode left, Expression right) private static TypeReferenceadjustDeclaringType(ResolveResult valueResult, TypeReference declaringType) private ExpressionconvertBooleanToNumeric(Expression operand) private ExpressionconvertNumericToBoolean(Expression node, TypeReference type) private voidvisitAssignmentExpression(AssignmentExpression node, Void data) visitCastExpression(CastExpression node, Void data) visitConditionalExpression(ConditionalExpression node, Void data) visitIfElseStatement(IfElseStatement node, Void data) visitReturnStatement(ReturnStatement node, Void data) visitUnaryOperatorExpression(UnaryOperatorExpression node, Void data) visitVariableDeclaration(VariableDeclarationStatement node, Void data) Methods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArraySpecifier, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnionType, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
Field Details
-
NO_IMPORT_OPTIONS
-
TRUE_NODE
-
FALSE_NODE
-
_resolver
-
_stack
-
-
Constructor Details
-
InsertNecessaryConversionsTransform
-
-
Method Details
-
visitCastExpression
- Specified by:
visitCastExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitCastExpressionin classDepthFirstAstVisitor<Void,Void>
-
visitMemberReferenceExpression
- Specified by:
visitMemberReferenceExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitMemberReferenceExpressionin classDepthFirstAstVisitor<Void,Void>
-
adjustDeclaringType
private static TypeReference adjustDeclaringType(ResolveResult valueResult, TypeReference declaringType) -
visitAssignmentExpression
- Specified by:
visitAssignmentExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitAssignmentExpressionin classDepthFirstAstVisitor<Void,Void>
-
visitVariableDeclaration
- Specified by:
visitVariableDeclarationin interfaceIAstVisitor<Void,Void> - Overrides:
visitVariableDeclarationin classDepthFirstAstVisitor<Void,Void>
-
visitReturnStatement
- Specified by:
visitReturnStatementin interfaceIAstVisitor<Void,Void> - Overrides:
visitReturnStatementin classDepthFirstAstVisitor<Void,Void>
-
visitArrayInitializerExpression
- Specified by:
visitArrayInitializerExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitArrayInitializerExpressionin classDepthFirstAstVisitor<Void,Void>
-
addCastForAssignment
-
visitUnaryOperatorExpression
- Specified by:
visitUnaryOperatorExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitUnaryOperatorExpressionin classDepthFirstAstVisitor<Void,Void>
-
visitBinaryOperatorExpression
- Specified by:
visitBinaryOperatorExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitBinaryOperatorExpressionin classDepthFirstAstVisitor<Void,Void>
-
visitIfElseStatement
- Specified by:
visitIfElseStatementin interfaceIAstVisitor<Void,Void> - Overrides:
visitIfElseStatementin classDepthFirstAstVisitor<Void,Void>
-
visitConditionalExpression
- Specified by:
visitConditionalExpressionin interfaceIAstVisitor<Void,Void> - Overrides:
visitConditionalExpressionin classDepthFirstAstVisitor<Void,Void>
-
convertNumericToBoolean
-
convertBooleanToNumeric
-
recurse
-