Class StructuredAssignment
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.structured.statement.AbstractStructuredStatement
org.benf.cfr.reader.bytecode.analysis.structured.statement.StructuredAssignment
- All Implemented Interfaces:
HasByteCodeLoc, Matcher<StructuredStatement>, BoxingProcessor, StructuredStatement, Dumpable, TypeUsageCollectable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionStructuredAssignment(BytecodeLoc loc, LValue lvalue, Expression rvalue) StructuredAssignment(BytecodeLoc loc, LValue lvalue, Expression rvalue, boolean creator) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidcollectTypeUsages(TypeUsageCollector collector) booleanbooleanvoidvoidmarkCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint) booleanmatch(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) booleanrewriteBoxing(PrimitiveBoxingRewriter boxingRewriter) voidrewriteExpressions(ExpressionRewriter expressionRewriter) voidtraceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) voidtransformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) Methods inherited from class AbstractStructuredStatement
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, isScopeBlock, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
-
Field Details
-
lvalue
-
rvalue
-
creator
private boolean creator
-
-
Constructor Details
-
StructuredAssignment
-
StructuredAssignment
-
-
Method Details
-
getCombinedLoc
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
isCreator
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable
-
dump
-
transformStructuredChildren
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope) - Specified by:
transformStructuredChildrenin interfaceStructuredStatement
-
linearizeInto
- Specified by:
linearizeIntoin interfaceStructuredStatement
-
traceLocalVariableScope
- Specified by:
traceLocalVariableScopein interfaceStructuredStatement
-
markCreator
- Specified by:
markCreatorin interfaceStructuredStatement- Overrides:
markCreatorin classAbstractStructuredStatement
-
findCreatedHere
- Specified by:
findCreatedHerein interfaceStructuredStatement- Overrides:
findCreatedHerein classAbstractStructuredStatement
-
getLvalue
-
getRvalue
-
match
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector) - Specified by:
matchin interfaceMatcher<StructuredStatement>- Overrides:
matchin classAbstractStructuredStatement
-
equals
-
rewriteExpressions
- Specified by:
rewriteExpressionsin interfaceStructuredStatement
-
rewriteBoxing
- Specified by:
rewriteBoxingin interfaceBoxingProcessor
-
applyNonArgExpressionRewriter
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyNonArgExpressionRewriterin interfaceBoxingProcessor
-