Class RewriteRecordClassesTransform
- 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.RewriteRecordClassesTransform
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class RewriteRecordClassesTransform extends ContextTrackingVisitor<java.lang.Void>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
RewriteRecordClassesTransform.RecordState
-
Field Summary
Fields Modifier and Type Field Description private RewriteRecordClassesTransform.RecordState
_currentRecord
protected static MethodDeclaration
ACCESSOR
protected static ExpressionStatement
ASSIGNMENT_PATTERN
protected static java.util.Map<java.lang.String,java.lang.String>
GENERATED_METHOD_SIGNATURES
protected static BlockStatement
INVOKE_DYNAMIC_BODY
protected static ExpressionStatement
SUPER_CONSTRUCTOR_CALL
protected static ExpressionStatement
THIS_CONSTRUCTOR_CALL
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description RewriteRecordClassesTransform(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run(AstNode compilationUnit)
java.lang.Void
visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
java.lang.Void
visitExpressionStatement(ExpressionStatement node, java.lang.Void data)
java.lang.Void
visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
protected java.lang.Void
visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
protected java.lang.Void
visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, visitMethodDeclaration, visitTypeDeclaration
-
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, 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, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
-
-
-
Field Detail
-
GENERATED_METHOD_SIGNATURES
protected static final java.util.Map<java.lang.String,java.lang.String> GENERATED_METHOD_SIGNATURES
-
INVOKE_DYNAMIC_BODY
protected static final BlockStatement INVOKE_DYNAMIC_BODY
-
ASSIGNMENT_PATTERN
protected static final ExpressionStatement ASSIGNMENT_PATTERN
-
SUPER_CONSTRUCTOR_CALL
protected static final ExpressionStatement SUPER_CONSTRUCTOR_CALL
-
THIS_CONSTRUCTOR_CALL
protected static final ExpressionStatement THIS_CONSTRUCTOR_CALL
-
ACCESSOR
protected static final MethodDeclaration ACCESSOR
-
_currentRecord
private RewriteRecordClassesTransform.RecordState _currentRecord
-
-
Constructor Detail
-
RewriteRecordClassesTransform
public RewriteRecordClassesTransform(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
visitTypeDeclarationOverride
protected java.lang.Void visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
- Overrides:
visitTypeDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverride
in classContextTrackingVisitor<java.lang.Void>
-
visitFieldDeclaration
public java.lang.Void visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
- Specified by:
visitFieldDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitFieldDeclaration
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitConstructorDeclaration
public java.lang.Void visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
- Specified by:
visitConstructorDeclaration
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitConstructorDeclaration
in classContextTrackingVisitor<java.lang.Void>
-
visitExpressionStatement
public java.lang.Void visitExpressionStatement(ExpressionStatement node, java.lang.Void data)
- Specified by:
visitExpressionStatement
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitExpressionStatement
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-