Class NewTryWithResourcesTransform
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.NewTryWithResourcesTransform
- All Implemented Interfaces:
IAstVisitor<Void,
,Void> IAstTransform
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AstBuilder
private final JavaResolver
private final Statement
private final TryCatchStatement
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
canMoveVariableDeclaration
(Statement initializeResource, IdentifierExpression resource, Statement node) private static ParameterDeclaration
findDeclaration
(IdentifierExpression id, AstNode source) private boolean
notEffectivelyFinal
(String resourceName, BlockStatement scope, Statement startingPoint) void
visitTryCatchStatement
(TryCatchStatement node, Void data) Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverride
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitInvocationExpression, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
Field Details
-
_resourceDeclaration
-
_tryPattern
-
_resolver
-
_builder
-
-
Constructor Details
-
NewTryWithResourcesTransform
-
-
Method Details
-
run
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<Void>
-
visitTryCatchStatement
- Specified by:
visitTryCatchStatement
in interfaceIAstVisitor<Void,
Void> - Overrides:
visitTryCatchStatement
in classDepthFirstAstVisitor<Void,
Void>
-
notEffectivelyFinal
private boolean notEffectivelyFinal(String resourceName, BlockStatement scope, Statement startingPoint) -
canMoveVariableDeclaration
private boolean canMoveVariableDeclaration(Statement initializeResource, IdentifierExpression resource, Statement node) -
findDeclaration
-