public class StructuredAssignment extends AbstractStructuredStatement implements BoxingProcessor
Modifier and Type | Field and Description |
---|---|
private boolean |
creator |
private LValue |
lvalue |
private Expression |
rvalue |
Constructor and Description |
---|
StructuredAssignment(BytecodeLoc loc,
LValue lvalue,
Expression rvalue) |
StructuredAssignment(BytecodeLoc loc,
LValue lvalue,
Expression rvalue,
boolean creator) |
addLoc, alwaysDefines, canDefine, canFall, claimBlock, fallsNopToNext, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, isScopeBlock, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverse
private LValue lvalue
private Expression rvalue
private boolean creator
public StructuredAssignment(BytecodeLoc loc, LValue lvalue, Expression rvalue)
public StructuredAssignment(BytecodeLoc loc, LValue lvalue, Expression rvalue, boolean creator)
public BytecodeLoc getCombinedLoc()
getCombinedLoc
in interface HasByteCodeLoc
public boolean isCreator(LValue lvalue)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildren
in interface StructuredStatement
public void linearizeInto(java.util.List<StructuredStatement> out)
linearizeInto
in interface StructuredStatement
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
traceLocalVariableScope
in interface StructuredStatement
public void markCreator(LValue scopedEntity, StatementContainer<StructuredStatement> hint)
markCreator
in interface StructuredStatement
markCreator
in class AbstractStructuredStatement
public java.util.List<LValue> findCreatedHere()
findCreatedHere
in interface StructuredStatement
findCreatedHere
in class AbstractStructuredStatement
public LValue getLvalue()
public Expression getRvalue()
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
rewriteExpressions
in interface StructuredStatement
public boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing
in interface BoxingProcessor
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter
in interface BoxingProcessor