org.jetbrains.jet.codegen.inline
Class InlineCodegen
java.lang.Object
org.jetbrains.jet.codegen.CallGenerator
org.jetbrains.jet.codegen.inline.InlineCodegen
public class InlineCodegen
- extends CallGenerator
Method Summary |
void |
afterParameterPut(org.jetbrains.org.objectweb.asm.Type type,
StackValue stackValue,
ValueParameterDescriptor valueParameterDescriptor)
|
void |
genCallInner(CallableMethod callableMethod,
ResolvedCall<?> resolvedCall,
boolean callDefault,
ExpressionCodegen codegen)
|
void |
genCallWithoutAssertions(CallableMethod callableMethod,
ExpressionCodegen codegen)
|
void |
generateAndInsertFinallyBlocks(org.jetbrains.org.objectweb.asm.tree.MethodNode intoNode,
java.util.List<MethodInliner.PointForExternalFinallyBlocks> insertPoints)
|
void |
genValueAndPut(ValueParameterDescriptor valueParameterDescriptor,
JetExpression argumentExpression,
org.jetbrains.org.objectweb.asm.Type parameterType)
|
static CodegenContext |
getContext(DeclarationDescriptor descriptor,
GenerationState state)
|
static boolean |
isInliningClosure(JetExpression expression,
ValueParameterDescriptor valueParameterDescriptora)
|
void |
leaveTemps()
|
void |
putCapturedValueOnStack(StackValue stackValue,
org.jetbrains.org.objectweb.asm.Type valueType,
int paramIndex)
|
void |
putHiddenParams()
|
void |
putValueIfNeeded(ValueParameterDescriptor valueParameterDescriptor,
org.jetbrains.org.objectweb.asm.Type parameterType,
StackValue value)
|
void |
rememberClosure(JetExpression expression,
org.jetbrains.org.objectweb.asm.Type type)
|
boolean |
shouldPutValue(org.jetbrains.org.objectweb.asm.Type type,
StackValue stackValue,
ValueParameterDescriptor descriptor)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
invocationParamBuilder
protected final ParametersBuilder invocationParamBuilder
expressionMap
protected final java.util.Map<java.lang.Integer,LambdaInfo> expressionMap
InlineCodegen
public InlineCodegen(@NotNull
ExpressionCodegen codegen,
@NotNull
GenerationState state,
@NotNull
SimpleFunctionDescriptor functionDescriptor,
@NotNull
JetElement callElement,
@Nullable
ReifiedTypeParameterMappings typeParameterMappings)
genCallWithoutAssertions
public void genCallWithoutAssertions(@NotNull
CallableMethod callableMethod,
@NotNull
ExpressionCodegen codegen)
- Specified by:
genCallWithoutAssertions
in class CallGenerator
genCallInner
public void genCallInner(@NotNull
CallableMethod callableMethod,
@Nullable
ResolvedCall<?> resolvedCall,
boolean callDefault,
@NotNull
ExpressionCodegen codegen)
- Specified by:
genCallInner
in class CallGenerator
afterParameterPut
public void afterParameterPut(@NotNull
org.jetbrains.org.objectweb.asm.Type type,
@Nullable
StackValue stackValue,
@Nullable
ValueParameterDescriptor valueParameterDescriptor)
- Specified by:
afterParameterPut
in class CallGenerator
shouldPutValue
public boolean shouldPutValue(@NotNull
org.jetbrains.org.objectweb.asm.Type type,
@Nullable
StackValue stackValue,
@Nullable
ValueParameterDescriptor descriptor)
putHiddenParams
public void putHiddenParams()
- Specified by:
putHiddenParams
in class CallGenerator
leaveTemps
public void leaveTemps()
isInliningClosure
public static boolean isInliningClosure(JetExpression expression,
ValueParameterDescriptor valueParameterDescriptora)
rememberClosure
public void rememberClosure(JetExpression expression,
org.jetbrains.org.objectweb.asm.Type type)
getContext
public static CodegenContext getContext(DeclarationDescriptor descriptor,
GenerationState state)
genValueAndPut
public void genValueAndPut(@NotNull
ValueParameterDescriptor valueParameterDescriptor,
@NotNull
JetExpression argumentExpression,
@NotNull
org.jetbrains.org.objectweb.asm.Type parameterType)
- Specified by:
genValueAndPut
in class CallGenerator
putValueIfNeeded
public void putValueIfNeeded(@Nullable
ValueParameterDescriptor valueParameterDescriptor,
@NotNull
org.jetbrains.org.objectweb.asm.Type parameterType,
@NotNull
StackValue value)
- Specified by:
putValueIfNeeded
in class CallGenerator
putCapturedValueOnStack
public void putCapturedValueOnStack(@NotNull
StackValue stackValue,
@NotNull
org.jetbrains.org.objectweb.asm.Type valueType,
int paramIndex)
- Specified by:
putCapturedValueOnStack
in class CallGenerator
generateAndInsertFinallyBlocks
public void generateAndInsertFinallyBlocks(org.jetbrains.org.objectweb.asm.tree.MethodNode intoNode,
java.util.List<MethodInliner.PointForExternalFinallyBlocks> insertPoints)