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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLoc
(HasByteCodeLoc loc) boolean
canThrow
(ExceptionCheck caught) collectLocallyMutatedVariables
(SSAIdentifierFactory<LValue, ?> ssaIdentifierFactory) void
collectLValueAssignments
(LValueAssignmentCollector<Statement> lValueAssigmentCollector) void
collectObjectCreation
(CreationCollector creationCollector) boolean
doesBlackListLValueReplacement
(LValue lValue, Expression expression) boolean
getLoc()
protected Statement
getTargetStatement
(int idx) boolean
outerDeepClone
(CloneHelper cloneHelper) void
setContainer
(StatementContainer<Statement> container) void
setLifetimeHint
(LValue lv, boolean usedInChildren) final String
toString()
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 Details
-
loc
-
container
-
-
Constructor Details
-
AbstractStatement
-
-
Method Details
-
getLoc
- Specified by:
getLoc
in interfaceHasByteCodeLoc
-
addLoc
- Specified by:
addLoc
in interfaceHasByteCodeLoc
-
setContainer
- Specified by:
setContainer
in interfaceStatement
-
outerDeepClone
- Specified by:
outerDeepClone
in interfaceDeepCloneable<Statement>
-
getCreatedLValue
- Specified by:
getCreatedLValue
in interfaceStatement
-
collectLValueAssignments
- Specified by:
collectLValueAssignments
in interfaceStatement
-
doesBlackListLValueReplacement
- Specified by:
doesBlackListLValueReplacement
in interfaceStatement
-
collectObjectCreation
- Specified by:
collectObjectCreation
in interfaceStatement
-
collectLocallyMutatedVariables
public SSAIdentifiers<LValue> collectLocallyMutatedVariables(SSAIdentifierFactory<LValue, ?> ssaIdentifierFactory) - Specified by:
collectLocallyMutatedVariables
in interfaceStatement
-
getContainer
- Specified by:
getContainer
in interfaceStatement
-
getRValue
-
getTargetStatement
-
isCompound
public boolean isCompound()- Specified by:
isCompound
in interfaceStatement
-
getCompoundParts
- Specified by:
getCompoundParts
in interfaceStatement
-
toString
-
fallsToNext
public boolean fallsToNext()- Specified by:
fallsToNext
in interfaceStatement
-
canThrow
-
wantsLifetimeHint
- Specified by:
wantsLifetimeHint
in interfaceStatement
-
setLifetimeHint
- Specified by:
setLifetimeHint
in interfaceStatement
-