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 AstBuilderprivate final JavaResolverprivate final Statementprivate final TryCatchStatementFields inherited from class ContextTrackingVisitor
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancanMoveVariableDeclaration(Statement initializeResource, IdentifierExpression resource, Statement node) private static ParameterDeclarationfindDeclaration(IdentifierExpression id, AstNode source) private booleannotEffectivelyFinal(String resourceName, BlockStatement scope, Statement startingPoint) voidvisitTryCatchStatement(TryCatchStatement node, Void data) Methods inherited from class ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration, visitTypeDeclarationOverrideMethods inherited from class 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:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<Void>
-
visitTryCatchStatement
- Specified by:
visitTryCatchStatementin interfaceIAstVisitor<Void,Void> - Overrides:
visitTryCatchStatementin classDepthFirstAstVisitor<Void,Void>
-
notEffectivelyFinal
private boolean notEffectivelyFinal(String resourceName, BlockStatement scope, Statement startingPoint) -
canMoveVariableDeclaration
private boolean canMoveVariableDeclaration(Statement initializeResource, IdentifierExpression resource, Statement node) -
findDeclaration
-