Class Misc
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op3rewriters.Misc
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
private static class
static class
static class
static class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static Set<Op03SimpleStatement>
collectAllSources
(Collection<Op03SimpleStatement> statements) (package private) static boolean
findHiddenIter
(Statement statement, LValue lValue, Expression rValue, Set<Expression> poison) (package private) static BlockIdentifier
findOuterBlock
(BlockIdentifier b1, BlockIdentifier b2, List<Op03SimpleStatement> statements) (package private) static Op03SimpleStatement
static void
flattenCompoundStatements
(List<Op03SimpleStatement> statements) (package private) static Op03SimpleStatement
followNopGoto
(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) (package private) static Set<Op03SimpleStatement>
followNopGotoBackwards
(Op03SimpleStatement eventualtarget) static Op03SimpleStatement
followNopGotoChain
(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) static Op03SimpleStatement
followNopGotoChainUntil
(Op03SimpleStatement in, Op03SimpleStatement until, boolean requireJustOneSource, boolean skipLabels) (package private) static int
getFarthestReachableInRange
(List<Op03SimpleStatement> statements, int start, int afterEnd) static Op03SimpleStatement
(package private) static void
markWholeBlock
(List<Op03SimpleStatement> statements, BlockIdentifier blockIdentifier) (package private) static void
replaceHiddenIter
(Statement statement, LValue lValue, Expression rValue) static Op03SimpleStatement
-
Constructor Details
-
Misc
public Misc()
-
-
Method Details
-
flattenCompoundStatements
-
getLastInRangeByIndex
-
skipComments
-
getFarthestReachableInRange
static int getFarthestReachableInRange(List<Op03SimpleStatement> statements, int start, int afterEnd) -
followNopGotoBackwards
-
followNopGoto
static Op03SimpleStatement followNopGoto(Op03SimpleStatement in, boolean requireJustOneSource, boolean aggressive) -
followNopGotoChain
public static Op03SimpleStatement followNopGotoChain(Op03SimpleStatement in, boolean requireJustOneSource, boolean skipLabels) -
followNopGotoChainUntil
public static Op03SimpleStatement followNopGotoChainUntil(Op03SimpleStatement in, Op03SimpleStatement until, boolean requireJustOneSource, boolean skipLabels) -
markWholeBlock
-
findHiddenIter
static boolean findHiddenIter(Statement statement, LValue lValue, Expression rValue, Set<Expression> poison) -
replaceHiddenIter
-
findSingleBackSource
-
findOuterBlock
static BlockIdentifier findOuterBlock(BlockIdentifier b1, BlockIdentifier b2, List<Op03SimpleStatement> statements) -
collectAllSources
-