Modifier and Type | Field and Description |
---|---|
private Statement |
Op03SimpleStatement.containedStatement |
Modifier and Type | Method and Description |
---|---|
private Statement |
Op02WithProcessedDataAndRefs.buildInvoke(Method thisCallerMethod) |
private Statement |
Op02WithProcessedDataAndRefs.buildInvokeDynamic(ClassFile classFile,
DCCommonState dcCommonState,
java.lang.String name,
MethodPrototype dynamicPrototype,
int idx,
boolean showBoilerArgs,
DecompilerComments comments) |
private Statement |
Op02WithProcessedDataAndRefs.buildInvokeDynamic(Method method,
DCCommonState dcCommonState,
DecompilerComments comments) |
private Statement |
Op02WithProcessedDataAndRefs.createStatement(Method method,
DecompilerComments comments,
VariableFactory variableFactory,
BlockIdentifierFactory blockIdentifierFactory,
DCCommonState dcCommonState,
TypeHintRecovery typeHintRecovery) |
Statement |
Op03SimpleStatement.getStatement() |
Statement |
Op03SimpleStatement.getTargetStatement(int idx) |
private Statement |
Op02WithProcessedDataAndRefs.mkAssign(VariableFactory variableFactory) |
private Statement |
Op02WithProcessedDataAndRefs.mkRetrieve(VariableFactory variableFactory) |
Modifier and Type | Method and Description |
---|---|
void |
Op03SimpleStatement.replaceStatement(Statement newStatement) |
Modifier and Type | Method and Description |
---|---|
void |
Op03SimpleStatement.copyBlockInformationFrom(StatementContainer<Statement> other) |
void |
Op03SimpleStatement.copyBytecodeInformationFrom(StatementContainer<Statement> other) |
Constructor and Description |
---|
Op03SimpleStatement(Op02WithProcessedDataAndRefs original,
Statement statement) |
Op03SimpleStatement(java.util.Set<BlockIdentifier> containedIn,
Statement statement,
InstrIndex index) |
Op03SimpleStatement(java.util.Set<BlockIdentifier> containedIn,
Statement statement,
SSAIdentifiers<LValue> ssaIdentifiers,
InstrIndex index) |
Modifier and Type | Field and Description |
---|---|
(package private) java.util.Map<StackSSALabel,StatementContainer<Statement>> |
LValuePropSimple.AssignmentCollector.assignments |
Modifier and Type | Method and Description |
---|---|
(package private) static boolean |
Misc.findHiddenIter(Statement statement,
LValue lValue,
Expression rValue,
java.util.Set<Expression> poison) |
private static BlockIdentifier |
TryRewriter.getBlockStart(Statement statement) |
private static Troolean |
ConditionalSimplifier.isBooleanReturn(Statement s) |
private static boolean |
PushThroughGoto.moveable(Statement statement) |
(package private) static void |
Misc.replaceHiddenIter(Statement statement,
LValue lValue,
Expression rValue) |
Modifier and Type | Method and Description |
---|---|
void |
LValuePropSimple.AssignmentCollector.collect(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValuePropSimple.AssignmentCollector.collectLocalVariableAssignment(LocalVariable localVariable,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValuePropSimple.AssignmentCollector.collectMultiUse(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValuePropSimple.AssignmentCollector.collectMutatedLValue(LValue lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
Modifier and Type | Method and Description |
---|---|
java.util.List<Statement> |
Statement.getCompoundParts() |
StatementContainer<Statement> |
Statement.getContainer() |
Modifier and Type | Method and Description |
---|---|
void |
Statement.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
Statement.setContainer(StatementContainer<Statement> container) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractAssignment |
class |
AbstractStatement |
class |
AnonBreakTarget |
class |
AssignmentPreMutation
In an assignment prechange, the LHS is by definition equal to the RHS after the statement.
|
class |
AssignmentSimple |
class |
CaseStatement |
class |
CatchStatement |
class |
CommentStatement |
class |
CompoundStatement
This should not be used to aggregate statements, but only to produce statements when multiple statements
are generated by a single opcode.
|
class |
ConstructorStatement
This is a temporary statement - it should be replaced with an Assignment of a ConstructorInvokation
However, it can force the type of the constructed object, which NEW is not capable of doing....
|
class |
DoStatement |
class |
ExpressionStatement |
class |
FinallyStatement |
class |
ForIterStatement |
class |
ForStatement |
class |
GotoStatement |
class |
IfExitingStatement |
class |
IfStatement |
class |
JSRCallStatement |
class |
JSRRetStatement |
class |
JumpingStatement |
class |
MonitorEnterStatement |
class |
MonitorExitStatement |
class |
MonitorStatement |
class |
Nop |
class |
RawSwitchStatement
A 'raw' switch contains the original bytecode information about the switch.
|
class |
ReturnNothingStatement |
class |
ReturnStatement |
class |
ReturnValueStatement |
class |
SwitchStatement |
class |
ThrowStatement |
class |
TryStatement |
class |
WhileStatement |
Modifier and Type | Field and Description |
---|---|
private Statement |
CommentStatement.StatementExpression.statement |
private Statement |
IfExitingStatement.statement |
Modifier and Type | Field and Description |
---|---|
private StatementContainer<Statement> |
AbstractStatement.container |
private java.util.List<Statement> |
CompoundStatement.statements |
Modifier and Type | Method and Description |
---|---|
Statement |
AnonBreakTarget.deepClone(CloneHelper cloneHelper) |
Statement |
AssignmentPreMutation.deepClone(CloneHelper cloneHelper) |
Statement |
AssignmentSimple.deepClone(CloneHelper cloneHelper) |
Statement |
CaseStatement.deepClone(CloneHelper cloneHelper) |
Statement |
CatchStatement.deepClone(CloneHelper cloneHelper) |
Statement |
CommentStatement.deepClone(CloneHelper cloneHelper) |
Statement |
CompoundStatement.deepClone(CloneHelper cloneHelper) |
Statement |
ConstructorStatement.deepClone(CloneHelper cloneHelper) |
Statement |
DoStatement.deepClone(CloneHelper cloneHelper) |
Statement |
ExpressionStatement.deepClone(CloneHelper cloneHelper) |
Statement |
FinallyStatement.deepClone(CloneHelper cloneHelper) |
Statement |
ForIterStatement.deepClone(CloneHelper cloneHelper) |
Statement |
ForStatement.deepClone(CloneHelper cloneHelper) |
Statement |
GotoStatement.deepClone(CloneHelper cloneHelper) |
Statement |
IfExitingStatement.deepClone(CloneHelper cloneHelper) |
Statement |
JSRCallStatement.deepClone(CloneHelper cloneHelper) |
Statement |
JSRRetStatement.deepClone(CloneHelper cloneHelper) |
Statement |
MonitorEnterStatement.deepClone(CloneHelper cloneHelper) |
Statement |
MonitorExitStatement.deepClone(CloneHelper cloneHelper) |
Statement |
Nop.deepClone(CloneHelper cloneHelper) |
Statement |
RawSwitchStatement.deepClone(CloneHelper cloneHelper) |
Statement |
SwitchStatement.deepClone(CloneHelper cloneHelper) |
Statement |
TryStatement.deepClone(CloneHelper cloneHelper) |
Statement |
WhileStatement.deepClone(CloneHelper cloneHelper) |
Statement |
IfExitingStatement.getExitStatement() |
Statement |
GotoStatement.getJumpTarget() |
Statement |
IfStatement.getJumpTarget() |
abstract Statement |
JumpingStatement.getJumpTarget() |
protected Statement |
AbstractStatement.getTargetStatement(int idx) |
Statement |
AbstractStatement.outerDeepClone(CloneHelper cloneHelper) |
Modifier and Type | Method and Description |
---|---|
java.util.List<Statement> |
AbstractStatement.getCompoundParts() |
java.util.List<Statement> |
CompoundStatement.getCompoundParts() |
StatementContainer<Statement> |
AbstractStatement.getContainer() |
Modifier and Type | Method and Description |
---|---|
void |
AbstractStatement.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
AssignmentPreMutation.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
AssignmentSimple.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
CatchStatement.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
CompoundStatement.collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector) |
void |
AbstractStatement.setContainer(StatementContainer<Statement> container) |
Constructor and Description |
---|
CommentStatement(Statement statement) |
CompoundStatement(BytecodeLoc loc,
Statement... statements) |
IfExitingStatement(BytecodeLoc loc,
ConditionalExpression conditionalExpression,
Statement statement) |
StatementExpression(Statement statement) |
Modifier and Type | Field and Description |
---|---|
private StatementContainer<Statement> |
LValueAssignmentAndAliasCondenser.ExpressionStatementPair.statementContainer |
private java.util.Map<StackSSALabel,java.util.List<StatementContainer<Statement>>> |
LValueAssignmentAndAliasCondenser.AliasRewriter.usages |
Modifier and Type | Method and Description |
---|---|
LValueRewriter<Statement> |
LValueAssignmentAndAliasCondenser.keepConstant(java.util.Collection<LValue> usedLValues) |
LValueRewriter<Statement> |
LValueAssignmentAndAliasCondenser.AliasRewriter.keepConstant(java.util.Collection<LValue> usedLValues) |
LValueRewriter<Statement> |
LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass.keepConstant(java.util.Collection<LValue> usedLValues) |
LValueRewriter<Statement> |
LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass.keepConstant(java.util.Collection<LValue> usedLValues) |
Modifier and Type | Method and Description |
---|---|
private java.util.Set<LValue> |
LValueAssignmentAndAliasCondenser.findAssignees(Statement s) |
Modifier and Type | Method and Description |
---|---|
void |
LValueAssignmentAndAliasCondenser.collect(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValueAssignmentAndAliasCondenser.collectLocalVariableAssignment(LocalVariable localVariable,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValueAssignmentAndAliasCondenser.collectMultiUse(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
LValueAssignmentAndAliasCondenser.collectMutatedLValue(LValue lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
Expression |
LValueAssignmentAndAliasCondenser.getLValueReplacement(LValue lValue,
SSAIdentifiers<LValue> ssaIdentifiers,
StatementContainer<Statement> lvSc) |
Expression |
LValueAssignmentAndAliasCondenser.AliasRewriter.getLValueReplacement(LValue lValue,
SSAIdentifiers<LValue> ssaIdentifiers,
StatementContainer<Statement> statementContainer) |
Expression |
LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass.getLValueReplacement(LValue lValue,
SSAIdentifiers<LValue> ssaIdentifiers,
StatementContainer<Statement> statementContainer) |
Expression |
LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass.getLValueReplacement(LValue lValue,
SSAIdentifiers<LValue> ssaIdentifiers,
StatementContainer<Statement> statementContainer) |
Constructor and Description |
---|
ExpressionStatementPair(Expression expression,
StatementContainer<Statement> statementContainer) |
Modifier and Type | Method and Description |
---|---|
private boolean |
FinallyGraphHelper.treatAsJava13Finally(Op03SimpleStatement b,
Statement sb) |
Modifier and Type | Method and Description |
---|---|
void |
FinallyGraphHelper.FinallyEquivalenceConstraint.collect(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
FinallyGraphHelper.FinallyEquivalenceConstraint.collectLocalVariableAssignment(LocalVariable localVariable,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
FinallyGraphHelper.FinallyEquivalenceConstraint.collectMultiUse(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
FinallyGraphHelper.FinallyEquivalenceConstraint.collectMutatedLValue(LValue lValue,
StatementContainer<Statement> statementContainer,
Expression value) |