org.jetbrains.jet.codegen.inline
Class InlineCodegen
java.lang.Object
org.jetbrains.jet.codegen.inline.InlineCodegen
- All Implemented Interfaces:
- CallGenerator, ParentCodegenAware
public class InlineCodegen
- extends java.lang.Object
- implements ParentCodegenAware, CallGenerator
Method Summary |
void |
afterParameterPut(org.jetbrains.asm4.Type type,
StackValue stackValue,
ValueParameterDescriptor valueParameterDescriptor)
|
void |
genCall(CallableMethod callableMethod,
ResolvedCall<?> resolvedCall,
int mask,
ExpressionCodegen codegen)
|
void |
genValueAndPut(ValueParameterDescriptor valueParameterDescriptor,
JetExpression argumentExpression,
org.jetbrains.asm4.Type parameterType)
|
static CodegenContext |
getContext(DeclarationDescriptor descriptor,
GenerationState state)
|
static java.lang.String |
getNodeText(org.jetbrains.asm4.tree.MethodNode node)
|
MemberCodegen |
getParentCodegen()
|
static boolean |
isInliningClosure(JetExpression expression,
ValueParameterDescriptor valueParameterDescriptora)
|
void |
leaveTemps()
|
void |
putCapturedInLocal(org.jetbrains.asm4.Type type,
StackValue stackValue,
ValueParameterDescriptor valueParameterDescriptor,
int capturedParamIndex)
|
void |
putCapturedValueOnStack(StackValue stackValue,
org.jetbrains.asm4.Type valueType,
int paramIndex)
|
void |
putHiddenParams()
|
void |
rememberClosure(JetFunctionLiteralExpression expression,
org.jetbrains.asm4.Type type)
|
boolean |
shouldPutValue(org.jetbrains.asm4.Type type,
StackValue stackValue,
ValueParameterDescriptor descriptor)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
actualParameters
protected final java.util.List<org.jetbrains.jet.codegen.inline.ParameterInfo> actualParameters
expressionMap
protected final java.util.Map<java.lang.Integer,LambdaInfo> expressionMap
InlineCodegen
public InlineCodegen(@NotNull
ExpressionCodegen codegen,
@NotNull
GenerationState state,
@NotNull
SimpleFunctionDescriptor functionDescriptor,
@NotNull
Call call)
genCall
public void genCall(CallableMethod callableMethod,
ResolvedCall<?> resolvedCall,
int mask,
ExpressionCodegen codegen)
- Specified by:
genCall
in interface CallGenerator
afterParameterPut
public void afterParameterPut(@NotNull
org.jetbrains.asm4.Type type,
@Nullable
StackValue stackValue,
ValueParameterDescriptor valueParameterDescriptor)
- Specified by:
afterParameterPut
in interface CallGenerator
putCapturedInLocal
public void putCapturedInLocal(@NotNull
org.jetbrains.asm4.Type type,
@Nullable
StackValue stackValue,
@Nullable
ValueParameterDescriptor valueParameterDescriptor,
int capturedParamIndex)
shouldPutValue
public boolean shouldPutValue(@NotNull
org.jetbrains.asm4.Type type,
@Nullable
StackValue stackValue,
@Nullable
ValueParameterDescriptor descriptor)
putHiddenParams
public void putHiddenParams()
- Specified by:
putHiddenParams
in interface CallGenerator
leaveTemps
public void leaveTemps()
isInliningClosure
public static boolean isInliningClosure(JetExpression expression,
ValueParameterDescriptor valueParameterDescriptora)
rememberClosure
public void rememberClosure(JetFunctionLiteralExpression expression,
org.jetbrains.asm4.Type type)
getParentCodegen
@Nullable
public MemberCodegen getParentCodegen()
- Specified by:
getParentCodegen
in interface ParentCodegenAware
getContext
public static CodegenContext getContext(DeclarationDescriptor descriptor,
GenerationState state)
getNodeText
@NotNull
public static java.lang.String getNodeText(@Nullable
org.jetbrains.asm4.tree.MethodNode node)
genValueAndPut
public void genValueAndPut(@NotNull
ValueParameterDescriptor valueParameterDescriptor,
@NotNull
JetExpression argumentExpression,
@NotNull
org.jetbrains.asm4.Type parameterType)
- Specified by:
genValueAndPut
in interface CallGenerator
putCapturedValueOnStack
public void putCapturedValueOnStack(@NotNull
StackValue stackValue,
@NotNull
org.jetbrains.asm4.Type valueType,
int paramIndex)
- Specified by:
putCapturedValueOnStack
in interface CallGenerator