public class TypeAnnotationTransformer extends java.lang.Object implements StructuredStatementTransformer, ExpressionRewriter
Modifier and Type | Field and Description |
---|---|
private java.util.List<AnnotationTableTypeEntry> |
catchAnnotations |
private DecompilerComments |
comments |
private java.util.SortedMap<java.lang.Integer,java.lang.Integer> |
instrsByOffset |
private java.util.List<AnnotationTableTypeEntry> |
variableAnnotations |
Constructor and Description |
---|
TypeAnnotationTransformer(AttributeTypeAnnotations vis,
AttributeTypeAnnotations invis,
java.util.SortedMap<java.lang.Integer,java.lang.Integer> instrsByOffset,
DecompilerComments comments) |
private java.util.List<AnnotationTableTypeEntry> variableAnnotations
private java.util.List<AnnotationTableTypeEntry> catchAnnotations
private final java.util.SortedMap<java.lang.Integer,java.lang.Integer> instrsByOffset
private final DecompilerComments comments
public TypeAnnotationTransformer(AttributeTypeAnnotations vis, AttributeTypeAnnotations invis, java.util.SortedMap<java.lang.Integer,java.lang.Integer> instrsByOffset, DecompilerComments comments)
public void transform(Op04StructuredStatement root)
public StructuredStatement transform(StructuredStatement in, StructuredScope scope)
transform
in interface StructuredStatementTransformer
public Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression
in interface ExpressionRewriter
public ConditionalExpression rewriteExpression(ConditionalExpression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression
in interface ExpressionRewriter
public LValue rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression
in interface ExpressionRewriter
public StackSSALabel rewriteExpression(StackSSALabel lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression
in interface ExpressionRewriter
private java.util.List<AnnotationTableTypeEntry> getLocalVariableAnnotations(int offset, int slot, int tolerance)
public void handleStatement(StatementContainer statementContainer)
handleStatement
in interface ExpressionRewriter
private void handleCatchStatement(StructuredCatch stm)