org.jetbrains.kotlin.codegen
Class ExpressionCodegen
java.lang.Object
com.intellij.psi.PsiElementVisitor
org.jetbrains.kotlin.psi.KtVisitor<StackValue,StackValue>
org.jetbrains.kotlin.codegen.ExpressionCodegen
- All Implemented Interfaces:
- LocalLookup
public class ExpressionCodegen
- extends KtVisitor<StackValue,StackValue>
- implements LocalLookup
Fields inherited from class com.intellij.psi.PsiElementVisitor |
EMPTY_VISITOR |
Method Summary |
protected FunctionDescriptor |
accessibleFunctionDescriptor(ResolvedCall<?> resolvedCall)
|
void |
addBlockStackElementsForNonLocalReturns(com.intellij.util.containers.Stack<org.jetbrains.kotlin.codegen.ExpressionCodegen.BlockStackElement> elements,
int finallyDepth)
|
KotlinType |
expressionJetType(KtExpression expression)
|
org.jetbrains.org.objectweb.asm.Type |
expressionType(KtExpression expression)
|
StackValue |
findCapturedValue(DeclarationDescriptor descriptor)
|
StackValue |
findLocalOrCapturedValue(DeclarationDescriptor descriptor)
|
StackValue |
gen(KtElement expr)
|
void |
gen(KtElement expr,
org.jetbrains.org.objectweb.asm.Type type)
|
static StackValue |
generateClassLiteralReference(JetTypeMapper typeMapper,
KotlinType type)
|
StackValue |
generateConstructorCall(ResolvedCall<?> resolvedCall,
org.jetbrains.org.objectweb.asm.Type objectType)
|
void |
generateFinallyBlocksIfNeeded(org.jetbrains.org.objectweb.asm.Type returnType,
org.jetbrains.org.objectweb.asm.Label afterReturnLabel)
|
StackValue |
generateNewArray(KtCallExpression expression,
KotlinType arrayType)
|
org.jetbrains.kotlin.codegen.ExpressionCodegen.ObjectLiteralResult |
generateObjectLiteral(KtObjectLiteralExpression literal)
|
StackValue |
generatePropertyReference(KtElement element,
VariableDescriptor variableDescriptor,
VariableDescriptor target,
ReceiverValue dispatchReceiver)
|
StackValue |
generateReceiverValue(ReceiverValue receiverValue,
boolean isSuper)
|
StackValue |
generateThisOrOuter(ClassDescriptor calleeContainingClass,
boolean isSuper)
|
StackValue |
generateThisOrOuter(ClassDescriptor calleeContainingClass,
boolean isSuper,
boolean forceOuter)
|
StackValue |
generateTryExpression(KtTryExpression expression,
boolean isStatement)
|
StackValue |
generateWhenExpression(KtWhenExpression expression,
boolean isStatement)
|
StackValue |
genLazy(KtElement expr,
org.jetbrains.org.objectweb.asm.Type type)
|
StackValue |
genQualified(StackValue receiver,
KtElement selector)
|
void |
genVarargs(VarargValueArgument valueArgument,
KotlinType outType)
|
BindingContext |
getBindingContext()
|
com.intellij.util.containers.Stack<org.jetbrains.kotlin.codegen.ExpressionCodegen.BlockStackElement> |
getBlockStackElements()
|
static |
getCompileTimeConstant(KtExpression expression,
BindingContext bindingContext)
|
ConstructorDescriptor |
getConstructorDescriptor(ResolvedCall<?> resolvedCall)
|
MethodContext |
getContext()
|
FrameMap |
getFrameMap()
|
NameGenerator |
getInlineNameGenerator()
|
protected CallGenerator |
getOrCreateCallGenerator(CallableDescriptor descriptor,
KtElement callElement,
ReifiedTypeParameterMappings reifiedTypeParameterMappings)
|
CallGenerator |
getOrCreateCallGenerator(FunctionDescriptor descriptor,
KtNamedFunction function)
|
MemberCodegen<?> |
getParentCodegen()
|
static CodegenContext |
getParentContextSubclassOf(ClassDescriptor descriptor,
CodegenContext context)
|
org.jetbrains.org.objectweb.asm.Type |
getReturnType()
|
GenerationState |
getState()
|
static ClassDescriptor |
getSuperCallLabelTarget(CodegenContext<?> context,
KtSuperExpression expression)
|
boolean |
hasFinallyBlocks()
|
int |
indexOfLocal(KtReferenceExpression lhs)
|
org.jetbrains.kotlin.codegen.StackValue.Property |
intermediateValueForProperty(PropertyDescriptor propertyDescriptor,
boolean forceField,
boolean syntheticBackingField,
ClassDescriptor superCallTarget,
boolean skipAccessorsForPrivateFieldInOuterClass,
StackValue receiver)
|
org.jetbrains.kotlin.codegen.StackValue.Property |
intermediateValueForProperty(PropertyDescriptor propertyDescriptor,
boolean forceField,
ClassDescriptor superCallTarget,
StackValue receiver)
|
void |
invokeAppend(KtExpression expr)
|
StackValue |
invokeFunction(Call call,
ResolvedCall<?> resolvedCall,
StackValue receiver)
|
StackValue |
invokeFunction(ResolvedCall<?> resolvedCall,
StackValue receiver)
|
void |
invokeMethodWithArguments(Callable callableMethod,
ResolvedCall<?> resolvedCall,
StackValue receiver)
|
void |
invokeMethodWithArguments(Callable callableMethod,
ResolvedCall<?> resolvedCall,
StackValue receiver,
CallGenerator callGenerator,
ArgumentGenerator argumentGenerator)
|
boolean |
isShouldMarkLineNumbers()
|
boolean |
lookupLocal(DeclarationDescriptor descriptor)
|
int |
lookupLocalIndex(DeclarationDescriptor descriptor)
|
StackValue |
lookupOuterValue(EnclosedValueDescriptor d)
|
void |
markLineNumber(KtElement statement,
boolean markEndOffset)
|
void |
markLineNumberAfterInlineIfNeeded()
|
void |
markStartLineNumber(KtElement element)
|
void |
newArrayInstruction(KotlinType arrayType)
|
void |
propagateChildReifiedTypeParametersUsages(ReifiedTypeParametersUsages usages)
|
void |
pushClosureOnStack(ClassDescriptor classDescriptor,
boolean putThis,
CallGenerator callGenerator)
|
void |
putReifierMarkerIfTypeIsReifiedParameter(KotlinType type,
java.lang.String markerMethodName)
|
void |
putUnitInstanceOntoStackForNonExhaustiveWhen(KtWhenExpression expression)
|
void |
returnExpression(KtExpression expr)
|
void |
setShouldMarkLineNumbers(boolean shouldMarkLineNumbers)
|
java.lang.String |
toString()
|
StackValue |
visitAnnotatedExpression(KtAnnotatedExpression expression,
StackValue receiver)
|
StackValue |
visitArrayAccessExpression(KtArrayAccessExpression expression,
StackValue receiver)
|
StackValue |
visitBinaryExpression(KtBinaryExpression expression,
StackValue receiver)
|
StackValue |
visitBinaryWithTypeRHSExpression(KtBinaryExpressionWithTypeRHS expression,
StackValue receiver)
|
StackValue |
visitBlockExpression(KtBlockExpression expression,
StackValue receiver)
|
StackValue |
visitBreakExpression(KtBreakExpression expression,
StackValue receiver)
|
StackValue |
visitCallableReferenceExpression(KtCallableReferenceExpression expression,
StackValue data)
|
StackValue |
visitCallExpression(KtCallExpression expression,
StackValue receiver)
|
StackValue |
visitClass(KtClass klass,
StackValue data)
|
StackValue |
visitClassLiteralExpression(KtClassLiteralExpression expression,
StackValue data)
|
StackValue |
visitConstantExpression(KtConstantExpression expression,
StackValue receiver)
|
StackValue |
visitContinueExpression(KtContinueExpression expression,
StackValue receiver)
|
StackValue |
visitDestructuringDeclaration(KtDestructuringDeclaration multiDeclaration,
StackValue receiver)
|
StackValue |
visitDotQualifiedExpression(KtDotQualifiedExpression expression,
StackValue receiver)
|
StackValue |
visitDoWhileExpression(KtDoWhileExpression expression,
StackValue receiver)
|
StackValue |
visitExpression(KtExpression expression,
StackValue receiver)
|
StackValue |
visitForExpression(KtForExpression forExpression,
StackValue receiver)
|
StackValue |
visitIfExpression(KtIfExpression expression,
StackValue receiver)
|
StackValue |
visitIsExpression(KtIsExpression expression,
StackValue receiver)
|
StackValue |
visitLabeledExpression(KtLabeledExpression expression,
StackValue receiver)
|
StackValue |
visitLambdaExpression(KtLambdaExpression expression,
StackValue receiver)
|
StackValue |
visitNamedFunction(KtNamedFunction function,
StackValue data)
|
StackValue |
visitNamedFunction(KtNamedFunction function,
StackValue data,
boolean isStatement)
|
StackValue |
visitObjectDeclaration(KtObjectDeclaration declaration,
StackValue data)
|
StackValue |
visitObjectLiteralExpression(KtObjectLiteralExpression expression,
StackValue receiver)
|
StackValue |
visitParenthesizedExpression(KtParenthesizedExpression expression,
StackValue receiver)
|
StackValue |
visitPostfixExpression(KtPostfixExpression expression,
StackValue receiver)
|
StackValue |
visitPrefixExpression(KtPrefixExpression expression,
StackValue receiver)
|
StackValue |
visitProperty(KtProperty property,
StackValue receiver)
|
StackValue |
visitReturnExpression(KtReturnExpression expression,
StackValue receiver)
|
StackValue |
visitSafeQualifiedExpression(KtSafeQualifiedExpression expression,
StackValue unused)
|
StackValue |
visitSimpleNameExpression(KtSimpleNameExpression expression,
StackValue receiver)
|
StackValue |
visitStringTemplateExpression(KtStringTemplateExpression expression,
StackValue receiver)
|
StackValue |
visitSuperExpression(KtSuperExpression expression,
StackValue data)
|
StackValue |
visitThisExpression(KtThisExpression expression,
StackValue receiver)
|
StackValue |
visitThrowExpression(KtThrowExpression expression,
StackValue receiver)
|
StackValue |
visitTryExpression(KtTryExpression expression,
StackValue receiver)
|
StackValue |
visitWhenExpression(KtWhenExpression expression,
StackValue receiver)
|
StackValue |
visitWhileExpression(KtWhileExpression expression,
StackValue receiver)
|
Methods inherited from class org.jetbrains.kotlin.psi.KtVisitor |
visitAnnotation, visitAnnotationEntry, visitAnnotationUseSiteTarget, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitCatchSection, visitClassBody, visitClassInitializer, visitClassOrObject, visitConstructorCalleeExpression, visitConstructorDelegationCall, visitDeclaration, visitDelegatedSuperTypeEntry, visitDestructuringDeclarationEntry, visitDoubleColonExpression, visitDynamicType, visitEnumEntry, visitEscapeStringTemplateEntry, visitExpressionWithLabel, visitFileAnnotationList, visitFinallySection, visitFunctionType, visitImportDirective, visitImportList, visitInitializerList, visitKtElement, visitKtFile, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitNamedDeclaration, visitNullableType, visitPackageDirective, visitParameter, visitParameterList, visitPrimaryConstructor, visitPropertyAccessor, visitPropertyDelegate, visitQualifiedExpression, visitReferenceExpression, visitScript, visitScriptInitializer, visitSecondaryConstructor, visitSelfType, visitSimpleNameStringTemplateEntry, visitStringTemplateEntry, visitStringTemplateEntryWithExpression, visitSuperTypeCallEntry, visitSuperTypeEntry, visitSuperTypeList, visitSuperTypeListEntry, visitTypeArgumentList, visitTypeConstraint, visitTypeConstraintList, visitTypedef, visitTypeParameter, visitTypeParameterList, visitTypeProjection, visitTypeReference, visitUnaryExpression, visitUserType, visitValueArgumentList, visitWhenConditionInRange, visitWhenConditionIsPattern, visitWhenConditionWithExpression, visitWhenEntry |
Methods inherited from class com.intellij.psi.PsiElementVisitor |
visitBinaryFile, visitComment, visitDirectory, visitElement, visitErrorElement, visitFile, visitOuterLanguageElement, visitPlainText, visitPlainTextFile, visitWhiteSpace |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
v
public final org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v
myFrameMap
public final FrameMap myFrameMap
defaultCallGenerator
public final CallGenerator defaultCallGenerator
tempVariables
public final java.util.Map<KtElement,StackValue> tempVariables
ExpressionCodegen
public ExpressionCodegen(@NotNull
org.jetbrains.org.objectweb.asm.MethodVisitor mv,
@NotNull
FrameMap frameMap,
@NotNull
org.jetbrains.org.objectweb.asm.Type returnType,
@NotNull
MethodContext context,
@NotNull
GenerationState state,
@NotNull
MemberCodegen<?> parentCodegen)
getState
@NotNull
public GenerationState getState()
getBindingContext
@NotNull
public BindingContext getBindingContext()
getParentCodegen
@NotNull
public MemberCodegen<?> getParentCodegen()
generateObjectLiteral
@NotNull
public org.jetbrains.kotlin.codegen.ExpressionCodegen.ObjectLiteralResult generateObjectLiteral(@NotNull
KtObjectLiteralExpression literal)
genQualified
public StackValue genQualified(StackValue receiver,
KtElement selector)
gen
public StackValue gen(KtElement expr)
gen
public void gen(KtElement expr,
org.jetbrains.org.objectweb.asm.Type type)
genLazy
public StackValue genLazy(KtElement expr,
org.jetbrains.org.objectweb.asm.Type type)
visitClass
public StackValue visitClass(@NotNull
KtClass klass,
StackValue data)
- Overrides:
visitClass
in class KtVisitor<StackValue,StackValue>
visitObjectDeclaration
public StackValue visitObjectDeclaration(@NotNull
KtObjectDeclaration declaration,
StackValue data)
- Overrides:
visitObjectDeclaration
in class KtVisitor<StackValue,StackValue>
visitExpression
public StackValue visitExpression(@NotNull
KtExpression expression,
StackValue receiver)
- Overrides:
visitExpression
in class KtVisitor<StackValue,StackValue>
visitSuperExpression
public StackValue visitSuperExpression(@NotNull
KtSuperExpression expression,
StackValue data)
- Overrides:
visitSuperExpression
in class KtVisitor<StackValue,StackValue>
getSuperCallLabelTarget
@NotNull
public static ClassDescriptor getSuperCallLabelTarget(@NotNull
CodegenContext<?> context,
@NotNull
KtSuperExpression expression)
expressionType
@NotNull
public org.jetbrains.org.objectweb.asm.Type expressionType(@Nullable
KtExpression expression)
expressionJetType
@Nullable
public KotlinType expressionJetType(@Nullable
KtExpression expression)
visitParenthesizedExpression
public StackValue visitParenthesizedExpression(@NotNull
KtParenthesizedExpression expression,
StackValue receiver)
- Overrides:
visitParenthesizedExpression
in class KtVisitor<StackValue,StackValue>
visitAnnotatedExpression
public StackValue visitAnnotatedExpression(@NotNull
KtAnnotatedExpression expression,
StackValue receiver)
- Overrides:
visitAnnotatedExpression
in class KtVisitor<StackValue,StackValue>
visitIfExpression
public StackValue visitIfExpression(@NotNull
KtIfExpression expression,
StackValue receiver)
- Overrides:
visitIfExpression
in class KtVisitor<StackValue,StackValue>
visitWhileExpression
public StackValue visitWhileExpression(@NotNull
KtWhileExpression expression,
StackValue receiver)
- Overrides:
visitWhileExpression
in class KtVisitor<StackValue,StackValue>
visitDoWhileExpression
public StackValue visitDoWhileExpression(@NotNull
KtDoWhileExpression expression,
StackValue receiver)
- Overrides:
visitDoWhileExpression
in class KtVisitor<StackValue,StackValue>
visitForExpression
public StackValue visitForExpression(@NotNull
KtForExpression forExpression,
StackValue receiver)
- Overrides:
visitForExpression
in class KtVisitor<StackValue,StackValue>
visitBreakExpression
public StackValue visitBreakExpression(@NotNull
KtBreakExpression expression,
StackValue receiver)
- Overrides:
visitBreakExpression
in class KtVisitor<StackValue,StackValue>
visitContinueExpression
public StackValue visitContinueExpression(@NotNull
KtContinueExpression expression,
StackValue receiver)
- Overrides:
visitContinueExpression
in class KtVisitor<StackValue,StackValue>
visitConstantExpression
public StackValue visitConstantExpression(@NotNull
KtConstantExpression expression,
StackValue receiver)
- Overrides:
visitConstantExpression
in class KtVisitor<StackValue,StackValue>
getCompileTimeConstant
@Nullable
public static getCompileTimeConstant(@NotNull
KtExpression expression,
@NotNull
BindingContext bindingContext)
visitStringTemplateExpression
public StackValue visitStringTemplateExpression(@NotNull
KtStringTemplateExpression expression,
StackValue receiver)
- Overrides:
visitStringTemplateExpression
in class KtVisitor<StackValue,StackValue>
visitBlockExpression
public StackValue visitBlockExpression(@NotNull
KtBlockExpression expression,
StackValue receiver)
- Overrides:
visitBlockExpression
in class KtVisitor<StackValue,StackValue>
visitNamedFunction
public StackValue visitNamedFunction(@NotNull
KtNamedFunction function,
StackValue data)
- Overrides:
visitNamedFunction
in class KtVisitor<StackValue,StackValue>
visitNamedFunction
public StackValue visitNamedFunction(@NotNull
KtNamedFunction function,
StackValue data,
boolean isStatement)
visitLambdaExpression
public StackValue visitLambdaExpression(@NotNull
KtLambdaExpression expression,
StackValue receiver)
- Overrides:
visitLambdaExpression
in class KtVisitor<StackValue,StackValue>
visitObjectLiteralExpression
public StackValue visitObjectLiteralExpression(@NotNull
KtObjectLiteralExpression expression,
StackValue receiver)
- Overrides:
visitObjectLiteralExpression
in class KtVisitor<StackValue,StackValue>
pushClosureOnStack
public void pushClosureOnStack(@NotNull
ClassDescriptor classDescriptor,
boolean putThis,
@NotNull
CallGenerator callGenerator)
lookupOuterValue
@NotNull
public StackValue lookupOuterValue(EnclosedValueDescriptor d)
isShouldMarkLineNumbers
public boolean isShouldMarkLineNumbers()
setShouldMarkLineNumbers
public void setShouldMarkLineNumbers(boolean shouldMarkLineNumbers)
markStartLineNumber
public void markStartLineNumber(@NotNull
KtElement element)
markLineNumber
public void markLineNumber(@NotNull
KtElement statement,
boolean markEndOffset)
markLineNumberAfterInlineIfNeeded
public void markLineNumberAfterInlineIfNeeded()
hasFinallyBlocks
public boolean hasFinallyBlocks()
visitReturnExpression
public StackValue visitReturnExpression(@NotNull
KtReturnExpression expression,
StackValue receiver)
- Overrides:
visitReturnExpression
in class KtVisitor<StackValue,StackValue>
generateFinallyBlocksIfNeeded
public void generateFinallyBlocksIfNeeded(org.jetbrains.org.objectweb.asm.Type returnType,
@NotNull
org.jetbrains.org.objectweb.asm.Label afterReturnLabel)
returnExpression
public void returnExpression(KtExpression expr)
visitSimpleNameExpression
public StackValue visitSimpleNameExpression(@NotNull
KtSimpleNameExpression expression,
@NotNull
StackValue receiver)
- Overrides:
visitSimpleNameExpression
in class KtVisitor<StackValue,StackValue>
findLocalOrCapturedValue
@Nullable
public StackValue findLocalOrCapturedValue(@NotNull
DeclarationDescriptor descriptor)
findCapturedValue
@Nullable
public StackValue findCapturedValue(@NotNull
DeclarationDescriptor descriptor)
lookupLocal
public boolean lookupLocal(DeclarationDescriptor descriptor)
- Specified by:
lookupLocal
in interface LocalLookup
lookupLocalIndex
public int lookupLocalIndex(DeclarationDescriptor descriptor)
intermediateValueForProperty
@NotNull
public org.jetbrains.kotlin.codegen.StackValue.Property intermediateValueForProperty(@NotNull
PropertyDescriptor propertyDescriptor,
boolean forceField,
@Nullable
ClassDescriptor superCallTarget,
@NotNull
StackValue receiver)
intermediateValueForProperty
public org.jetbrains.kotlin.codegen.StackValue.Property intermediateValueForProperty(@NotNull
PropertyDescriptor propertyDescriptor,
boolean forceField,
boolean syntheticBackingField,
@Nullable
ClassDescriptor superCallTarget,
boolean skipAccessorsForPrivateFieldInOuterClass,
StackValue receiver)
visitCallExpression
public StackValue visitCallExpression(@NotNull
KtCallExpression expression,
StackValue receiver)
- Overrides:
visitCallExpression
in class KtVisitor<StackValue,StackValue>
accessibleFunctionDescriptor
@NotNull
protected FunctionDescriptor accessibleFunctionDescriptor(@NotNull
ResolvedCall<?> resolvedCall)
invokeFunction
@NotNull
public StackValue invokeFunction(@NotNull
ResolvedCall<?> resolvedCall,
@NotNull
StackValue receiver)
invokeFunction
@NotNull
public StackValue invokeFunction(@NotNull
Call call,
@NotNull
ResolvedCall<?> resolvedCall,
@NotNull
StackValue receiver)
getParentContextSubclassOf
@Nullable
public static CodegenContext getParentContextSubclassOf(ClassDescriptor descriptor,
CodegenContext context)
invokeMethodWithArguments
public void invokeMethodWithArguments(@NotNull
Callable callableMethod,
@NotNull
ResolvedCall<?> resolvedCall,
@NotNull
StackValue receiver)
invokeMethodWithArguments
public void invokeMethodWithArguments(@NotNull
Callable callableMethod,
@NotNull
ResolvedCall<?> resolvedCall,
@NotNull
StackValue receiver,
@NotNull
CallGenerator callGenerator,
@NotNull
ArgumentGenerator argumentGenerator)
getOrCreateCallGenerator
@NotNull
protected CallGenerator getOrCreateCallGenerator(@NotNull
CallableDescriptor descriptor,
@Nullable
KtElement callElement,
@Nullable
ReifiedTypeParameterMappings reifiedTypeParameterMappings)
getOrCreateCallGenerator
@NotNull
public CallGenerator getOrCreateCallGenerator(@NotNull
FunctionDescriptor descriptor,
@Nullable
KtNamedFunction function)
generateReceiverValue
@NotNull
public StackValue generateReceiverValue(@Nullable
ReceiverValue receiverValue,
boolean isSuper)
generateThisOrOuter
@NotNull
public StackValue generateThisOrOuter(@NotNull
ClassDescriptor calleeContainingClass,
boolean isSuper)
generateThisOrOuter
@NotNull
public StackValue generateThisOrOuter(@NotNull
ClassDescriptor calleeContainingClass,
boolean isSuper,
boolean forceOuter)
genVarargs
public void genVarargs(@NotNull
VarargValueArgument valueArgument,
@NotNull
KotlinType outType)
indexOfLocal
public int indexOfLocal(KtReferenceExpression lhs)
visitClassLiteralExpression
public StackValue visitClassLiteralExpression(@NotNull
KtClassLiteralExpression expression,
StackValue data)
- Overrides:
visitClassLiteralExpression
in class KtVisitor<StackValue,StackValue>
visitCallableReferenceExpression
public StackValue visitCallableReferenceExpression(@NotNull
KtCallableReferenceExpression expression,
StackValue data)
- Overrides:
visitCallableReferenceExpression
in class KtVisitor<StackValue,StackValue>
generatePropertyReference
@NotNull
public StackValue generatePropertyReference(@NotNull
KtElement element,
@NotNull
VariableDescriptor variableDescriptor,
@NotNull
VariableDescriptor target,
@Nullable
ReceiverValue dispatchReceiver)
generateClassLiteralReference
@NotNull
public static StackValue generateClassLiteralReference(@NotNull
JetTypeMapper typeMapper,
@NotNull
KotlinType type)
visitDotQualifiedExpression
public StackValue visitDotQualifiedExpression(@NotNull
KtDotQualifiedExpression expression,
StackValue receiver)
- Overrides:
visitDotQualifiedExpression
in class KtVisitor<StackValue,StackValue>
visitSafeQualifiedExpression
public StackValue visitSafeQualifiedExpression(@NotNull
KtSafeQualifiedExpression expression,
StackValue unused)
- Overrides:
visitSafeQualifiedExpression
in class KtVisitor<StackValue,StackValue>
visitBinaryExpression
public StackValue visitBinaryExpression(@NotNull
KtBinaryExpression expression,
@NotNull
StackValue receiver)
- Overrides:
visitBinaryExpression
in class KtVisitor<StackValue,StackValue>
invokeAppend
public void invokeAppend(KtExpression expr)
visitLabeledExpression
public StackValue visitLabeledExpression(@NotNull
KtLabeledExpression expression,
StackValue receiver)
- Overrides:
visitLabeledExpression
in class KtVisitor<StackValue,StackValue>
visitPrefixExpression
public StackValue visitPrefixExpression(@NotNull
KtPrefixExpression expression,
@NotNull
StackValue receiver)
- Overrides:
visitPrefixExpression
in class KtVisitor<StackValue,StackValue>
visitPostfixExpression
public StackValue visitPostfixExpression(@NotNull
KtPostfixExpression expression,
StackValue receiver)
- Overrides:
visitPostfixExpression
in class KtVisitor<StackValue,StackValue>
visitProperty
public StackValue visitProperty(@NotNull
KtProperty property,
StackValue receiver)
- Overrides:
visitProperty
in class KtVisitor<StackValue,StackValue>
visitDestructuringDeclaration
public StackValue visitDestructuringDeclaration(@NotNull
KtDestructuringDeclaration multiDeclaration,
StackValue receiver)
- Overrides:
visitDestructuringDeclaration
in class KtVisitor<StackValue,StackValue>
getConstructorDescriptor
@NotNull
public ConstructorDescriptor getConstructorDescriptor(@NotNull
ResolvedCall<?> resolvedCall)
generateConstructorCall
@NotNull
public StackValue generateConstructorCall(@NotNull
ResolvedCall<?> resolvedCall,
@NotNull
org.jetbrains.org.objectweb.asm.Type objectType)
generateNewArray
public StackValue generateNewArray(@NotNull
KtCallExpression expression,
@NotNull
KotlinType arrayType)
newArrayInstruction
public void newArrayInstruction(@NotNull
KotlinType arrayType)
visitArrayAccessExpression
public StackValue visitArrayAccessExpression(@NotNull
KtArrayAccessExpression expression,
StackValue receiver)
- Overrides:
visitArrayAccessExpression
in class KtVisitor<StackValue,StackValue>
visitThrowExpression
public StackValue visitThrowExpression(@NotNull
KtThrowExpression expression,
StackValue receiver)
- Overrides:
visitThrowExpression
in class KtVisitor<StackValue,StackValue>
visitThisExpression
public StackValue visitThisExpression(@NotNull
KtThisExpression expression,
StackValue receiver)
- Overrides:
visitThisExpression
in class KtVisitor<StackValue,StackValue>
visitTryExpression
public StackValue visitTryExpression(@NotNull
KtTryExpression expression,
StackValue receiver)
- Overrides:
visitTryExpression
in class KtVisitor<StackValue,StackValue>
generateTryExpression
public StackValue generateTryExpression(KtTryExpression expression,
boolean isStatement)
visitBinaryWithTypeRHSExpression
public StackValue visitBinaryWithTypeRHSExpression(@NotNull
KtBinaryExpressionWithTypeRHS expression,
StackValue receiver)
- Overrides:
visitBinaryWithTypeRHSExpression
in class KtVisitor<StackValue,StackValue>
visitIsExpression
public StackValue visitIsExpression(@NotNull
KtIsExpression expression,
StackValue receiver)
- Overrides:
visitIsExpression
in class KtVisitor<StackValue,StackValue>
putReifierMarkerIfTypeIsReifiedParameter
public void putReifierMarkerIfTypeIsReifiedParameter(@NotNull
KotlinType type,
@NotNull
java.lang.String markerMethodName)
propagateChildReifiedTypeParametersUsages
public void propagateChildReifiedTypeParametersUsages(@NotNull
ReifiedTypeParametersUsages usages)
visitWhenExpression
public StackValue visitWhenExpression(@NotNull
KtWhenExpression expression,
StackValue receiver)
- Overrides:
visitWhenExpression
in class KtVisitor<StackValue,StackValue>
generateWhenExpression
public StackValue generateWhenExpression(KtWhenExpression expression,
boolean isStatement)
putUnitInstanceOntoStackForNonExhaustiveWhen
public void putUnitInstanceOntoStackForNonExhaustiveWhen(@NotNull
KtWhenExpression expression)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getFrameMap
@NotNull
public FrameMap getFrameMap()
getContext
@NotNull
public MethodContext getContext()
getInlineNameGenerator
@NotNull
public NameGenerator getInlineNameGenerator()
getReturnType
public org.jetbrains.org.objectweb.asm.Type getReturnType()
getBlockStackElements
public com.intellij.util.containers.Stack<org.jetbrains.kotlin.codegen.ExpressionCodegen.BlockStackElement> getBlockStackElements()
addBlockStackElementsForNonLocalReturns
public void addBlockStackElementsForNonLocalReturns(@NotNull
com.intellij.util.containers.Stack<org.jetbrains.kotlin.codegen.ExpressionCodegen.BlockStackElement> elements,
int finallyDepth)