Class DeclareLocalClassesTransform
java.lang.Object
com.strobel.decompiler.languages.java.ast.transforms.DeclareLocalClassesTransform
- All Implemented Interfaces:
IAstTransform
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final class
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
canMoveLocalTypeIntoSubBlock
(Statement statement, TypeReference localType, boolean allowPassIntoLoops) private boolean
declareTypeInBlock
(BlockStatement block, TypeDeclaration type, boolean allowPassIntoLoops, Set<DeclareLocalClassesTransform.TypeToDeclare> typesToDeclare) (package private) static boolean
findDeclarationPoint
(TypeReference localType, boolean allowPassIntoLoops, BlockStatement block, StrongBox<Statement> declarationPoint, Statement skipUpThrough) static boolean
findDeclarationPoint
(TypeDeclaration declaration, BlockStatement block, StrongBox<Statement> declarationPoint, Statement skipUpThrough) private static boolean
hasNestedBlocks
(AstNode node) private static boolean
referencesType
(TypeReference reference, TypeReference localType) private static boolean
referencesType
(AstNode node, TypeReference localType) private static boolean
referencesType
(AstType reference, TypeReference localType) void
private void
run
(AstNode node, DefiniteAssignmentAnalysis daa)
-
Field Details
-
context
-
astBuilder
-
-
Constructor Details
-
DeclareLocalClassesTransform
-
-
Method Details
-
run
- Specified by:
run
in interfaceIAstTransform
-
run
-
declareTypeInBlock
private boolean declareTypeInBlock(BlockStatement block, TypeDeclaration type, boolean allowPassIntoLoops, Set<DeclareLocalClassesTransform.TypeToDeclare> typesToDeclare) -
findDeclarationPoint
public static boolean findDeclarationPoint(TypeDeclaration declaration, BlockStatement block, StrongBox<Statement> declarationPoint, Statement skipUpThrough) -
findDeclarationPoint
static boolean findDeclarationPoint(TypeReference localType, boolean allowPassIntoLoops, BlockStatement block, StrongBox<Statement> declarationPoint, Statement skipUpThrough) -
canMoveLocalTypeIntoSubBlock
private static boolean canMoveLocalTypeIntoSubBlock(Statement statement, TypeReference localType, boolean allowPassIntoLoops) -
referencesType
-
referencesType
-
referencesType
-
hasNestedBlocks
-