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 IndexedStatementgetIndex 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.