Class AbstractStatement
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.statement.AbstractStatement
-
- All Implemented Interfaces:
HasByteCodeLoc,DeepCloneable<Statement>,Statement,ComparableUnderEC,Dumpable
- Direct Known Subclasses:
AbstractAssignment,AnonBreakTarget,CaseStatement,CatchStatement,CommentStatement,CompoundStatement,ConstructorStatement,DoStatement,ExpressionStatement,FinallyStatement,ForIterStatement,ForStatement,IfExitingStatement,JSRCallStatement,JSRRetStatement,JumpingStatement,MonitorStatement,Nop,RawSwitchStatement,ReturnStatement,SwitchStatement,TryStatement,WhileStatement
public abstract class AbstractStatement extends java.lang.Object implements Statement
-
-
Field Summary
Fields Modifier and Type Field Description private StatementContainer<Statement>containerprivate BytecodeLocloc
-
Constructor Summary
Constructors Constructor Description AbstractStatement(BytecodeLoc loc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLoc(HasByteCodeLoc loc)booleancanThrow(ExceptionCheck caught)SSAIdentifiers<LValue>collectLocallyMutatedVariables(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)voidcollectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector)voidcollectObjectCreation(CreationCollector creationCollector)booleandoesBlackListLValueReplacement(LValue lValue, Expression expression)booleanfallsToNext()java.util.List<Statement>getCompoundParts()StatementContainer<Statement>getContainer()LValuegetCreatedLValue()BytecodeLocgetLoc()ExpressiongetRValue()protected StatementgetTargetStatement(int idx)booleanisCompound()StatementouterDeepClone(CloneHelper cloneHelper)voidsetContainer(StatementContainer<Statement> container)voidsetLifetimeHint(LValue lv, boolean usedInChildren)java.lang.StringtoString()java.util.Set<LValue>wantsLifetimeHint()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
getCombinedLoc
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.Statement
collectLValueUsage, equivalentUnder, getStructuredStatement, replaceSingleUsageLValues, rewriteExpressions
-
-
-
-
Field Detail
-
loc
private BytecodeLoc loc
-
container
private StatementContainer<Statement> container
-
-
Constructor Detail
-
AbstractStatement
public AbstractStatement(BytecodeLoc loc)
-
-
Method Detail
-
getLoc
public BytecodeLoc getLoc()
- Specified by:
getLocin interfaceHasByteCodeLoc
-
addLoc
public void addLoc(HasByteCodeLoc loc)
- Specified by:
addLocin interfaceHasByteCodeLoc
-
setContainer
public void setContainer(StatementContainer<Statement> container)
- Specified by:
setContainerin interfaceStatement
-
outerDeepClone
public Statement outerDeepClone(CloneHelper cloneHelper)
- Specified by:
outerDeepClonein interfaceDeepCloneable<Statement>
-
getCreatedLValue
public LValue getCreatedLValue()
- Specified by:
getCreatedLValuein interfaceStatement
-
collectLValueAssignments
public void collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector)
- Specified by:
collectLValueAssignmentsin interfaceStatement
-
doesBlackListLValueReplacement
public boolean doesBlackListLValueReplacement(LValue lValue, Expression expression)
- Specified by:
doesBlackListLValueReplacementin interfaceStatement
-
collectObjectCreation
public void collectObjectCreation(CreationCollector creationCollector)
- Specified by:
collectObjectCreationin interfaceStatement
-
collectLocallyMutatedVariables
public SSAIdentifiers<LValue> collectLocallyMutatedVariables(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
- Specified by:
collectLocallyMutatedVariablesin interfaceStatement
-
getContainer
public StatementContainer<Statement> getContainer()
- Specified by:
getContainerin interfaceStatement
-
getRValue
public Expression getRValue()
-
getTargetStatement
protected Statement getTargetStatement(int idx)
-
isCompound
public boolean isCompound()
- Specified by:
isCompoundin interfaceStatement
-
getCompoundParts
public java.util.List<Statement> getCompoundParts()
- Specified by:
getCompoundPartsin interfaceStatement
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
fallsToNext
public boolean fallsToNext()
- Specified by:
fallsToNextin interfaceStatement
-
canThrow
public boolean canThrow(ExceptionCheck caught)
-
wantsLifetimeHint
public java.util.Set<LValue> wantsLifetimeHint()
- Specified by:
wantsLifetimeHintin interfaceStatement
-
setLifetimeHint
public void setLifetimeHint(LValue lv, boolean usedInChildren)
- Specified by:
setLifetimeHintin interfaceStatement
-
-