Class NewTryWithResourcesTransform
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<java.lang.Void>
-
- com.strobel.decompiler.languages.java.ast.transforms.NewTryWithResourcesTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>,IAstTransform
public class NewTryWithResourcesTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classNewTryWithResourcesTransform.EmptyTryWithResourcesRewriter
-
Field Summary
Fields Modifier and Type Field Description private AstBuilder_builderprivate JavaResolver_resolverprivate Statement_resourceDeclarationprivate TryCatchStatement_tryPattern-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description NewTryWithResourcesTransform(DecompilerContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancanMoveVariableDeclaration(Statement initializeResource, IdentifierExpression resource, Statement node)private static ParameterDeclarationfindDeclaration(IdentifierExpression id, AstNode source)private booleannotEffectivelyFinal(java.lang.String resourceName, BlockStatement scope, Statement startingPoint)voidrun(AstNode compilationUnit)java.lang.VoidvisitTryCatchStatement(TryCatchStatement node, java.lang.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 Detail
-
_resourceDeclaration
private final Statement _resourceDeclaration
-
_tryPattern
private final TryCatchStatement _tryPattern
-
_resolver
private final JavaResolver _resolver
-
_builder
private AstBuilder _builder
-
-
Constructor Detail
-
NewTryWithResourcesTransform
public NewTryWithResourcesTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
visitTryCatchStatement
public java.lang.Void visitTryCatchStatement(TryCatchStatement node, java.lang.Void data)
- Specified by:
visitTryCatchStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitTryCatchStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
notEffectivelyFinal
private boolean notEffectivelyFinal(java.lang.String resourceName, BlockStatement scope, Statement startingPoint)
-
canMoveVariableDeclaration
private boolean canMoveVariableDeclaration(Statement initializeResource, IdentifierExpression resource, Statement node)
-
findDeclaration
private static ParameterDeclaration findDeclaration(IdentifierExpression id, AstNode source)
-
-