org.jetbrains.kotlin.types.expressions
Class BasicExpressionTypingVisitor
java.lang.Object
com.intellij.psi.PsiElementVisitor
org.jetbrains.kotlin.psi.KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitor
org.jetbrains.kotlin.types.expressions.BasicExpressionTypingVisitor
public class BasicExpressionTypingVisitor
- extends ExpressionTypingVisitor
| Fields inherited from class com.intellij.psi.PsiElementVisitor |
EMPTY_VISITOR |
|
Method Summary |
KotlinTypeInfo |
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)
|
KotlinTypeInfo |
getTypeInfoForBinaryCall(Name name,
ExpressionTypingContext context,
KtBinaryExpression binaryExpression)
|
KotlinTypeInfo |
visitAnnotatedExpression(KtAnnotatedExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitAnnotatedExpression(KtAnnotatedExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
KotlinTypeInfo |
visitArrayAccessExpression(KtArrayAccessExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitBinaryExpression(KtBinaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
|
KotlinTypeInfo |
visitBinaryWithTypeRHSExpression(KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitBlockExpression(KtBlockExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitCallableReferenceExpression(KtCallableReferenceExpression expression,
ExpressionTypingContext c)
|
KotlinTypeInfo |
visitCallExpression(KtCallExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitClassLiteralExpression(KtClassLiteralExpression expression,
ExpressionTypingContext c)
|
KotlinTypeInfo |
visitConstantExpression(KtConstantExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitDeclaration(KtDeclaration dcl,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitKtElement(KtElement element,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitLabeledExpression(KtLabeledExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitLabeledExpression(KtLabeledExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
KotlinTypeInfo |
visitObjectLiteralExpression(KtObjectLiteralExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitParenthesizedExpression(KtParenthesizedExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitQualifiedExpression(KtQualifiedExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitRootPackageExpression(KtRootPackageExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitSimpleNameExpression(KtSimpleNameExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitStringTemplateExpression(KtStringTemplateExpression expression,
ExpressionTypingContext contextWithExpectedType)
|
KotlinTypeInfo |
visitSuperExpression(KtSuperExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitThisExpression(KtThisExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitUnaryExpression(KtUnaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
|
| Methods inherited from class org.jetbrains.kotlin.psi.KtVisitor |
visitAnnotation, visitAnnotationEntry, visitAnnotationUseSiteTarget, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitBreakExpression, visitCatchSection, visitClass, visitClassBody, visitClassInitializer, 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, visitKtFile, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitMultiDeclaration, visitMultiDeclarationEntry, visitNamedDeclaration, visitNamedFunction, visitNullableType, visitObjectDeclaration, visitPackageDirective, visitParameter, visitParameterList, visitPostfixExpression, visitPrefixExpression, visitPrimaryConstructor, visitProperty, visitPropertyAccessor, visitPropertyDelegate, visitReferenceExpression, visitReturnExpression, visitSafeQualifiedExpression, visitScript, visitScriptInitializer, 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 |
BasicExpressionTypingVisitor
protected BasicExpressionTypingVisitor(@NotNull
org.jetbrains.kotlin.types.expressions.ExpressionTypingInternals facade)
visitSimpleNameExpression
public KotlinTypeInfo visitSimpleNameExpression(@NotNull
KtSimpleNameExpression expression,
ExpressionTypingContext context)
- Overrides:
visitSimpleNameExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitParenthesizedExpression
public KotlinTypeInfo visitParenthesizedExpression(@NotNull
KtParenthesizedExpression expression,
ExpressionTypingContext context)
- Overrides:
visitParenthesizedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitConstantExpression
public KotlinTypeInfo visitConstantExpression(@NotNull
KtConstantExpression expression,
ExpressionTypingContext context)
- Overrides:
visitConstantExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
getDefaultType
@NotNull
public KotlinType getDefaultType(com.intellij.psi.tree.IElementType constantType)
visitBinaryWithTypeRHSExpression
public KotlinTypeInfo visitBinaryWithTypeRHSExpression(@NotNull
KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext context)
- Overrides:
visitBinaryWithTypeRHSExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitThisExpression
public KotlinTypeInfo visitThisExpression(@NotNull
KtThisExpression expression,
ExpressionTypingContext context)
- Overrides:
visitThisExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitSuperExpression
public KotlinTypeInfo visitSuperExpression(@NotNull
KtSuperExpression expression,
ExpressionTypingContext context)
- Overrides:
visitSuperExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitBlockExpression
public KotlinTypeInfo visitBlockExpression(@NotNull
KtBlockExpression expression,
ExpressionTypingContext context)
- Overrides:
visitBlockExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitClassLiteralExpression
public KotlinTypeInfo visitClassLiteralExpression(@NotNull
KtClassLiteralExpression expression,
ExpressionTypingContext c)
- Overrides:
visitClassLiteralExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitCallableReferenceExpression
public KotlinTypeInfo visitCallableReferenceExpression(@NotNull
KtCallableReferenceExpression expression,
ExpressionTypingContext c)
- Overrides:
visitCallableReferenceExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitObjectLiteralExpression
public KotlinTypeInfo visitObjectLiteralExpression(@NotNull
KtObjectLiteralExpression expression,
ExpressionTypingContext context)
- Overrides:
visitObjectLiteralExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitQualifiedExpression
public KotlinTypeInfo visitQualifiedExpression(@NotNull
KtQualifiedExpression expression,
ExpressionTypingContext context)
- Overrides:
visitQualifiedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitCallExpression
public KotlinTypeInfo visitCallExpression(@NotNull
KtCallExpression expression,
ExpressionTypingContext context)
- Overrides:
visitCallExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitUnaryExpression
public KotlinTypeInfo visitUnaryExpression(@NotNull
KtUnaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
- Overrides:
visitUnaryExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitLabeledExpression
public KotlinTypeInfo visitLabeledExpression(@NotNull
KtLabeledExpression expression,
ExpressionTypingContext context)
- Overrides:
visitLabeledExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitLabeledExpression
@NotNull
public KotlinTypeInfo 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 KotlinTypeInfo visitBinaryExpression(@NotNull
KtBinaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
- Overrides:
visitBinaryExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
checkInExpression
@NotNull
public KotlinTypeInfo checkInExpression(@NotNull
KtElement callElement,
@NotNull
KtSimpleNameExpression operationSign,
@NotNull
ValueArgument leftArgument,
@Nullable
KtExpression right,
@NotNull
ExpressionTypingContext context)
visitArrayAccessExpression
public KotlinTypeInfo visitArrayAccessExpression(@NotNull
KtArrayAccessExpression expression,
ExpressionTypingContext context)
- Overrides:
visitArrayAccessExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
getTypeInfoForBinaryCall
@NotNull
public KotlinTypeInfo getTypeInfoForBinaryCall(@NotNull
Name name,
@NotNull
ExpressionTypingContext context,
@NotNull
KtBinaryExpression binaryExpression)
visitDeclaration
public KotlinTypeInfo visitDeclaration(@NotNull
KtDeclaration dcl,
ExpressionTypingContext context)
- Overrides:
visitDeclaration in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitRootPackageExpression
public KotlinTypeInfo visitRootPackageExpression(@NotNull
KtRootPackageExpression expression,
ExpressionTypingContext context)
- Overrides:
visitRootPackageExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitStringTemplateExpression
public KotlinTypeInfo visitStringTemplateExpression(@NotNull
KtStringTemplateExpression expression,
ExpressionTypingContext contextWithExpectedType)
- Overrides:
visitStringTemplateExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitAnnotatedExpression
public KotlinTypeInfo visitAnnotatedExpression(@NotNull
KtAnnotatedExpression expression,
ExpressionTypingContext context)
- Overrides:
visitAnnotatedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitAnnotatedExpression
public KotlinTypeInfo visitAnnotatedExpression(KtAnnotatedExpression expression,
ExpressionTypingContext context,
boolean isStatement)
visitKtElement
public KotlinTypeInfo visitKtElement(@NotNull
KtElement element,
ExpressionTypingContext context)
- Overrides:
visitKtElement in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>