org.jetbrains.jet.lang.types.expressions
Class BasicExpressionTypingVisitor
java.lang.Object
com.intellij.psi.PsiElementVisitor
org.jetbrains.jet.lang.psi.JetVisitor<JetTypeInfo,ExpressionTypingContext>
org.jetbrains.jet.lang.types.expressions.BasicExpressionTypingVisitor
public class BasicExpressionTypingVisitor
- extends JetVisitor<JetTypeInfo,ExpressionTypingContext>
|
Field Summary |
protected org.jetbrains.jet.lang.types.expressions.ExpressionTypingInternals |
facade
|
|
Method Summary |
JetTypeInfo |
checkInExpression(JetElement callElement,
JetSimpleNameExpression operationSign,
JetExpression left,
JetExpression right,
ExpressionTypingContext context)
|
static void |
checkLValue(BindingTrace trace,
JetExpression expression)
|
JetTypeInfo |
getTypeInfoForBinaryCall(JetScope scope,
Name name,
ExpressionTypingContext contextWithOldScope,
JetBinaryExpression binaryExpression)
|
static boolean |
isCastErased(JetType supertype,
JetType subtype,
JetTypeChecker typeChecker)
Check if assignment from supertype to subtype is erased. |
JetTypeInfo |
visitAnnotatedExpression(JetAnnotatedExpression expression,
ExpressionTypingContext data)
|
JetTypeInfo |
visitArrayAccessExpression(JetArrayAccessExpression expression,
ExpressionTypingContext context)
|
protected JetType |
visitAssignment(JetBinaryExpression expression,
ExpressionTypingContext context)
|
protected JetType |
visitAssignmentOperation(JetBinaryExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitBinaryExpression(JetBinaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
|
JetTypeInfo |
visitBinaryWithTypeRHSExpression(JetBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitBlockExpression(JetBlockExpression expression,
ExpressionTypingContext context)
|
static JetTypeInfo |
visitBlockExpression(JetBlockExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
JetTypeInfo |
visitCallableReferenceExpression(JetCallableReferenceExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitCallExpression(JetCallExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitConstantExpression(JetConstantExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitDeclaration(JetDeclaration dcl,
ExpressionTypingContext context)
|
JetTypeInfo |
visitJetElement(JetElement element,
ExpressionTypingContext context)
|
JetTypeInfo |
visitParenthesizedExpression(JetParenthesizedExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitParenthesizedExpression(JetParenthesizedExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
JetTypeInfo |
visitQualifiedExpression(JetQualifiedExpression expression,
ExpressionTypingContext context)
|
JetTypeInfo |
visitRootNamespaceExpression(JetRootNamespaceExpression 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 context)
|
JetTypeInfo |
visitUnaryExpression(JetUnaryExpression expression,
ExpressionTypingContext context,
boolean isStatement)
|
| Methods inherited from class org.jetbrains.jet.lang.psi.JetVisitor |
visitAnnotation, visitAnnotationEntry, visitAnonymousInitializer, visitArgument, visitBlockStringTemplateEntry, visitBreakExpression, visitCatchSection, visitClass, visitClassBody, visitClassObject, visitContinueExpression, visitDelegationByExpressionSpecifier, visitDelegationSpecifier, visitDelegationSpecifierList, visitDelegationToSuperCallSpecifier, visitDelegationToSuperClassSpecifier, visitDelegationToThisCall, visitDotQualifiedExpression, visitDoWhileExpression, visitEnumEntry, visitEscapeStringTemplateEntry, visitExpression, visitFinallySection, visitForExpression, visitFunctionLiteralExpression, visitFunctionType, visitIdeTemplate, visitIfExpression, visitImportDirective, visitInitializerList, visitIsExpression, visitJetFile, visitLabelQualifiedExpression, visitLiteralStringTemplateEntry, visitLoopExpression, visitModifierList, visitMultiDeclaration, visitMultiDeclarationEntry, visitNamedDeclaration, visitNamedFunction, visitNullableType, visitObjectDeclaration, visitObjectDeclarationName, visitObjectLiteralExpression, visitParameter, visitParameterList, visitPostfixExpression, visitPrefixExpression, visitProperty, visitPropertyAccessor, visitPropertyDelegate, visitReferenceExpression, visitReturnExpression, visitSafeQualifiedExpression, visitScript, visitSelfType, visitSimpleNameStringTemplateEntry, visitStringTemplateEntry, visitStringTemplateEntryWithExpression, visitThrowExpression, visitTryExpression, visitTypeArgumentList, visitTypeConstraint, visitTypeConstraintList, visitTypedef, visitTypeParameter, visitTypeParameterList, visitTypeProjection, visitTypeReference, visitUserType, visitValueArgumentList, visitWhenConditionExpression, visitWhenConditionInRange, visitWhenConditionIsPattern, 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 |
facade
protected final org.jetbrains.jet.lang.types.expressions.ExpressionTypingInternals facade
BasicExpressionTypingVisitor
protected BasicExpressionTypingVisitor(@NotNull
org.jetbrains.jet.lang.types.expressions.ExpressionTypingInternals facade)
visitSimpleNameExpression
public JetTypeInfo visitSimpleNameExpression(JetSimpleNameExpression expression,
ExpressionTypingContext context)
- Overrides:
visitSimpleNameExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitParenthesizedExpression
public JetTypeInfo visitParenthesizedExpression(JetParenthesizedExpression expression,
ExpressionTypingContext context)
- Overrides:
visitParenthesizedExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitParenthesizedExpression
public JetTypeInfo visitParenthesizedExpression(JetParenthesizedExpression expression,
ExpressionTypingContext context,
boolean isStatement)
visitConstantExpression
public JetTypeInfo visitConstantExpression(JetConstantExpression expression,
ExpressionTypingContext context)
- Overrides:
visitConstantExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitBinaryWithTypeRHSExpression
public JetTypeInfo visitBinaryWithTypeRHSExpression(JetBinaryExpressionWithTypeRHS expression,
ExpressionTypingContext context)
- Overrides:
visitBinaryWithTypeRHSExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
isCastErased
public static boolean isCastErased(@NotNull
JetType supertype,
@NotNull
JetType subtype,
@NotNull
JetTypeChecker typeChecker)
- Check if assignment from supertype to subtype is erased.
It is an error in "is" statement and warning in "as".
visitThisExpression
public JetTypeInfo visitThisExpression(JetThisExpression expression,
ExpressionTypingContext context)
- Overrides:
visitThisExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitSuperExpression
public JetTypeInfo visitSuperExpression(JetSuperExpression expression,
ExpressionTypingContext context)
- Overrides:
visitSuperExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitBlockExpression
public JetTypeInfo visitBlockExpression(JetBlockExpression expression,
ExpressionTypingContext context)
- Overrides:
visitBlockExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitBlockExpression
public static JetTypeInfo visitBlockExpression(JetBlockExpression expression,
ExpressionTypingContext context,
boolean isStatement)
visitCallableReferenceExpression
public JetTypeInfo visitCallableReferenceExpression(JetCallableReferenceExpression expression,
ExpressionTypingContext context)
- Overrides:
visitCallableReferenceExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitQualifiedExpression
public JetTypeInfo visitQualifiedExpression(JetQualifiedExpression expression,
ExpressionTypingContext context)
- Overrides:
visitQualifiedExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitCallExpression
public JetTypeInfo visitCallExpression(JetCallExpression expression,
ExpressionTypingContext context)
- Overrides:
visitCallExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitUnaryExpression
public JetTypeInfo visitUnaryExpression(JetUnaryExpression expression,
ExpressionTypingContext context)
- Overrides:
visitUnaryExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitUnaryExpression
public JetTypeInfo visitUnaryExpression(JetUnaryExpression expression,
ExpressionTypingContext context,
boolean isStatement)
checkLValue
public static void checkLValue(@NotNull
BindingTrace trace,
@NotNull
JetExpression expression)
visitBinaryExpression
public JetTypeInfo visitBinaryExpression(JetBinaryExpression expression,
ExpressionTypingContext contextWithExpectedType)
- Overrides:
visitBinaryExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
checkInExpression
@NotNull
public JetTypeInfo checkInExpression(JetElement callElement,
@NotNull
JetSimpleNameExpression operationSign,
@Nullable
JetExpression left,
@NotNull
JetExpression right,
ExpressionTypingContext context)
visitAssignmentOperation
protected JetType visitAssignmentOperation(JetBinaryExpression expression,
ExpressionTypingContext context)
visitAssignment
protected JetType visitAssignment(JetBinaryExpression expression,
ExpressionTypingContext context)
visitArrayAccessExpression
public JetTypeInfo visitArrayAccessExpression(JetArrayAccessExpression expression,
ExpressionTypingContext context)
- Overrides:
visitArrayAccessExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
getTypeInfoForBinaryCall
@NotNull
public JetTypeInfo getTypeInfoForBinaryCall(JetScope scope,
Name name,
ExpressionTypingContext contextWithOldScope,
JetBinaryExpression binaryExpression)
visitDeclaration
public JetTypeInfo visitDeclaration(JetDeclaration dcl,
ExpressionTypingContext context)
- Overrides:
visitDeclaration in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitRootNamespaceExpression
public JetTypeInfo visitRootNamespaceExpression(JetRootNamespaceExpression expression,
ExpressionTypingContext context)
- Overrides:
visitRootNamespaceExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitStringTemplateExpression
public JetTypeInfo visitStringTemplateExpression(JetStringTemplateExpression expression,
ExpressionTypingContext contextWithExpectedType)
- Overrides:
visitStringTemplateExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitAnnotatedExpression
public JetTypeInfo visitAnnotatedExpression(JetAnnotatedExpression expression,
ExpressionTypingContext data)
- Overrides:
visitAnnotatedExpression in class JetVisitor<JetTypeInfo,ExpressionTypingContext>
visitJetElement
public JetTypeInfo visitJetElement(JetElement element,
ExpressionTypingContext context)
- Overrides:
visitJetElement in class JetVisitor<JetTypeInfo,ExpressionTypingContext>