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 classRewriteRecordClassesTransform.RecordState
-
Field Summary
Fields Modifier and Type Field Description private RewriteRecordClassesTransform.RecordState_currentRecordprotected static MethodDeclarationACCESSORprotected static ExpressionStatementASSIGNMENT_PATTERNprotected static java.util.Map<java.lang.String,java.lang.String>GENERATED_METHOD_SIGNATURESprotected static BlockStatementINVOKE_DYNAMIC_BODYprotected static ExpressionStatementSUPER_CONSTRUCTOR_CALLprotected static ExpressionStatementTHIS_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 voidrun(AstNode compilationUnit)java.lang.VoidvisitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)java.lang.VoidvisitExpressionStatement(ExpressionStatement node, java.lang.Void data)java.lang.VoidvisitFieldDeclaration(FieldDeclaration node, java.lang.Void data)protected java.lang.VoidvisitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)protected java.lang.VoidvisitTypeDeclarationOverride(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:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
visitTypeDeclarationOverride
protected java.lang.Void visitTypeDeclarationOverride(TypeDeclaration typeDeclaration, java.lang.Void p)
- Overrides:
visitTypeDeclarationOverridein classContextTrackingVisitor<java.lang.Void>
-
visitMethodDeclarationOverride
protected java.lang.Void visitMethodDeclarationOverride(MethodDeclaration node, java.lang.Void p)
- Overrides:
visitMethodDeclarationOverridein classContextTrackingVisitor<java.lang.Void>
-
visitFieldDeclaration
public java.lang.Void visitFieldDeclaration(FieldDeclaration node, java.lang.Void data)
- Specified by:
visitFieldDeclarationin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitFieldDeclarationin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitConstructorDeclaration
public java.lang.Void visitConstructorDeclaration(ConstructorDeclaration node, java.lang.Void p)
- Specified by:
visitConstructorDeclarationin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitConstructorDeclarationin classContextTrackingVisitor<java.lang.Void>
-
visitExpressionStatement
public java.lang.Void visitExpressionStatement(ExpressionStatement node, java.lang.Void data)
- Specified by:
visitExpressionStatementin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitExpressionStatementin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-