Package jadx.core.dex.visitors.finaly
Class CentralityState
java.lang.Object
jadx.core.dex.visitors.finaly.CentralityState
A centrality state is an object which helps track how instructions can be skipped.
When looking for a finally, one of the things we have to do is make sure that instructions
are not part of the return and are actually part of the "finally" block.
This object helps keep track of registers, instructions etc to see if instructions can be
skipped.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Set<RegisterArg> private booleanprivate booleanprivate final SameInstructionsStrategy -
Constructor Summary
ConstructorsConstructorDescriptionCentralityState(SameInstructionsStrategy sameInstructionsStrategy, boolean allowsNonStartingNode) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAllowableOutput(RegisterArg allowableOutput) voidaddAllowableOutputs(InsnNode allowableOutputInsn) Adds all inputs register arguments from an instruction as allowable output arguments.voidaddAllowableOutputs(Collection<RegisterArg> allowableOutputs) booleanbooleanbooleanhasAllowableInputs(InsnNode insn) booleanhasAllowableOutput(InsnNode insn) voidsetAllowsCentral(boolean allowsCentral) voidsetAllowsNonStartingNode(boolean allowsNonStartingNode) toString()
-
Field Details
-
allowableOutputArguments
-
sameInstructionsStrategy
-
allowsCentral
private boolean allowsCentral -
allowsNonStartingNode
private boolean allowsNonStartingNode
-
-
Constructor Details
-
CentralityState
public CentralityState(SameInstructionsStrategy sameInstructionsStrategy, boolean allowsNonStartingNode)
-
-
Method Details
-
toString
-
getSameInstructionsStrategy
-
getAllowsCentral
public boolean getAllowsCentral() -
setAllowsCentral
public void setAllowsCentral(boolean allowsCentral) -
getAllowsNonStartingNode
public boolean getAllowsNonStartingNode() -
setAllowsNonStartingNode
public void setAllowsNonStartingNode(boolean allowsNonStartingNode) -
addAllowableOutput
-
addAllowableOutputs
-
addAllowableOutputs
Adds all inputs register arguments from an instruction as allowable output arguments.- Parameters:
allowableOutputInsn- The instruction to retrieve the list of inputs from.
-
hasAllowableOutput
-
hasAllowableInputs
-
duplicate
-
getAllowableOutputArguments
-