org.jetbrains.kotlin.types.expressions
Class ExpressionTypingVisitorDispatcher
java.lang.Object
com.intellij.psi.PsiElementVisitor
org.jetbrains.kotlin.psi.KtVisitor<JetTypeInfo,ExpressionTypingContext>
org.jetbrains.kotlin.types.expressions.ExpressionTypingVisitorDispatcher
- Direct Known Subclasses:
- ExpressionTypingVisitorDispatcher.ForBlock, ExpressionTypingVisitorDispatcher.ForDeclarations
public abstract class ExpressionTypingVisitorDispatcher
- extends KtVisitor<JetTypeInfo,ExpressionTypingContext>
| Fields inherited from class com.intellij.psi.PsiElementVisitor |
EMPTY_VISITOR |
|
Method Summary |
JetTypeInfo |
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)
|
JetTypeInfo |
getTypeInfo(KtExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
getTypeInfo(KtExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
JetTypeInfo |
safeGetTypeInfo(KtExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitAnnotatedExpression(KtAnnotatedExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitArrayAccessExpression(KtArrayAccessExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitBinaryExpression(KtBinaryExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitBinaryWithTypeRHSExpression(KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitBlockExpression(KtBlockExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitBreakExpression(KtBreakExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitCallableReferenceExpression(KtCallableReferenceExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitCallExpression(KtCallExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitClassLiteralExpression(KtClassLiteralExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitConstantExpression(KtConstantExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitContinueExpression(KtContinueExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitDeclaration(KtDeclaration dcl,
ExpressionTypingContext data)
|
JetTypeInfo |
visitDoWhileExpression(KtDoWhileExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitForExpression(KtForExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitFunctionLiteralExpression(KtFunctionLiteralExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitIfExpression(KtIfExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitIsExpression(KtIsExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitJetElement(KtElement element,
ExpressionTypingContext data)
|
JetTypeInfo |
visitLabeledExpression(KtLabeledExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitNamedFunction(KtNamedFunction function,
ExpressionTypingContext data)
|
JetTypeInfo |
visitObjectLiteralExpression(KtObjectLiteralExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitParenthesizedExpression(KtParenthesizedExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitQualifiedExpression(KtQualifiedExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitReturnExpression(KtReturnExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitRootPackageExpression(KtRootPackageExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitSimpleNameExpression(KtSimpleNameExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitStringTemplateExpression(KtStringTemplateExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitSuperExpression(KtSuperExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitThisExpression(KtThisExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitThrowExpression(KtThrowExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitTryExpression(KtTryExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitUnaryExpression(KtUnaryExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitWhenExpression(KtWhenExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitWhileExpression(KtWhileExpression expression,
ExpressionTypingContext data)
|
| Methods inherited from class org.jetbrains.kotlin.psi.KtVisitor |
visitAnnotation, visitAnnotationEntry, visitAnnotationUseSiteTarget, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitCatchSection, visitClass, visitClassBody, visitClassOrObject, visitConstructorCalleeExpression, visitConstructorDelegationCall, visitDelegationByExpressionSpecifier, visitDelegationSpecifier, visitDelegationSpecifierList, visitDelegationToSuperCallSpecifier, visitDelegationToSuperClassSpecifier, visitDotQualifiedExpression, visitDoubleColonExpression, visitDynamicType, visitEnumEntry, visitEscapeStringTemplateEntry, visitExpression, visitExpressionWithLabel, visitFileAnnotationList, visitFinallySection, visitFunctionType, visitImportDirective, visitImportList, visitInitializerList, visitJetFile, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitMultiDeclaration, visitMultiDeclarationEntry, visitNamedDeclaration, visitNullableType, visitObjectDeclaration, visitObjectDeclarationName, visitPackageDirective, visitParameter, visitParameterList, visitPostfixExpression, visitPrefixExpression, visitPrimaryConstructor, visitProperty, visitPropertyAccessor, visitPropertyDelegate, visitReferenceExpression, visitSafeQualifiedExpression, visitScript, visitSecondaryConstructor, visitSelfType, visitSimpleNameStringTemplateEntry, visitStringTemplateEntry, visitStringTemplateEntryWithExpression, visitTypeArgumentList, visitTypeConstraint, visitTypeConstraintList, visitTypedef, 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
getStatementVisitor
protected abstract ExpressionTypingVisitorForStatements getStatementVisitor(@NotNull
ExpressionTypingContext context)
getComponents
@NotNull
public ExpressionTypingComponents getComponents()
checkInExpression
@NotNull
public JetTypeInfo checkInExpression(@NotNull
KtElement callElement,
@NotNull
KtSimpleNameExpression operationSign,
@NotNull
ValueArgument leftArgument,
@Nullable
KtExpression right,
@NotNull
ExpressionTypingContext context)
safeGetTypeInfo
@NotNull
public final JetTypeInfo safeGetTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context)
getTypeInfo
@NotNull
public final JetTypeInfo getTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context)
getTypeInfo
@NotNull
public final JetTypeInfo getTypeInfo(@NotNull
KtExpression expression,
ExpressionTypingContext context,
boolean isStatement)
createStatementVisitor
protected ExpressionTypingVisitorForStatements createStatementVisitor(ExpressionTypingContext context)
checkStatementType
public void checkStatementType(@NotNull
KtExpression expression,
ExpressionTypingContext context)
visitFunctionLiteralExpression
public JetTypeInfo visitFunctionLiteralExpression(@NotNull
KtFunctionLiteralExpression expression,
ExpressionTypingContext data)
- Overrides:
visitFunctionLiteralExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitNamedFunction
public JetTypeInfo visitNamedFunction(@NotNull
KtNamedFunction function,
ExpressionTypingContext data)
- Overrides:
visitNamedFunction in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitThrowExpression
public JetTypeInfo visitThrowExpression(@NotNull
KtThrowExpression expression,
ExpressionTypingContext data)
- Overrides:
visitThrowExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitReturnExpression
public JetTypeInfo visitReturnExpression(@NotNull
KtReturnExpression expression,
ExpressionTypingContext data)
- Overrides:
visitReturnExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitContinueExpression
public JetTypeInfo visitContinueExpression(@NotNull
KtContinueExpression expression,
ExpressionTypingContext data)
- Overrides:
visitContinueExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitIfExpression
public JetTypeInfo visitIfExpression(@NotNull
KtIfExpression expression,
ExpressionTypingContext data)
- Overrides:
visitIfExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitTryExpression
public JetTypeInfo visitTryExpression(@NotNull
KtTryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitTryExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitForExpression
public JetTypeInfo visitForExpression(@NotNull
KtForExpression expression,
ExpressionTypingContext data)
- Overrides:
visitForExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitWhileExpression
public JetTypeInfo visitWhileExpression(@NotNull
KtWhileExpression expression,
ExpressionTypingContext data)
- Overrides:
visitWhileExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitDoWhileExpression
public JetTypeInfo visitDoWhileExpression(@NotNull
KtDoWhileExpression expression,
ExpressionTypingContext data)
- Overrides:
visitDoWhileExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitBreakExpression
public JetTypeInfo visitBreakExpression(@NotNull
KtBreakExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBreakExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitIsExpression
public JetTypeInfo visitIsExpression(@NotNull
KtIsExpression expression,
ExpressionTypingContext data)
- Overrides:
visitIsExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitWhenExpression
public JetTypeInfo visitWhenExpression(@NotNull
KtWhenExpression expression,
ExpressionTypingContext data)
- Overrides:
visitWhenExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitSimpleNameExpression
public JetTypeInfo visitSimpleNameExpression(@NotNull
KtSimpleNameExpression expression,
ExpressionTypingContext data)
- Overrides:
visitSimpleNameExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitParenthesizedExpression
public JetTypeInfo visitParenthesizedExpression(@NotNull
KtParenthesizedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitParenthesizedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitConstantExpression
public JetTypeInfo visitConstantExpression(@NotNull
KtConstantExpression expression,
ExpressionTypingContext data)
- Overrides:
visitConstantExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitBinaryWithTypeRHSExpression
public JetTypeInfo visitBinaryWithTypeRHSExpression(@NotNull
KtBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext data)
- Overrides:
visitBinaryWithTypeRHSExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitThisExpression
public JetTypeInfo visitThisExpression(@NotNull
KtThisExpression expression,
ExpressionTypingContext data)
- Overrides:
visitThisExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitSuperExpression
public JetTypeInfo visitSuperExpression(@NotNull
KtSuperExpression expression,
ExpressionTypingContext data)
- Overrides:
visitSuperExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitBlockExpression
public JetTypeInfo visitBlockExpression(@NotNull
KtBlockExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBlockExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitClassLiteralExpression
public JetTypeInfo visitClassLiteralExpression(@NotNull
KtClassLiteralExpression expression,
ExpressionTypingContext data)
- Overrides:
visitClassLiteralExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitCallableReferenceExpression
public JetTypeInfo visitCallableReferenceExpression(@NotNull
KtCallableReferenceExpression expression,
ExpressionTypingContext data)
- Overrides:
visitCallableReferenceExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitObjectLiteralExpression
public JetTypeInfo visitObjectLiteralExpression(@NotNull
KtObjectLiteralExpression expression,
ExpressionTypingContext data)
- Overrides:
visitObjectLiteralExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitQualifiedExpression
public JetTypeInfo visitQualifiedExpression(@NotNull
KtQualifiedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitQualifiedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitCallExpression
public JetTypeInfo visitCallExpression(@NotNull
KtCallExpression expression,
ExpressionTypingContext data)
- Overrides:
visitCallExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitUnaryExpression
public JetTypeInfo visitUnaryExpression(@NotNull
KtUnaryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitUnaryExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitLabeledExpression
public JetTypeInfo visitLabeledExpression(@NotNull
KtLabeledExpression expression,
ExpressionTypingContext data)
- Overrides:
visitLabeledExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitBinaryExpression
public JetTypeInfo visitBinaryExpression(@NotNull
KtBinaryExpression expression,
ExpressionTypingContext data)
- Overrides:
visitBinaryExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitArrayAccessExpression
public JetTypeInfo visitArrayAccessExpression(@NotNull
KtArrayAccessExpression expression,
ExpressionTypingContext data)
- Overrides:
visitArrayAccessExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitDeclaration
public JetTypeInfo visitDeclaration(@NotNull
KtDeclaration dcl,
ExpressionTypingContext data)
- Overrides:
visitDeclaration in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitRootPackageExpression
public JetTypeInfo visitRootPackageExpression(@NotNull
KtRootPackageExpression expression,
ExpressionTypingContext data)
- Overrides:
visitRootPackageExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitStringTemplateExpression
public JetTypeInfo visitStringTemplateExpression(@NotNull
KtStringTemplateExpression expression,
ExpressionTypingContext data)
- Overrides:
visitStringTemplateExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitAnnotatedExpression
public JetTypeInfo visitAnnotatedExpression(@NotNull
KtAnnotatedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitAnnotatedExpression in class KtVisitor<JetTypeInfo,ExpressionTypingContext>
visitJetElement
public JetTypeInfo visitJetElement(@NotNull
KtElement element,
ExpressionTypingContext data)
- Overrides:
visitJetElement in class KtVisitor<JetTypeInfo,ExpressionTypingContext>