public class Op03SimpleStatement extends Object implements MutableGraph<Op03SimpleStatement>, Dumpable, StatementContainer<Statement>, IndexedStatement
Modifier and Type | Class and Description |
---|---|
class |
Op03SimpleStatement.GraphVisitorCallee |
Constructor and Description |
---|
Op03SimpleStatement(Op02WithProcessedDataAndRefs original,
Statement statement) |
Op03SimpleStatement(Set<BlockIdentifier> containedIn,
Statement statement,
InstrIndex index) |
Op03SimpleStatement(Set<BlockIdentifier> containedIn,
Statement statement,
SSAIdentifiers<LValue> ssaIdentifiers,
InstrIndex index) |
public Op03SimpleStatement(Op02WithProcessedDataAndRefs original, Statement statement)
public Op03SimpleStatement(Set<BlockIdentifier> containedIn, Statement statement, InstrIndex index)
public Op03SimpleStatement(Set<BlockIdentifier> containedIn, Statement statement, SSAIdentifiers<LValue> ssaIdentifiers, InstrIndex index)
public List<Op03SimpleStatement> getSources()
getSources
in interface Graph<Op03SimpleStatement>
public List<Op03SimpleStatement> getTargets()
getTargets
in interface Graph<Op03SimpleStatement>
public void setLinearlyNext(Op03SimpleStatement linearlyNext)
public Op03SimpleStatement getLinearlyPrevious()
public void setLinearlyPrevious(Op03SimpleStatement linearlyPrevious)
public BlockIdentifier getFirstStatementInThisBlock()
public void setFirstStatementInThisBlock(BlockIdentifier firstStatementInThisBlock)
public void addSource(Op03SimpleStatement source)
addSource
in interface MutableGraph<Op03SimpleStatement>
public void addTarget(Op03SimpleStatement target)
addTarget
in interface MutableGraph<Op03SimpleStatement>
public Statement getStatement()
getStatement
in interface StatementContainer<Statement>
public Statement getTargetStatement(int idx)
getTargetStatement
in interface StatementContainer<Statement>
public void replaceStatement(Statement newStatement)
replaceStatement
in interface StatementContainer<Statement>
public void nopOut()
nopOut
in interface StatementContainer<Statement>
public void nopOutConditional()
nopOutConditional
in interface StatementContainer<Statement>
public void clear()
public SSAIdentifiers<LValue> getSSAIdentifiers()
getSSAIdentifiers
in interface StatementContainer<Statement>
public Set<BlockIdentifier> getBlockIdentifiers()
getBlockIdentifiers
in interface StatementContainer<Statement>
public BlockIdentifier getBlockStarted()
getBlockStarted
in interface StatementContainer<Statement>
public Set<BlockIdentifier> getBlocksEnded()
getBlocksEnded
in interface StatementContainer<Statement>
public Op03SimpleStatement getLinearlyNext()
public void copyBlockInformationFrom(StatementContainer<Statement> other)
copyBlockInformationFrom
in interface StatementContainer<Statement>
public void copyBytecodeInformationFrom(StatementContainer<Statement> other)
copyBytecodeInformationFrom
in interface StatementContainer<Statement>
public boolean isAgreedNop()
public void splice(Op03SimpleStatement newSource)
public void replaceTarget(Op03SimpleStatement oldTarget, Op03SimpleStatement newTarget)
public void replaceSource(Op03SimpleStatement oldSource, Op03SimpleStatement newSource)
public void removeSource(Op03SimpleStatement oldSource)
public void removeTarget(Op03SimpleStatement oldTarget)
public void removeGotoTarget(Op03SimpleStatement oldTarget)
public InstrIndex getIndex()
getIndex
in interface IndexedStatement
getIndex
in interface StatementContainer<Statement>
public void setIndex(InstrIndex index)
public BlockIdentifier getThisComparisonBlock()
public void clearThisComparisonBlock()
public void markBlockStatement(BlockIdentifier blockIdentifier, Op03SimpleStatement lastInBlock, Op03SimpleStatement blockEnd, List<Op03SimpleStatement> statements)
public void markFirstStatementInBlock(BlockIdentifier blockIdentifier)
public void markBlock(BlockIdentifier blockIdentifier)
public void collect(LValueAssignmentAndAliasCondenser lValueAssigmentCollector)
public void condense(LValueRewriter lValueRewriter)
public void rewrite(ExpressionRewriter expressionRewriter)
public void findCreation(CreationCollector creationCollector)
public void clearTargets()
public String getLabel()
getLabel
in interface StatementContainer<Statement>
public void dumpInner(Dumper dumper)
public boolean isCompound()
public List<Op03SimpleStatement> splitCompound()
public void forceSSAIdentifiers(SSAIdentifiers<LValue> newIdentifiers)
public static void noteInterestingLifetimes(List<Op03SimpleStatement> statements)
public static void assignSSAIdentifiers(Method method, List<Op03SimpleStatement> statements)
public static Op04StructuredStatement createInitialStructuredBlock(List<Op03SimpleStatement> statements)
public JumpType getJumpType()
public void addPossibleExitFor(BlockIdentifier ident)
public boolean isPossibleExitFor(BlockIdentifier ident)
public static void removePointlessSwitchDefaults(List<Op03SimpleStatement> statements)
Copyright © 2011-2021. All Rights Reserved.