|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement
org.aspectj.org.eclipse.jdt.internal.compiler.ast.ReturnStatement
org.aspectj.org.eclipse.jdt.internal.eval.CodeSnippetReturnStatement
public class CodeSnippetReturnStatement
A return statement inside a code snippet. During the code gen, it uses a macro to set the result of the code snippet instead of returning it.
| Field Summary |
|---|
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ReturnStatement |
|---|
expression, initStateIndex, saveValueVariable, subroutines |
| Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
COMPLAINED_FAKE_REACHABLE, COMPLAINED_UNREACHABLE, NOT_COMPLAINED |
| Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.eval.EvaluationConstants |
|---|
CODE_SNIPPET_CLASS_NAME_PREFIX, CODE_SNIPPET_NAME, DELEGATE_THIS, GLOBAL_VARS_CLASS_NAME_PREFIX, LOCAL_VAR_PREFIX, PACKAGE_NAME, RESULT_TYPE_FIELD, RESULT_VALUE_FIELD, ROOT_CLASS_NAME, ROOT_COMPOUND_NAME, ROOT_FULL_CLASS_NAME, RUN_METHOD, SETRESULT_ARGUMENTS, SETRESULT_SELECTOR |
| Constructor Summary | |
|---|---|
CodeSnippetReturnStatement(Expression expr,
int s,
int e)
|
|
| Method Summary | |
|---|---|
FlowInfo |
analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
|
void |
generateReturnBytecode(CodeStream codeStream)
Dump the suitable return bytecode for a return statement |
void |
generateStoreSaveValueIfNecessary(CodeStream codeStream)
|
TypeBinding[] |
genericTypeArguments()
|
boolean |
isSuperAccess()
|
boolean |
isTypeAccess()
|
boolean |
needValue()
|
void |
prepareSaveValueLocation(TryStatement targetTryStatement)
|
void |
resolve(BlockScope scope)
|
void |
setActualReceiverType(ReferenceBinding receiverType)
|
void |
setDepth(int depth)
|
void |
setFieldIndex(int depth)
|
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ReturnStatement |
|---|
generateCode, printStatement, traverse |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.Statement |
|---|
branchChainTo, checkAgainstNullAnnotation, complainIfUnreachable, expectedType, generateArguments, isBoxingCompatible, isEmptyBlock, isKnowDeadCodePattern, isValidJavaStatement, print, resolveCase |
| Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode |
|---|
checkInvocationArguments, concreteStatement, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveAnnotations, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.lookup.InvocationSite |
|---|
expectedType, sourceEnd, sourceStart |
| Constructor Detail |
|---|
public CodeSnippetReturnStatement(Expression expr,
int s,
int e)
| Method Detail |
|---|
public FlowInfo analyseCode(BlockScope currentScope,
FlowContext flowContext,
FlowInfo flowInfo)
analyseCode in class ReturnStatementpublic void generateReturnBytecode(CodeStream codeStream)
generateReturnBytecode in class ReturnStatementpublic void generateStoreSaveValueIfNecessary(CodeStream codeStream)
generateStoreSaveValueIfNecessary in class ReturnStatementpublic TypeBinding[] genericTypeArguments()
genericTypeArguments in interface InvocationSiteInvocationSite.genericTypeArguments()public boolean isSuperAccess()
isSuperAccess in interface InvocationSitepublic boolean isTypeAccess()
isTypeAccess in interface InvocationSitepublic boolean needValue()
needValue in class ReturnStatementpublic void prepareSaveValueLocation(TryStatement targetTryStatement)
prepareSaveValueLocation in class ReturnStatementpublic void resolve(BlockScope scope)
resolve in class ReturnStatementpublic void setActualReceiverType(ReferenceBinding receiverType)
setActualReceiverType in interface InvocationSitepublic void setDepth(int depth)
setDepth in interface InvocationSitepublic void setFieldIndex(int depth)
setFieldIndex in interface InvocationSite
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||