public class StructuredReturn extends AbstractStructuredStatement implements BoxingProcessor
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(Object obj) |
BytecodeLoc |
getCombinedLoc() |
Expression |
getValue() |
void |
linearizeInto(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, transformStructuredChildrenInReverse
public StructuredReturn(BytecodeLoc loc)
public StructuredReturn(BytecodeLoc loc, Expression value, JavaTypeInstance fnReturnType)
public BytecodeLoc getCombinedLoc()
getCombinedLoc
in interface HasByteCodeLoc
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
public Expression getValue()
public void transformStructuredChildren(StructuredStatementTransformer transformer, StructuredScope scope)
transformStructuredChildren
in interface StructuredStatement
public void linearizeInto(List<StructuredStatement> out)
linearizeInto
in interface StructuredStatement
public void traceLocalVariableScope(LValueScopeDiscoverer scopeDiscoverer)
traceLocalVariableScope
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
public void rewriteExpressions(ExpressionRewriter expressionRewriter)
rewriteExpressions
in interface StructuredStatement
public boolean canFall()
canFall
in interface StructuredStatement
canFall
in class AbstractStructuredStatement
public boolean match(MatchIterator<StructuredStatement> matchIterator, MatchResultCollector matchResultCollector)
match
in interface Matcher<StructuredStatement>
match
in class AbstractStructuredStatement
Copyright © 2011-2021. All Rights Reserved.