org.jetbrains.kotlin.types.expressions
Class ExpressionTypingVisitorDispatcher
java.lang.Object
com.intellij.psi.PsiElementVisitor
org.jetbrains.kotlin.psi.KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher
- Direct Known Subclasses:
- ExpressionTypingVisitorDispatcher.ForBlock, ExpressionTypingVisitorDispatcher.ForDeclarations
public abstract class ExpressionTypingVisitorDispatcher
- extends KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
| Fields inherited from class com.intellij.psi.PsiElementVisitor |
EMPTY_VISITOR |
|
Method Summary |
KotlinTypeInfo |
checkInExpression(KtElement callElement,
KtSimpleNameExpression operationSign,
ValueArgument leftArgument,
KtExpression right,
ExpressionTypingContext context)
|
void |
checkStatementType(KtExpression expression,
ExpressionTypingContext context)
|
protected ExpressionTypingVisitorForStatements |
createStatementVisitor(ExpressionTypingContext context)
|
ExpressionTypingComponents |
getComponents()
|
protected abstract ExpressionTypingVisitorForStatements |
getStatementVisitor(ExpressionTypingContext context)
|
KotlinTypeInfo |
getTypeInfo(KtExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
getTypeInfo(KtExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
KotlinTypeInfo |
safeGetTypeInfo(KtExpression expression,
ExpressionTypingContext context)
|
KotlinTypeInfo |
visitAnnotatedExpression(KtAnnotatedExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitArrayAccessExpression(KtArrayAccessExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitBinaryExpression(KtBinaryExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitBinaryWithTypeRHSExpression(KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitBlockExpression(KtBlockExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitBreakExpression(KtBreakExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitCallableReferenceExpression(KtCallableReferenceExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitCallExpression(KtCallExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitClass(KtClass klass,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitClassLiteralExpression(KtClassLiteralExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitConstantExpression(KtConstantExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitContinueExpression(KtContinueExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitDeclaration(KtDeclaration dcl,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitDoWhileExpression(KtDoWhileExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitForExpression(KtForExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitIfExpression(KtIfExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitIsExpression(KtIsExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitKtElement(KtElement element,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitLabeledExpression(KtLabeledExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitLambdaExpression(KtLambdaExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitNamedFunction(KtNamedFunction function,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitObjectLiteralExpression(KtObjectLiteralExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitParenthesizedExpression(KtParenthesizedExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitProperty(KtProperty property,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitQualifiedExpression(KtQualifiedExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitReturnExpression(KtReturnExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitSimpleNameExpression(KtSimpleNameExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitStringTemplateExpression(KtStringTemplateExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitSuperExpression(KtSuperExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitThisExpression(KtThisExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitThrowExpression(KtThrowExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitTryExpression(KtTryExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitUnaryExpression(KtUnaryExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitWhenExpression(KtWhenExpression expression,
ExpressionTypingContext data)
|
KotlinTypeInfo |
visitWhileExpression(KtWhileExpression expression,
ExpressionTypingContext data)
|
| Methods inherited from class org.jetbrains.kotlin.psi.KtVisitor |
visitAnnotation, visitAnnotationEntry, visitAnnotationUseSiteTarget, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitCatchSection, visitClassBody, visitClassInitializer, visitClassOrObject, visitConstructorCalleeExpression, visitConstructorDelegationCall, visitDelegatedSuperTypeEntry, visitDestructuringDeclaration, visitDestructuringDeclarationEntry, visitDotQualifiedExpression, visitDoubleColonExpression, visitDynamicType, visitEnumEntry, visitEscapeStringTemplateEntry, visitExpression, visitExpressionWithLabel, visitFileAnnotationList, visitFinallySection, visitFunctionType, visitImportDirective, visitImportList, visitInitializerList, visitKtFile, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitNamedDeclaration, visitNullableType, visitObjectDeclaration, visitPackageDirective, visitParameter, visitParameterList, visitPostfixExpression, visitPrefixExpression, visitPrimaryConstructor, visitPropertyAccessor, visitPropertyDelegate, visitReferenceExpression, visitSafeQualifiedExpression, visitScript, visitScriptInitializer, visitSecondaryConstructor, visitSelfType, visitSimpleNameStringTemplateEntry, visitStringTemplateEntry, visitStringTemplateEntryWithExpression, visitSuperTypeCallEntry, visitSuperTypeEntry, visitSuperTypeList, visitSuperTypeListEntry, visitTypeAlias, visitTypeArgumentList, visitTypeConstraint, visitTypeConstraintList, visitTypeParameter, visitTypeParameterList, visitTypeProjection, visitTypeReference, 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, toString, wait, wait, wait |
typeInfoPerfCounter
public static final PerformanceCounter typeInfoPerfCounter
basic
protected final BasicExpressionTypingVisitor basic
functions
protected final FunctionsTypingVisitor functions
controlStructures
protected final ControlStructureTypingVisitor controlStructures
patterns
protected final PatternMatchingTypingVisitor patterns
declarationsCheckerBuilder
protected final DeclarationsCheckerBuilder declarationsCheckerBuilder
getStatementVisitor
protected abstract ExpressionTypingVisitorForStatements getStatementVisitor(@NotNull
ExpressionTypingContext context)
getComponents
@NotNull
public ExpressionTypingComponents getComponents()
checkInExpression
@NotNull
public KotlinTypeInfo checkInExpression(@NotNull
KtElement callElement,
@NotNull
KtSimpleNameExpression operationSign,
@NotNull
ValueArgument leftArgument,
@Nullable
KtExpression right,
@NotNull
ExpressionTypingContext context)
safeGetTypeInfo
@NotNull
public final KotlinTypeInfo safeGetTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context)
getTypeInfo
@NotNull
public final KotlinTypeInfo getTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context)
getTypeInfo
@NotNull
public final KotlinTypeInfo getTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context,
boolean isStatement)
createStatementVisitor
protected ExpressionTypingVisitorForStatements createStatementVisitor(ExpressionTypingContext context)
checkStatementType
public void checkStatementType(@NotNull
KtExpression expression,
ExpressionTypingContext context)
visitLambdaExpression
public KotlinTypeInfo visitLambdaExpression(@NotNull
KtLambdaExpression expression,
ExpressionTypingContext data)
- Overrides:
visitLambdaExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitNamedFunction
public KotlinTypeInfo visitNamedFunction(@NotNull
KtNamedFunction function,
ExpressionTypingContext data)
- Overrides:
visitNamedFunction in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitThrowExpression
public KotlinTypeInfo visitThrowExpression(@NotNull
KtThrowExpression expression,
ExpressionTypingContext data)
- Overrides:
visitThrowExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitReturnExpression
public KotlinTypeInfo visitReturnExpression(@NotNull
KtReturnExpression expression,
ExpressionTypingContext data)
- Overrides:
visitReturnExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitContinueExpression
public KotlinTypeInfo visitContinueExpression(@NotNull
KtContinueExpression expression,
ExpressionTypingContext data)
- Overrides:
visitContinueExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitIfExpression
public KotlinTypeInfo visitIfExpression(@NotNull
KtIfExpression expression,
ExpressionTypingContext data)
- Overrides:
visitIfExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitTryExpression
public KotlinTypeInfo visitTryExpression(@NotNull
KtTryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitTryExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitForExpression
public KotlinTypeInfo visitForExpression(@NotNull
KtForExpression expression,
ExpressionTypingContext data)
- Overrides:
visitForExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitWhileExpression
public KotlinTypeInfo visitWhileExpression(@NotNull
KtWhileExpression expression,
ExpressionTypingContext data)
- Overrides:
visitWhileExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitDoWhileExpression
public KotlinTypeInfo visitDoWhileExpression(@NotNull
KtDoWhileExpression expression,
ExpressionTypingContext data)
- Overrides:
visitDoWhileExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitBreakExpression
public KotlinTypeInfo visitBreakExpression(@NotNull
KtBreakExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBreakExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitIsExpression
public KotlinTypeInfo visitIsExpression(@NotNull
KtIsExpression expression,
ExpressionTypingContext data)
- Overrides:
visitIsExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitWhenExpression
public KotlinTypeInfo visitWhenExpression(@NotNull
KtWhenExpression expression,
ExpressionTypingContext data)
- Overrides:
visitWhenExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitSimpleNameExpression
public KotlinTypeInfo visitSimpleNameExpression(@NotNull
KtSimpleNameExpression expression,
ExpressionTypingContext data)
- Overrides:
visitSimpleNameExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitParenthesizedExpression
public KotlinTypeInfo visitParenthesizedExpression(@NotNull
KtParenthesizedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitParenthesizedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitConstantExpression
public KotlinTypeInfo visitConstantExpression(@NotNull
KtConstantExpression expression,
ExpressionTypingContext data)
- Overrides:
visitConstantExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitBinaryWithTypeRHSExpression
public KotlinTypeInfo visitBinaryWithTypeRHSExpression(@NotNull
KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext data)
- Overrides:
visitBinaryWithTypeRHSExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitThisExpression
public KotlinTypeInfo visitThisExpression(@NotNull
KtThisExpression expression,
ExpressionTypingContext data)
- Overrides:
visitThisExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitSuperExpression
public KotlinTypeInfo visitSuperExpression(@NotNull
KtSuperExpression expression,
ExpressionTypingContext data)
- Overrides:
visitSuperExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitBlockExpression
public KotlinTypeInfo visitBlockExpression(@NotNull
KtBlockExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBlockExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitClassLiteralExpression
public KotlinTypeInfo visitClassLiteralExpression(@NotNull
KtClassLiteralExpression expression,
ExpressionTypingContext data)
- Overrides:
visitClassLiteralExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitCallableReferenceExpression
public KotlinTypeInfo visitCallableReferenceExpression(@NotNull
KtCallableReferenceExpression expression,
ExpressionTypingContext data)
- Overrides:
visitCallableReferenceExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitObjectLiteralExpression
public KotlinTypeInfo visitObjectLiteralExpression(@NotNull
KtObjectLiteralExpression expression,
ExpressionTypingContext data)
- Overrides:
visitObjectLiteralExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitQualifiedExpression
public KotlinTypeInfo visitQualifiedExpression(@NotNull
KtQualifiedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitQualifiedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitCallExpression
public KotlinTypeInfo visitCallExpression(@NotNull
KtCallExpression expression,
ExpressionTypingContext data)
- Overrides:
visitCallExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitUnaryExpression
public KotlinTypeInfo visitUnaryExpression(@NotNull
KtUnaryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitUnaryExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitLabeledExpression
public KotlinTypeInfo visitLabeledExpression(@NotNull
KtLabeledExpression expression,
ExpressionTypingContext data)
- Overrides:
visitLabeledExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitBinaryExpression
public KotlinTypeInfo visitBinaryExpression(@NotNull
KtBinaryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBinaryExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitArrayAccessExpression
public KotlinTypeInfo visitArrayAccessExpression(@NotNull
KtArrayAccessExpression expression,
ExpressionTypingContext data)
- Overrides:
visitArrayAccessExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitDeclaration
public KotlinTypeInfo visitDeclaration(@NotNull
KtDeclaration dcl,
ExpressionTypingContext data)
- Overrides:
visitDeclaration in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitClass
public KotlinTypeInfo visitClass(@NotNull
KtClass klass,
ExpressionTypingContext data)
- Overrides:
visitClass in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitProperty
public KotlinTypeInfo visitProperty(@NotNull
KtProperty property,
ExpressionTypingContext data)
- Overrides:
visitProperty in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitStringTemplateExpression
public KotlinTypeInfo visitStringTemplateExpression(@NotNull
KtStringTemplateExpression expression,
ExpressionTypingContext data)
- Overrides:
visitStringTemplateExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitAnnotatedExpression
public KotlinTypeInfo visitAnnotatedExpression(@NotNull
KtAnnotatedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitAnnotatedExpression in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>
visitKtElement
public KotlinTypeInfo visitKtElement(@NotNull
KtElement element,
ExpressionTypingContext data)
- Overrides:
visitKtElement in class KtVisitor<KotlinTypeInfo,ExpressionTypingContext>