public class StructuredReturn extends AbstractStructuredStatement implements BoxingProcessor
| Modifier and Type | Field and Description |
|---|---|
private JavaTypeInstance |
fnReturnType |
private Expression |
value |
| Constructor and Description |
|---|
StructuredReturn(BytecodeLoc loc) |
StructuredReturn(BytecodeLoc loc,
Expression value,
JavaTypeInstance fnReturnType) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter,
SSAIdentifiers ssaIdentifiers,
StatementContainer statementContainer,
ExpressionRewriterFlags flags) |
boolean |
canFall() |
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper dumper) |
boolean |
equals(java.lang.Object obj) |
BytecodeLoc |
getCombinedLoc() |
Expression |
getValue() |
void |
linearizeInto(java.util.List<StructuredStatement> out) |
boolean |
match(MatchIterator<StructuredStatement> matchIterator,
MatchResultCollector matchResultCollector) |
boolean |
rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter) |
void |
rewriteExpressions(ExpressionRewriter expressionRewriter) |
void |
traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer) |
void |
transformStructuredChildren(StructuredStatementTransformer transformer,
StructuredScope scope) |
addLoc, alwaysDefines, canDefine, claimBlock, fallsNopToNext, findCreatedHere, getBreakableBlockOrNull, getContainer, getInline, getLoc, informBlockHeirachy, inlineable, isEffectivelyNOP, isProperlyStructured, isRecursivelyStructured, isScopeBlock, markCreator, setContainer, suggestName, supportsBreak, supportsContinueBreak, toString, transformStructuredChildrenInReverseprivate Expression value
private final JavaTypeInstance fnReturnType
public StructuredReturn(BytecodeLoc loc)
public StructuredReturn(BytecodeLoc loc, Expression value, JavaTypeInstance fnReturnType)
public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablepublic Expression getValue()
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildren in interface StructuredStatementpublic void linearizeInto(java.util.List<StructuredStatement> out)
linearizeInto in interface StructuredStatementpublic void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
traceLocalVariableScope in interface StructuredStatementpublic boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorpublic void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessorpublic void rewriteExpressions(ExpressionRewriter expressionRewriter)
rewriteExpressions in interface StructuredStatementpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic boolean canFall()
canFall in interface StructuredStatementcanFall in class AbstractStructuredStatementpublic boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match in interface Matcher<StructuredStatement>match in class AbstractStructuredStatement