org.jetbrains.kotlin.types.expressions
Class BasicExpressionTypingVisitor

java.lang.Object
  extended by com.intellij.psi.PsiElementVisitor
      extended by org.jetbrains.kotlin.psi.KtVisitor<JetTypeInfo,ExpressionTypingContext>
          extended by org.jetbrains.kotlin.types.expressions.BasicExpressionTypingVisitor

public class BasicExpressionTypingVisitor
extends KtVisitor<JetTypeInfo,ExpressionTypingContext>


Field Summary
protected  ExpressionTypingComponents components
           
protected  org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade
           
 
Fields inherited from class com.intellij.psi.PsiElementVisitor
EMPTY_VISITOR
 
Constructor Summary
protected BasicExpressionTypingVisitor(org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade)
           
 
Method Summary
 JetTypeInfo checkInExpression(KtElement callElement, KtSimpleNameExpression operationSign, ValueArgument leftArgument, KtExpression right, ExpressionTypingContext context)
           
 boolean checkLValue(BindingTrace trace, ExpressionTypingContext context, KtExpression expression, KtExpression rightHandSide)
           
 KotlinType getDefaultType(com.intellij.psi.tree.IElementType constantType)
           
 JetTypeInfo getTypeInfoForBinaryCall(Name name, ExpressionTypingContext context, KtBinaryExpression binaryExpression)
           
 JetTypeInfo visitAnnotatedExpression(KtAnnotatedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitAnnotatedExpression(KtAnnotatedExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 JetTypeInfo visitArrayAccessExpression(KtArrayAccessExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitBinaryExpression(KtBinaryExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 JetTypeInfo visitBinaryWithTypeRHSExpression(KtBinaryExpressionWithTypeRHS expression, ExpressionTypingContext context)
           
 JetTypeInfo visitBlockExpression(KtBlockExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitCallableReferenceExpression(KtCallableReferenceExpression expression, ExpressionTypingContext c)
           
 JetTypeInfo visitCallExpression(KtCallExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitClassLiteralExpression(KtClassLiteralExpression expression, ExpressionTypingContext c)
           
 JetTypeInfo visitConstantExpression(KtConstantExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitDeclaration(KtDeclaration dcl, ExpressionTypingContext context)
           
 JetTypeInfo visitJetElement(KtElement element, ExpressionTypingContext context)
           
 JetTypeInfo visitLabeledExpression(KtLabeledExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitLabeledExpression(KtLabeledExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 JetTypeInfo visitObjectLiteralExpression(KtObjectLiteralExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitParenthesizedExpression(KtParenthesizedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitQualifiedExpression(KtQualifiedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitRootPackageExpression(KtRootPackageExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitSimpleNameExpression(KtSimpleNameExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitStringTemplateExpression(KtStringTemplateExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 JetTypeInfo visitSuperExpression(KtSuperExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitThisExpression(KtThisExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitUnaryExpression(KtUnaryExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 
Methods inherited from class org.jetbrains.kotlin.psi.KtVisitor
visitAnnotation, visitAnnotationEntry, visitAnnotationUseSiteTarget, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitBreakExpression, visitCatchSection, visitClass, visitClassBody, visitClassOrObject, visitConstructorCalleeExpression, visitConstructorDelegationCall, visitContinueExpression, visitDelegationByExpressionSpecifier, visitDelegationSpecifier, visitDelegationSpecifierList, visitDelegationToSuperCallSpecifier, visitDelegationToSuperClassSpecifier, visitDotQualifiedExpression, visitDoubleColonExpression, visitDoWhileExpression, visitDynamicType, visitEnumEntry, visitEscapeStringTemplateEntry, visitExpression, visitExpressionWithLabel, visitFileAnnotationList, visitFinallySection, visitForExpression, visitFunctionLiteralExpression, visitFunctionType, visitIfExpression, visitImportDirective, visitImportList, visitInitializerList, visitIsExpression, visitJetFile, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitMultiDeclaration, visitMultiDeclarationEntry, visitNamedDeclaration, visitNamedFunction, visitNullableType, visitObjectDeclaration, visitObjectDeclarationName, visitPackageDirective, visitParameter, visitParameterList, visitPostfixExpression, visitPrefixExpression, visitPrimaryConstructor, visitProperty, visitPropertyAccessor, visitPropertyDelegate, visitReferenceExpression, visitReturnExpression, visitSafeQualifiedExpression, visitScript, visitSecondaryConstructor, visitSelfType, visitSimpleNameStringTemplateEntry, visitStringTemplateEntry, visitStringTemplateEntryWithExpression, visitThrowExpression, visitTryExpression, visitTypeArgumentList, visitTypeConstraint, visitTypeConstraintList, visitTypedef, visitTypeParameter, visitTypeParameterList, visitTypeProjection, visitTypeReference, visitUserType, visitValueArgumentList, visitWhenConditionInRange, visitWhenConditionIsPattern, visitWhenConditionWithExpression, visitWhenEntry, visitWhenExpression, visitWhileExpression
 
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, toString, wait, wait, wait
 

Field Detail

facade

protected final org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade

components

protected final ExpressionTypingComponents components
Constructor Detail

BasicExpressionTypingVisitor

protected BasicExpressionTypingVisitor(@NotNull
                                       org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade)
Method Detail

visitSimpleNameExpression

public JetTypeInfo visitSimpleNameExpression(@NotNull
                                             KtSimpleNameExpression expression,
                                             ExpressionTypingContext context)
Overrides:
visitSimpleNameExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitParenthesizedExpression

public JetTypeInfo visitParenthesizedExpression(@NotNull
                                                KtParenthesizedExpression expression,
                                                ExpressionTypingContext context)
Overrides:
visitParenthesizedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitConstantExpression

public JetTypeInfo visitConstantExpression(@NotNull
                                           KtConstantExpression expression,
                                           ExpressionTypingContext context)
Overrides:
visitConstantExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

getDefaultType

@NotNull
public KotlinType getDefaultType(com.intellij.psi.tree.IElementType constantType)

visitBinaryWithTypeRHSExpression

public JetTypeInfo visitBinaryWithTypeRHSExpression(@NotNull
                                                    KtBinaryExpressionWithTypeRHS expression,
                                                    ExpressionTypingContext context)
Overrides:
visitBinaryWithTypeRHSExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitThisExpression

public JetTypeInfo visitThisExpression(@NotNull
                                       KtThisExpression expression,
                                       ExpressionTypingContext context)
Overrides:
visitThisExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitSuperExpression

public JetTypeInfo visitSuperExpression(@NotNull
                                        KtSuperExpression expression,
                                        ExpressionTypingContext context)
Overrides:
visitSuperExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitBlockExpression

public JetTypeInfo visitBlockExpression(@NotNull
                                        KtBlockExpression expression,
                                        ExpressionTypingContext context)
Overrides:
visitBlockExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitClassLiteralExpression

public JetTypeInfo visitClassLiteralExpression(@NotNull
                                               KtClassLiteralExpression expression,
                                               ExpressionTypingContext c)
Overrides:
visitClassLiteralExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitCallableReferenceExpression

public JetTypeInfo visitCallableReferenceExpression(@NotNull
                                                    KtCallableReferenceExpression expression,
                                                    ExpressionTypingContext c)
Overrides:
visitCallableReferenceExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitObjectLiteralExpression

public JetTypeInfo visitObjectLiteralExpression(@NotNull
                                                KtObjectLiteralExpression expression,
                                                ExpressionTypingContext context)
Overrides:
visitObjectLiteralExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitQualifiedExpression

public JetTypeInfo visitQualifiedExpression(@NotNull
                                            KtQualifiedExpression expression,
                                            ExpressionTypingContext context)
Overrides:
visitQualifiedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitCallExpression

public JetTypeInfo visitCallExpression(@NotNull
                                       KtCallExpression expression,
                                       ExpressionTypingContext context)
Overrides:
visitCallExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitUnaryExpression

public JetTypeInfo visitUnaryExpression(@NotNull
                                        KtUnaryExpression expression,
                                        ExpressionTypingContext contextWithExpectedType)
Overrides:
visitUnaryExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitLabeledExpression

public JetTypeInfo visitLabeledExpression(@NotNull
                                          KtLabeledExpression expression,
                                          ExpressionTypingContext context)
Overrides:
visitLabeledExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitLabeledExpression

@NotNull
public JetTypeInfo visitLabeledExpression(@NotNull
                                                  KtLabeledExpression expression,
                                                  @NotNull
                                                  ExpressionTypingContext context,
                                                  boolean isStatement)

checkLValue

public boolean checkLValue(@NotNull
                           BindingTrace trace,
                           @NotNull
                           ExpressionTypingContext context,
                           @NotNull
                           KtExpression expression,
                           @Nullable
                           KtExpression rightHandSide)
Returns:
true iff expression can be assigned to

visitBinaryExpression

public JetTypeInfo visitBinaryExpression(@NotNull
                                         KtBinaryExpression expression,
                                         ExpressionTypingContext contextWithExpectedType)
Overrides:
visitBinaryExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

checkInExpression

@NotNull
public JetTypeInfo checkInExpression(@NotNull
                                             KtElement callElement,
                                             @NotNull
                                             KtSimpleNameExpression operationSign,
                                             @NotNull
                                             ValueArgument leftArgument,
                                             @Nullable
                                             KtExpression right,
                                             @NotNull
                                             ExpressionTypingContext context)

visitArrayAccessExpression

public JetTypeInfo visitArrayAccessExpression(@NotNull
                                              KtArrayAccessExpression expression,
                                              ExpressionTypingContext context)
Overrides:
visitArrayAccessExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

getTypeInfoForBinaryCall

@NotNull
public JetTypeInfo getTypeInfoForBinaryCall(@NotNull
                                                    Name name,
                                                    @NotNull
                                                    ExpressionTypingContext context,
                                                    @NotNull
                                                    KtBinaryExpression binaryExpression)

visitDeclaration

public JetTypeInfo visitDeclaration(@NotNull
                                    KtDeclaration dcl,
                                    ExpressionTypingContext context)
Overrides:
visitDeclaration in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitRootPackageExpression

public JetTypeInfo visitRootPackageExpression(@NotNull
                                              KtRootPackageExpression expression,
                                              ExpressionTypingContext context)
Overrides:
visitRootPackageExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitStringTemplateExpression

public JetTypeInfo visitStringTemplateExpression(@NotNull
                                                 KtStringTemplateExpression expression,
                                                 ExpressionTypingContext contextWithExpectedType)
Overrides:
visitStringTemplateExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitAnnotatedExpression

public JetTypeInfo visitAnnotatedExpression(@NotNull
                                            KtAnnotatedExpression expression,
                                            ExpressionTypingContext context)
Overrides:
visitAnnotatedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>

visitAnnotatedExpression

public JetTypeInfo visitAnnotatedExpression(KtAnnotatedExpression expression,
                                            ExpressionTypingContext context,
                                            boolean isStatement)

visitJetElement

public JetTypeInfo visitJetElement(@NotNull
                                   KtElement element,
                                   ExpressionTypingContext context)
Overrides:
visitJetElement in class KtVisitor<JetTypeInfo,ExpressionTypingContext>