Modifier and Type | Field and Description |
---|---|
(package private) BlockIdentifier |
Op04StructuredStatement.StackedBlock.blockIdentifier |
(package private) BlockIdentifier |
Op04StructuredStatement.MutableProcessingBlockState.currentBlockIdentifier |
private BlockIdentifier |
Op03SimpleStatement.firstStatementInThisBlock |
private BlockIdentifier |
Op03SimpleStatement.thisComparisonBlock |
Modifier and Type | Field and Description |
---|---|
private java.util.Set<BlockIdentifier> |
Op04StructuredStatement.blockMembership |
private java.util.Set<BlockIdentifier> |
Op03SimpleStatement.containedInBlocks |
private java.util.List<BlockIdentifier> |
Op02WithProcessedDataAndRefs.containedInTheseBlocks |
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.EMPTY_BLOCKSET |
private java.util.Set<BlockIdentifier> |
Op03SimpleStatement.possibleExitsFor |
private java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> |
Op04StructuredStatement.ScopeDescendingTransformer.targets |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
Op03SimpleStatement.getBlockStarted() |
BlockIdentifier |
Op04StructuredStatement.getBlockStarted() |
BlockIdentifier |
Op03SimpleStatement.getFirstStatementInThisBlock() |
private static BlockIdentifier |
Op04StructuredStatement.getStartingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
BlockIdentifier |
Op03SimpleStatement.getThisComparisonBlock() |
Modifier and Type | Method and Description |
---|---|
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.blockSet(java.util.Collection<BlockIdentifier> in) |
private static java.util.Map<BlockIdentifier,java.lang.Integer> |
Op03Blocks.findFirstInBlock(java.util.List<Op03SimpleStatement> statements,
java.util.Set<BlockIdentifier> mutableMissing) |
java.util.Set<BlockIdentifier> |
Op03SimpleStatement.getBlockIdentifiers() |
java.util.Set<BlockIdentifier> |
Op04StructuredStatement.getBlockIdentifiers() |
java.util.Collection<BlockIdentifier> |
Op04StructuredStatement.getBlockMembership() |
java.util.Set<BlockIdentifier> |
Op03SimpleStatement.getBlocksEnded() |
java.util.Set<BlockIdentifier> |
Op04StructuredStatement.getBlocksEnded() |
java.util.List<BlockIdentifier> |
Op02WithProcessedDataAndRefs.getContainedInTheseBlocks() |
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.getEndingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
private static java.util.Map<BlockIdentifier,BlockIdentifier> |
Op03Blocks.getTryBlockAliases(java.util.List<Op03SimpleStatement> statements) |
private static java.util.Map<BlockIdentifier,BlockIdentifier> |
Op03Blocks.getTryBlockAliases(java.util.List<Op03SimpleStatement> statements) |
Modifier and Type | Method and Description |
---|---|
void |
Op03SimpleStatement.addPossibleExitFor(BlockIdentifier ident) |
private boolean |
Op04StructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier thisBlock,
java.util.Vector<BlockIdentifier> currentlyIn) |
boolean |
Op03SimpleStatement.isPossibleExitFor(BlockIdentifier ident) |
void |
Op03SimpleStatement.markBlock(BlockIdentifier blockIdentifier) |
void |
Op03SimpleStatement.markBlockStatement(BlockIdentifier blockIdentifier,
Op03SimpleStatement lastInBlock,
Op03SimpleStatement blockEnd,
java.util.List<Op03SimpleStatement> statements) |
void |
Op03SimpleStatement.markFirstStatementInBlock(BlockIdentifier blockIdentifier) |
void |
Op04StructuredStatement.removeLastContinue(BlockIdentifier block) |
(package private) void |
Op03SimpleStatement.replaceBlockIfIn(BlockIdentifier oldB,
BlockIdentifier newB) |
void |
Op03SimpleStatement.setFirstStatementInThisBlock(BlockIdentifier firstStatementInThisBlock) |
Modifier and Type | Method and Description |
---|---|
private static void |
Op03Blocks.applyKnownBlocksHeuristic(java.util.List<Op03Blocks.Block3> blocks,
java.util.Map<BlockIdentifier,BlockIdentifier> tryBlockAliases) |
private static void |
Op03Blocks.applyKnownBlocksHeuristic(java.util.List<Op03Blocks.Block3> blocks,
java.util.Map<BlockIdentifier,BlockIdentifier> tryBlockAliases) |
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.blockSet(java.util.Collection<BlockIdentifier> in) |
private boolean |
Op04StructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier thisBlock,
java.util.Vector<BlockIdentifier> currentlyIn) |
protected abstract StructuredStatement |
Op04StructuredStatement.ScopeDescendingTransformer.doTransform(StructuredStatement statement,
java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> targets,
StructuredScope scope) |
protected StructuredStatement |
Op04StructuredStatement.StructuredGotoRemover.doTransform(StructuredStatement statement,
java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> targets,
StructuredScope scope) |
protected StructuredStatement |
Op04StructuredStatement.NamedBreakRemover.doTransform(StructuredStatement statement,
java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> targets,
StructuredScope scope) |
private static java.util.Map<BlockIdentifier,java.lang.Integer> |
Op03Blocks.findFirstInBlock(java.util.List<Op03SimpleStatement> statements,
java.util.Set<BlockIdentifier> mutableMissing) |
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.getEndingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
private static java.util.Set<BlockIdentifier> |
Op04StructuredStatement.getEndingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
private static BlockIdentifier |
Op04StructuredStatement.getStartingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
private static BlockIdentifier |
Op04StructuredStatement.getStartingBlocks(java.util.Stack<BlockIdentifier> wasIn,
java.util.Set<BlockIdentifier> nowIn) |
void |
Op04StructuredStatement.informBlockMembership(java.util.Vector<BlockIdentifier> currentlyIn) |
private static void |
Op04StructuredStatement.processEndingBlocks(java.util.Set<BlockIdentifier> endOfTheseBlocks,
java.util.Stack<BlockIdentifier> blocksCurrentlyIn,
java.util.Stack<Op04StructuredStatement.StackedBlock> stackedBlocks,
Op04StructuredStatement.MutableProcessingBlockState mutableProcessingBlockState) |
private static void |
Op04StructuredStatement.processEndingBlocks(java.util.Set<BlockIdentifier> endOfTheseBlocks,
java.util.Stack<BlockIdentifier> blocksCurrentlyIn,
java.util.Stack<Op04StructuredStatement.StackedBlock> stackedBlocks,
Op04StructuredStatement.MutableProcessingBlockState mutableProcessingBlockState) |
private static void |
Op03Blocks.removeAliases(java.util.Set<BlockIdentifier> in,
java.util.Map<BlockIdentifier,BlockIdentifier> aliases) |
private static void |
Op03Blocks.removeAliases(java.util.Set<BlockIdentifier> in,
java.util.Map<BlockIdentifier,BlockIdentifier> aliases) |
private static void |
Op03Blocks.removeAliases(java.util.Set<BlockIdentifier> in,
java.util.Map<BlockIdentifier,BlockIdentifier> aliases) |
private static void |
Op03Blocks.stripTryBlockAliases(java.util.List<Op03SimpleStatement> out,
java.util.Map<BlockIdentifier,BlockIdentifier> tryBlockAliases) |
private static void |
Op03Blocks.stripTryBlockAliases(java.util.List<Op03SimpleStatement> out,
java.util.Map<BlockIdentifier,BlockIdentifier> tryBlockAliases) |
private static StructuredStatement |
Op04StructuredStatement.transformStructuredGotoWithScope(StructuredScope scope,
StructuredStatement stm,
java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> breaktargets) |
Constructor and Description |
---|
StackedBlock(BlockIdentifier blockIdentifier,
java.util.LinkedList<Op04StructuredStatement> statements,
Op04StructuredStatement outerStart) |
Constructor and Description |
---|
Op03SimpleStatement(java.util.Set<BlockIdentifier> containedIn,
Statement statement,
InstrIndex index) |
Op03SimpleStatement(java.util.Set<BlockIdentifier> containedIn,
Statement statement,
SSAIdentifiers<LValue> ssaIdentifiers,
InstrIndex index) |
Op04StructuredStatement(InstrIndex instrIndex,
java.util.Collection<BlockIdentifier> blockMembership,
StructuredStatement structuredStatement) |
Modifier and Type | Field and Description |
---|---|
(package private) BlockIdentifier |
LoopIdentifier.LoopResult.blockIdentifier |
private BlockIdentifier |
Misc.GraphVisitorBlockReachable.blockIdentifier |
(package private) BlockIdentifier |
ExceptionRewriters.SingleExceptionAddressing.catchBlockIdent |
(package private) BlockIdentifier |
ExceptionRewriters.SingleExceptionAddressing.tryBlockIdent |
Modifier and Type | Method and Description |
---|---|
private static BlockIdentifier |
LoopIdentifier.considerAsDoLoopStart(Op03SimpleStatement start,
java.util.List<Op03SimpleStatement> statements,
BlockIdentifierFactory blockIdentifierFactory,
java.util.Map<BlockIdentifier,Op03SimpleStatement> postBlockCache) |
private static BlockIdentifier |
LoopIdentifier.considerAsWhileLoopStart(Method method,
Op03SimpleStatement start,
java.util.List<Op03SimpleStatement> statements,
BlockIdentifierFactory blockIdentifierFactory,
java.util.Map<BlockIdentifier,Op03SimpleStatement> postBlockCache) |
(package private) static BlockIdentifier |
Misc.findOuterBlock(BlockIdentifier b1,
BlockIdentifier b2,
java.util.List<Op03SimpleStatement> statements) |
private static BlockIdentifier |
TryRewriter.getBlockStart(Statement statement) |
Modifier and Type | Method and Description |
---|---|
(package private) static java.util.Set<BlockIdentifier> |
FinallyRewriter.getBlocksAffectedByFinally(java.util.List<Op03SimpleStatement> statements) |
private static java.util.Map<BlockIdentifier,Op03SimpleStatement> |
ExceptionRewriters.getFirstByBlock(java.util.List<Op03SimpleStatement> in) |
Modifier and Type | Method and Description |
---|---|
private static void |
SwitchReplacer.buildSwitchCases(Op03SimpleStatement swatch,
java.util.List<Op03SimpleStatement> targets,
BlockIdentifier switchBlockIdentifier,
java.util.List<Op03SimpleStatement> in,
boolean forcedOrder) |
(package private) static boolean |
LoopIdentifier.containsTargetInBlock(Op03SimpleStatement stm,
BlockIdentifier block) |
private java.util.List<Op03SimpleStatement> |
JumpsIntoLoopCloneRewriter.copyBlock(Op03SimpleStatement stm,
Op03SimpleStatement caller,
Op03SimpleStatement start,
Op03SimpleStatement end,
java.util.Set<Op03SimpleStatement> valid,
BlockIdentifier containedIn,
java.util.Set<Op03SimpleStatement> addSources,
java.util.Map<Op03SimpleStatement,Op03SimpleStatement> orig2copy) |
private static java.util.Set<LValue> |
WhileRewriter.findForInvariants(Op03SimpleStatement start,
BlockIdentifier whileLoop) |
(package private) static BlockIdentifier |
Misc.findOuterBlock(BlockIdentifier b1,
BlockIdentifier b2,
java.util.List<Op03SimpleStatement> statements) |
(package private) static java.util.Set<Op03SimpleStatement> |
Misc.GraphVisitorBlockReachable.getBlockReachable(Op03SimpleStatement start,
BlockIdentifier blockIdentifier) |
(package private) static Pair<java.util.Set<Op03SimpleStatement>,java.util.Set<Op03SimpleStatement>> |
Misc.GraphVisitorBlockReachable.getBlockReachableAndExits(Op03SimpleStatement start,
BlockIdentifier blockIdentifier) |
(package private) static Op03SimpleStatement |
LoopIdentifier.getCloseFwdJumpInto(Op03SimpleStatement start,
BlockIdentifier blockIdentifier,
java.util.List<Op03SimpleStatement> statements,
int startIdx,
int lastIdx) |
private static Op03SimpleStatement |
WhileRewriter.getForInvariant(Op03SimpleStatement start,
LValue invariant,
BlockIdentifier whileLoop) |
private static Op03SimpleStatement |
TryRewriter.getLastContiguousBlockStatement(BlockIdentifier blockIdentifier,
java.util.List<Op03SimpleStatement> in,
Op03SimpleStatement preBlock) |
private static LinearScannedBlock |
ExceptionRewriters.getLinearScannedBlock(java.util.List<Op03SimpleStatement> statements,
int idx,
Op03SimpleStatement stm,
BlockIdentifier blockIdentifier,
boolean prefix) |
private static java.util.List<Op03SimpleStatement> |
WhileRewriter.getMutations(java.util.List<Op03SimpleStatement> backSources,
LValue loopVariable,
BlockIdentifier whileBlockIdentifier) |
private Op03SimpleStatement |
JumpsIntoLoopCloneRewriter.getPossLast(Op03SimpleStatement stm,
BlockIdentifier ident) |
private static void |
ExceptionRewriters.identifyCatchBlock(Op03SimpleStatement start,
BlockIdentifier blockIdentifier,
java.util.List<Op03SimpleStatement> statements) |
private static Op03SimpleStatement |
ExceptionRewriters.insertBlockPadding(java.lang.String comment,
Op03SimpleStatement insertAfter,
Op03SimpleStatement insertBefore,
BlockIdentifier blockIdentifier,
java.util.List<Op03SimpleStatement> statements) |
(package private) static void |
Misc.markWholeBlock(java.util.List<Op03SimpleStatement> statements,
BlockIdentifier blockIdentifier) |
private void |
JumpsIntoLoopCloneRewriter.refactorDo(java.util.List<Op03SimpleStatement> addThese,
Op03SimpleStatement stm,
BlockIdentifier ident) |
private void |
JumpsIntoLoopCloneRewriter.refactorWhile(java.util.List<Op03SimpleStatement> addThese,
Op03SimpleStatement stm,
BlockIdentifier ident) |
private static void |
LoopIdentifier.rewriteEndLoopOverlapStatement(Op03SimpleStatement oldEnd,
BlockIdentifier loopBlock) |
private static void |
SwitchReplacer.tightenJumpsToTerminal(java.util.List<Op03SimpleStatement> statements,
BlockIdentifier switchBlock,
Op03SimpleStatement following,
Op03SimpleStatement followingTrans) |
private static int |
LoopIdentifier.validateAndAssignLoopIdentifier(java.util.List<Op03SimpleStatement> statements,
int idxTestStart,
int idxAfterEnd,
BlockIdentifier blockIdentifier,
Op03SimpleStatement start) |
private static boolean |
SynchronizedRewriter.verifyLinearBlock(Op03SimpleStatement current,
BlockIdentifier block,
int num) |
private GraphVisitor<Op03SimpleStatement> |
JumpsIntoLoopCloneRewriter.visitCandidates(BlockIdentifier blockIdent,
Op03SimpleStatement possLast,
java.util.Map<Op03SimpleStatement,Op03SimpleStatement> candidates) |
Modifier and Type | Method and Description |
---|---|
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static void |
ClassifyGotos.classifyCatchLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.Map<BlockIdentifier,java.util.Set<BlockIdentifier>> catchBlockToTryBlocks,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryCatchLeaveGoto(Op03SimpleStatement gotoStm,
java.util.Set<BlockIdentifier> blocks,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryCatchLeaveGoto(Op03SimpleStatement gotoStm,
java.util.Set<BlockIdentifier> blocks,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryCatchLeaveGoto(Op03SimpleStatement gotoStm,
java.util.Set<BlockIdentifier> blocks,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryCatchLeaveGoto(Op03SimpleStatement gotoStm,
java.util.Set<BlockIdentifier> blocks,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryCatchLeaveGoto(Op03SimpleStatement gotoStm,
java.util.Set<BlockIdentifier> blocks,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static boolean |
ClassifyGotos.classifyTryLeaveGoto(Op03SimpleStatement gotoStm,
int idx,
java.util.Set<BlockIdentifier> tryBlockIdents,
java.util.Map<BlockIdentifier,Op03SimpleStatement> tryStatementsByBlock,
java.util.Map<BlockIdentifier,java.util.List<BlockIdentifier>> catchStatementByBlock,
java.util.List<Op03SimpleStatement> in) |
private static BlockIdentifier |
LoopIdentifier.considerAsDoLoopStart(Op03SimpleStatement start,
java.util.List<Op03SimpleStatement> statements,
BlockIdentifierFactory blockIdentifierFactory,
java.util.Map<BlockIdentifier,Op03SimpleStatement> postBlockCache) |
private static BlockIdentifier |
LoopIdentifier.considerAsWhileLoopStart(Method method,
Op03SimpleStatement start,
java.util.List<Op03SimpleStatement> statements,
BlockIdentifierFactory blockIdentifierFactory,
java.util.Map<BlockIdentifier,Op03SimpleStatement> postBlockCache) |
private static boolean |
ConditionalRewriter.detectAndRemarkJumpIntoOther(java.util.Set<BlockIdentifier> blocksAtStart,
java.util.Set<BlockIdentifier> blocksAtEnd,
Op03SimpleStatement realEnd,
Op03SimpleStatement ifStatement) |
private static boolean |
ConditionalRewriter.detectAndRemarkJumpIntoOther(java.util.Set<BlockIdentifier> blocksAtStart,
java.util.Set<BlockIdentifier> blocksAtEnd,
Op03SimpleStatement realEnd,
Op03SimpleStatement ifStatement) |
private static void |
LoopIdentifier.fixLoopOverlaps(java.util.List<Op03SimpleStatement> statements,
java.util.List<LoopIdentifier.LoopResult> loopResults,
java.util.Set<BlockIdentifier> relevantBlocks) |
Constructor and Description |
---|
GraphVisitorBlockReachable(Op03SimpleStatement start,
BlockIdentifier blockIdentifier) |
LoopResult(BlockIdentifier blockIdentifier,
Op03SimpleStatement blockStart) |
SingleExceptionAddressing(BlockIdentifier tryBlockIdent,
BlockIdentifier catchBlockIdent,
LinearScannedBlock tryBlock,
LinearScannedBlock catchBlock) |
Modifier and Type | Field and Description |
---|---|
private BlockIdentifier |
SwitchExpressionRewriter.SwitchExpressionSearcher.blockIdentifier |
private BlockIdentifier |
SwitchExpressionRewriter.SwitchExpressionTransformer.blockIdentifier |
private BlockIdentifier |
AssertRewriter.ControlFlowSwitchExpressionTransformer.falseBlock |
private BlockIdentifier |
AssertRewriter.ControlFlowSwitchExpressionTransformer.trueBlock |
Modifier and Type | Method and Description |
---|---|
private Expression |
SwitchExpressionRewriter.extractSwitchEntry(LValue target,
BlockIdentifier blockIdentifier,
Op04StructuredStatement body,
java.util.List<Pair<Op04StructuredStatement,StructuredStatement>> replacements,
boolean last) |
private Pair<StructuredCase,Expression> |
SwitchExpressionRewriter.extractSwitchEntryPair(LValue target,
BlockIdentifier blockIdentifier,
Op04StructuredStatement item,
java.util.List<Pair<Op04StructuredStatement,StructuredStatement>> replacements,
boolean last) |
private LValue |
SwitchExpressionRewriter.extractSwitchLValue(BlockIdentifier blockIdentifier,
Op04StructuredStatement item,
boolean last) |
private SwitchExpression.Branch |
AssertRewriter.SwitchAssertUseCollector.getBranch(BlockIdentifier outer,
BlockIdentifier swiBlockIdentifier,
java.util.Map<Op04StructuredStatement,StructuredExpressionYield> replacements,
Op04StructuredStatement statement,
boolean addYieldTrue) |
private boolean |
AssertRewriter.SwitchAssertUseCollector.getBranches(BlockIdentifier outer,
BlockIdentifier swiBlockIdentifier,
Block swBodyBlock,
java.util.List<SwitchExpression.Branch> branches,
java.util.Map<Op04StructuredStatement,StructuredExpressionYield> replacements,
boolean addYieldTrue) |
private StructuredStatement |
AssertRewriter.SwitchAssertUseCollector.processSwitchAndThrow(StructuredStatement ifStm,
BlockIdentifier outer,
BlockIdentifier swiBlockIdentifier,
Block swBodyBlock,
StructuredSwitch struSwi,
Op04StructuredStatement throwStm) |
private StructuredStatement |
AssertRewriter.SwitchAssertUseCollector.processSwitchEmbeddedThrow(StructuredStatement ifStm,
BlockIdentifier outer,
Block swBodyBlock,
Op04StructuredStatement switchStm,
StructuredSwitch struSwi) |
private java.util.List<Op04StructuredStatement> |
AssertRewriter.SwitchAssertUseCollector.tryCombineSwitch(java.util.List<Op04StructuredStatement> content,
BlockIdentifier outer,
BlockIdentifier swiBlockIdentifier,
Block swBodyBlock) |
Constructor and Description |
---|
AssertionTrackingControlFlowSwitchExpressionTransformer(BlockIdentifier trueBlock,
BlockIdentifier falseBlock,
java.util.Map<Op04StructuredStatement,StructuredExpressionYield> replacements) |
ControlFlowSwitchExpressionTransformer(BlockIdentifier trueBlock,
BlockIdentifier falseBlock,
java.util.Map<Op04StructuredStatement,StructuredExpressionYield> replacements) |
SwitchExpressionSearcher(BlockIdentifier blockIdentifier) |
SwitchExpressionTransformer(LValue target,
BlockIdentifier blockIdentifier,
java.util.List<Pair<Op04StructuredStatement,StructuredStatement>> replacements,
boolean last) |
Modifier and Type | Method and Description |
---|---|
private void |
InfiniteAssertRewriter.replaceThrow(Op04StructuredStatement thrw,
Op04StructuredStatement whil,
BlockIdentifier ident,
ConditionalExpression cond) |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
StatementContainer.getBlockStarted() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<BlockIdentifier> |
StatementContainer.getBlockIdentifiers() |
java.util.Set<BlockIdentifier> |
StatementContainer.getBlocksEnded() |
Modifier and Type | Field and Description |
---|---|
private BlockIdentifier |
AnonBreakTarget.blockIdentifier |
private BlockIdentifier |
DoStatement.blockIdentifier |
private BlockIdentifier |
ForIterStatement.blockIdentifier |
private BlockIdentifier |
ForStatement.blockIdentifier |
private BlockIdentifier |
MonitorEnterStatement.blockIdentifier |
private BlockIdentifier |
WhileStatement.blockIdentifier |
private BlockIdentifier |
CaseStatement.caseBlock |
private BlockIdentifier |
CatchStatement.catchBlockIdent |
private BlockIdentifier |
FinallyStatement.finallyBlockIdent |
private BlockIdentifier |
IfStatement.knownElseBlock |
private BlockIdentifier |
IfStatement.knownIfBlock |
private BlockIdentifier |
CaseStatement.switchBlock |
private BlockIdentifier |
SwitchStatement.switchBlock |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
AnonBreakTarget.getBlockIdentifier() |
BlockIdentifier |
DoStatement.getBlockIdentifier() |
BlockIdentifier |
ForIterStatement.getBlockIdentifier() |
BlockIdentifier |
ForStatement.getBlockIdentifier() |
BlockIdentifier |
MonitorEnterStatement.getBlockIdentifier() |
BlockIdentifier |
TryStatement.getBlockIdentifier() |
BlockIdentifier |
WhileStatement.getBlockIdentifier() |
BlockIdentifier |
CaseStatement.getCaseBlock() |
BlockIdentifier |
CatchStatement.getCatchBlockIdent() |
BlockIdentifier |
FinallyStatement.getFinallyBlockIdent() |
BlockIdentifier |
IfStatement.getKnownIfBlock() |
BlockIdentifier |
CaseStatement.getSwitchBlock() |
BlockIdentifier |
SwitchStatement.getSwitchBlock() |
protected BlockIdentifier |
GotoStatement.getTargetStartBlock() |
Modifier and Type | Method and Description |
---|---|
Pair<BlockIdentifier,BlockIdentifier> |
IfStatement.getBlocks() |
Pair<BlockIdentifier,BlockIdentifier> |
IfStatement.getBlocks() |
Modifier and Type | Method and Description |
---|---|
SwitchStatement |
RawSwitchStatement.getSwitchStatement(BlockIdentifier blockIdentifier) |
boolean |
CatchStatement.hasCatchBlockFor(BlockIdentifier tryBlockIdent) |
void |
CatchStatement.removeCatchBlockFor(BlockIdentifier tryBlockIdent) |
void |
IfStatement.replaceWithWhileLoopEnd(BlockIdentifier blockIdentifier) |
void |
IfStatement.replaceWithWhileLoopStart(BlockIdentifier blockIdentifier) |
void |
CatchStatement.setCatchBlockIdent(BlockIdentifier catchBlockIdent) |
void |
IfStatement.setKnownBlocks(BlockIdentifier ifBlock,
BlockIdentifier elseBlock) |
Modifier and Type | Method and Description |
---|---|
static BlockIdentifier |
BlockIdentifier.getInnermostBreakable(java.util.List<BlockIdentifier> blocks) |
BlockIdentifier |
BlockIdentifierFactory.getNextBlockIdentifier(BlockType blockType) |
static BlockIdentifier |
BlockIdentifier.getOutermostContainedIn(java.util.Set<BlockIdentifier> endingBlocks,
java.util.Set<BlockIdentifier> blocksInAtThisPoint) |
static BlockIdentifier |
BlockIdentifier.getOutermostEnding(java.util.List<BlockIdentifier> blocks,
java.util.Set<BlockIdentifier> blocksEnding) |
Modifier and Type | Method and Description |
---|---|
static boolean |
BlockIdentifier.blockIsOneOf(BlockIdentifier needle,
java.util.Set<BlockIdentifier> haystack) |
int |
BlockIdentifier.compareTo(BlockIdentifier blockIdentifier) |
Modifier and Type | Method and Description |
---|---|
static boolean |
BlockIdentifier.blockIsOneOf(BlockIdentifier needle,
java.util.Set<BlockIdentifier> haystack) |
static BlockIdentifier |
BlockIdentifier.getInnermostBreakable(java.util.List<BlockIdentifier> blocks) |
static BlockIdentifier |
BlockIdentifier.getOutermostContainedIn(java.util.Set<BlockIdentifier> endingBlocks,
java.util.Set<BlockIdentifier> blocksInAtThisPoint) |
static BlockIdentifier |
BlockIdentifier.getOutermostContainedIn(java.util.Set<BlockIdentifier> endingBlocks,
java.util.Set<BlockIdentifier> blocksInAtThisPoint) |
static BlockIdentifier |
BlockIdentifier.getOutermostEnding(java.util.List<BlockIdentifier> blocks,
java.util.Set<BlockIdentifier> blocksEnding) |
static BlockIdentifier |
BlockIdentifier.getOutermostEnding(java.util.List<BlockIdentifier> blocks,
java.util.Set<BlockIdentifier> blocksEnding) |
Modifier and Type | Field and Description |
---|---|
private java.util.Set<BlockIdentifier> |
PeerTries.guessPeerTryBlocks |
private java.util.Map<BlockIdentifier,Op03SimpleStatement> |
PeerTries.guessPeerTryMap |
Modifier and Type | Method and Description |
---|---|
(package private) java.util.Set<BlockIdentifier> |
PeerTries.getGuessPeerTryBlocks() |
(package private) java.util.Map<BlockIdentifier,Op03SimpleStatement> |
PeerTries.getGuessPeerTryMap() |
Constructor and Description |
---|
CompositeBlockIdentifierKey(java.util.Set<BlockIdentifier> blockIdentifiers) |
Modifier and Type | Class and Description |
---|---|
class |
WildcardMatch.BlockIdentifierWildcard |
Modifier and Type | Field and Description |
---|---|
private BlockIdentifier |
WildcardMatch.BlockIdentifierWildcard.matchedValue |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
WildcardMatch.BlockIdentifierWildcard.getMatch() |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
StructuredStatement.getBreakableBlockOrNull() |
BlockIdentifier |
StructuredScope.getContinueBlock() |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
StructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
StructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
StructuredStatement.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
Modifier and Type | Field and Description |
---|---|
protected BlockIdentifier |
AbstractStructuredConditionalLoopStatement.block |
private BlockIdentifier |
StructuredFor.block |
private BlockIdentifier |
StructuredIter.block |
private BlockIdentifier |
UnstructuredAnonymousBreak.blockEnding |
private BlockIdentifier |
Block.blockIdentifier |
private BlockIdentifier |
StructuredCase.blockIdentifier |
private BlockIdentifier |
StructuredSwitch.blockIdentifier |
private BlockIdentifier |
UnstructuredAnonBreakTarget.blockIdentifier |
private BlockIdentifier |
UnstructuredCase.blockIdentifier |
private BlockIdentifier |
UnstructuredCatch.blockIdentifier |
private BlockIdentifier |
UnstructuredDo.blockIdentifier |
private BlockIdentifier |
UnstructuredFinally.blockIdentifier |
private BlockIdentifier |
UnstructuredFor.blockIdentifier |
private BlockIdentifier |
UnstructuredIter.blockIdentifier |
private BlockIdentifier |
UnstructuredSwitch.blockIdentifier |
private BlockIdentifier |
UnstructuredSynchronized.blockIdentifier |
private BlockIdentifier |
UnstructuredWhile.blockIdentifier |
private BlockIdentifier |
StructuredBreak.breakBlock |
private BlockIdentifier |
StructuredContinue.continueTgt |
private BlockIdentifier |
UnstructuredContinue.continueTgt |
private BlockIdentifier |
UnstructuredIf.knownElseBlock |
private BlockIdentifier |
UnstructuredIf.knownIfBlock |
private BlockIdentifier |
StructuredTry.tryBlockIdentifier |
Modifier and Type | Field and Description |
---|---|
private java.util.Set<BlockIdentifier> |
UnstructuredWhile.blocksEndedAfter |
private java.util.Set<BlockIdentifier> |
UnstructuredBreak.blocksEnding |
private java.util.Set<BlockIdentifier> |
StructuredCatch.possibleTryBlocks |
Modifier and Type | Method and Description |
---|---|
java.util.Set<BlockIdentifier> |
StructuredCatch.getPossibleTryBlocks() |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
AbstractStructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredCase.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredCatch.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredDo.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredFinally.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredFor.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredIf.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredIter.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredSwitch.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredSynchronized.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredTry.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredWhile.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
static AbstractStructuredConditionalLoopStatement |
StructuredDo.create(ConditionalExpression condition,
Op04StructuredStatement body,
BlockIdentifier block) |
boolean |
Block.removeLastContinue(BlockIdentifier block) |
(package private) StructuredStatement |
UnstructuredAnonymousBreak.tryExplicitlyPlaceInBlock(BlockIdentifier block) |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
AbstractStructuredStatement.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredCase.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredCatch.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredDo.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredFinally.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredFor.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredIf.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredIter.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredSwitch.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredSynchronized.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredTry.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
UnstructuredWhile.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
AbstractStructuredStatement.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
StructuredAssert.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
StructuredIf.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
UnstructuredAnonymousBreak.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
UnstructuredBreak.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
UnstructuredContinue.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredStatement |
UnstructuredWhile.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
StructuredBreak |
StructuredBreak.maybeTightenToLocal(java.util.Stack<Triplet<StructuredStatement,BlockIdentifier,java.util.Set<Op04StructuredStatement>>> scopes) |
Constructor and Description |
---|
StructuredCatch(java.util.Collection<JavaRefTypeInstance> catchTypes,
Op04StructuredStatement catchBlock,
LValue catching,
java.util.Set<BlockIdentifier> possibleTryBlocks) |
UnstructuredBreak(BytecodeLoc loc,
java.util.Set<BlockIdentifier> blocksEnding) |
UnstructuredWhile(BytecodeLoc loc,
ConditionalExpression condition,
BlockIdentifier blockIdentifier,
java.util.Set<BlockIdentifier> blocksEndedAfter) |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
AbstractPlaceholder.getBreakableBlockOrNull() |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
AbstractPlaceholder.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
Modifier and Type | Method and Description |
---|---|
StructuredStatement |
AbstractPlaceholder.claimBlock(Op04StructuredStatement innerBlock,
BlockIdentifier blockIdentifier,
java.util.Vector<BlockIdentifier> blocksCurrentlyIn) |
StructuredStatement |
AbstractPlaceholder.informBlockHeirachy(java.util.Vector<BlockIdentifier> blockIdentifiers) |
Modifier and Type | Field and Description |
---|---|
private BlockIdentifier |
ExceptionGroup.tryBlockIdentifier |
Modifier and Type | Method and Description |
---|---|
BlockIdentifier |
ExceptionGroup.getTryBlockIdentifier() |
BlockIdentifier |
ExceptionGroup.Entry.getTryBlockIdentifier() |
Constructor and Description |
---|
ExceptionGroup(int bytecodeIndexFrom,
BlockIdentifier blockIdentifier,
ConstantPool cp) |