org.jetbrains.kotlin.types.expressions
Class BasicExpressionTypingVisitor

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

public class BasicExpressionTypingVisitor
extends JetVisitor<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(JetElement callElement, JetSimpleNameExpression operationSign, ValueArgument leftArgument, JetExpression right, ExpressionTypingContext context)
           
 boolean checkLValue(BindingTrace trace, ExpressionTypingContext context, JetExpression expression, JetExpression rightHandSide)
           
 JetType getDefaultType(com.intellij.psi.tree.IElementType constantType)
           
 JetTypeInfo getTypeInfoForBinaryCall(Name name, ExpressionTypingContext context, JetBinaryExpression binaryExpression)
           
 JetTypeInfo visitAnnotatedExpression(JetAnnotatedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitAnnotatedExpression(JetAnnotatedExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 JetTypeInfo visitArrayAccessExpression(JetArrayAccessExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitBinaryExpression(JetBinaryExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 JetTypeInfo visitBinaryWithTypeRHSExpression(JetBinaryExpressionWithTypeRHS expression, ExpressionTypingContext context)
           
 JetTypeInfo visitBlockExpression(JetBlockExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitCallableReferenceExpression(JetCallableReferenceExpression expression, ExpressionTypingContext c)
           
 JetTypeInfo visitCallExpression(JetCallExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitClassLiteralExpression(JetClassLiteralExpression expression, ExpressionTypingContext c)
           
 JetTypeInfo visitConstantExpression(JetConstantExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitDeclaration(JetDeclaration dcl, ExpressionTypingContext context)
           
 JetTypeInfo visitJetElement(JetElement element, ExpressionTypingContext context)
           
 JetTypeInfo visitLabeledExpression(JetLabeledExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitLabeledExpression(JetLabeledExpression expression, ExpressionTypingContext context, boolean isStatement)
           
 JetTypeInfo visitObjectLiteralExpression(JetObjectLiteralExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitParenthesizedExpression(JetParenthesizedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitQualifiedExpression(JetQualifiedExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitRootPackageExpression(JetRootPackageExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitSimpleNameExpression(JetSimpleNameExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitStringTemplateExpression(JetStringTemplateExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 JetTypeInfo visitSuperExpression(JetSuperExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitThisExpression(JetThisExpression expression, ExpressionTypingContext context)
           
 JetTypeInfo visitUnaryExpression(JetUnaryExpression expression, ExpressionTypingContext contextWithExpectedType)
           
 
Methods inherited from class org.jetbrains.kotlin.psi.JetVisitor
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
                                             JetSimpleNameExpression expression,
                                             ExpressionTypingContext context)
Overrides:
visitSimpleNameExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>

visitParenthesizedExpression

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

visitConstantExpression

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

getDefaultType

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

visitBinaryWithTypeRHSExpression

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

visitThisExpression

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

visitSuperExpression

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

visitBlockExpression

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

visitClassLiteralExpression

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

visitCallableReferenceExpression

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

visitObjectLiteralExpression

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

visitQualifiedExpression

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

visitCallExpression

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

visitUnaryExpression

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

visitLabeledExpression

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

visitLabeledExpression

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

checkLValue

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

visitBinaryExpression

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

checkInExpression

@NotNull
public JetTypeInfo checkInExpression(@NotNull
                                             JetElement callElement,
                                             @NotNull
                                             JetSimpleNameExpression operationSign,
                                             @NotNull
                                             ValueArgument leftArgument,
                                             @Nullable
                                             JetExpression right,
                                             @NotNull
                                             ExpressionTypingContext context)

visitArrayAccessExpression

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

getTypeInfoForBinaryCall

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

visitDeclaration

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

visitRootPackageExpression

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

visitStringTemplateExpression

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

visitAnnotatedExpression

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

visitAnnotatedExpression

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

visitJetElement

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