org.jetbrains.kotlin.resolve.calls
Class ArgumentTypeResolver
java.lang.Object
org.jetbrains.kotlin.resolve.calls.ArgumentTypeResolver
public class ArgumentTypeResolver
- extends java.lang.Object
|
Method Summary |
void |
analyzeArgumentsAndRecordTypes(CallResolutionContext<?> context)
Visits function call arguments and determines data flow information changes |
void |
checkTypesForFunctionArgumentsWithNoCallee(CallResolutionContext<?> context)
|
void |
checkTypesWithNoCallee(CallResolutionContext<?> context)
|
void |
checkTypesWithNoCallee(CallResolutionContext<?> context,
ResolveArgumentsMode resolveFunctionArgumentBodies)
|
KotlinTypeInfo |
getArgumentTypeInfo(KtExpression expression,
CallResolutionContext<?> context,
ResolveArgumentsMode resolveArgumentsMode)
|
static KtCallableReferenceExpression |
getCallableReferenceExpressionIfAny(KtExpression expression,
CallResolutionContext<?> context)
|
KotlinTypeInfo |
getCallableReferenceTypeInfo(KtExpression expression,
KtCallableReferenceExpression callableReferenceExpression,
CallResolutionContext<?> context,
ResolveArgumentsMode resolveArgumentsMode)
|
static KtFunction |
getFunctionLiteralArgument(KtExpression expression,
ResolutionContext context)
|
static KtFunction |
getFunctionLiteralArgumentIfAny(KtExpression expression,
ResolutionContext context)
|
KotlinTypeInfo |
getFunctionLiteralTypeInfo(KtExpression expression,
KtFunction functionLiteral,
CallResolutionContext<?> context,
ResolveArgumentsMode resolveArgumentsMode)
|
KotlinType |
getShapeTypeOfCallableReference(KtCallableReferenceExpression callableReferenceExpression,
CallResolutionContext<?> context,
boolean expectedTypeIsUnknown)
|
KotlinType |
getShapeTypeOfFunctionLiteral(KtFunction function,
LexicalScope scope,
BindingTrace trace,
boolean expectedTypeIsUnknown)
|
static boolean |
isFunctionLiteralArgument(KtExpression expression,
ResolutionContext context)
|
static boolean |
isSubtypeOfForArgumentType(KotlinType actualType,
KotlinType expectedType)
|
KotlinType |
resolveTypeRefWithDefault(KtTypeReference returnTypeRef,
LexicalScope scope,
BindingTrace trace,
KotlinType defaultValue)
|
KotlinType |
updateResultArgumentTypeIfNotDenotable(ResolutionContext context,
KtExpression expression)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ArgumentTypeResolver
public ArgumentTypeResolver(@NotNull
TypeResolver typeResolver,
@NotNull
CallResolver callResolver,
@NotNull
ExpressionTypingServices expressionTypingServices,
@NotNull
KotlinBuiltIns builtIns,
@NotNull
ReflectionTypes reflectionTypes,
@NotNull
ConstantExpressionEvaluator constantExpressionEvaluator,
@NotNull
FunctionPlaceholders functionPlaceholders)
isSubtypeOfForArgumentType
public static boolean isSubtypeOfForArgumentType(@NotNull
KotlinType actualType,
@NotNull
KotlinType expectedType)
checkTypesWithNoCallee
public void checkTypesWithNoCallee(@NotNull
CallResolutionContext<?> context)
checkTypesWithNoCallee
public void checkTypesWithNoCallee(@NotNull
CallResolutionContext<?> context,
@NotNull
ResolveArgumentsMode resolveFunctionArgumentBodies)
checkTypesForFunctionArgumentsWithNoCallee
public void checkTypesForFunctionArgumentsWithNoCallee(@NotNull
CallResolutionContext<?> context)
isFunctionLiteralArgument
public static boolean isFunctionLiteralArgument(@NotNull
KtExpression expression,
@NotNull
ResolutionContext context)
getFunctionLiteralArgument
@NotNull
public static KtFunction getFunctionLiteralArgument(@NotNull
KtExpression expression,
@NotNull
ResolutionContext context)
getFunctionLiteralArgumentIfAny
@Nullable
public static KtFunction getFunctionLiteralArgumentIfAny(@NotNull
KtExpression expression,
@NotNull
ResolutionContext context)
getCallableReferenceExpressionIfAny
@Nullable
public static KtCallableReferenceExpression getCallableReferenceExpressionIfAny(@NotNull
KtExpression expression,
@NotNull
CallResolutionContext<?> context)
getArgumentTypeInfo
@NotNull
public KotlinTypeInfo getArgumentTypeInfo(@Nullable
KtExpression expression,
@NotNull
CallResolutionContext<?> context,
@NotNull
ResolveArgumentsMode resolveArgumentsMode)
getCallableReferenceTypeInfo
@NotNull
public KotlinTypeInfo getCallableReferenceTypeInfo(@NotNull
KtExpression expression,
@NotNull
KtCallableReferenceExpression callableReferenceExpression,
@NotNull
CallResolutionContext<?> context,
@NotNull
ResolveArgumentsMode resolveArgumentsMode)
getShapeTypeOfCallableReference
@Nullable
public KotlinType getShapeTypeOfCallableReference(@NotNull
KtCallableReferenceExpression callableReferenceExpression,
@NotNull
CallResolutionContext<?> context,
boolean expectedTypeIsUnknown)
getFunctionLiteralTypeInfo
@NotNull
public KotlinTypeInfo getFunctionLiteralTypeInfo(@NotNull
KtExpression expression,
@NotNull
KtFunction functionLiteral,
@NotNull
CallResolutionContext<?> context,
@NotNull
ResolveArgumentsMode resolveArgumentsMode)
getShapeTypeOfFunctionLiteral
@Nullable
public KotlinType getShapeTypeOfFunctionLiteral(@NotNull
KtFunction function,
@NotNull
LexicalScope scope,
@NotNull
BindingTrace trace,
boolean expectedTypeIsUnknown)
resolveTypeRefWithDefault
@Nullable
public KotlinType resolveTypeRefWithDefault(@Nullable
KtTypeReference returnTypeRef,
@NotNull
LexicalScope scope,
@NotNull
BindingTrace trace,
@Nullable
KotlinType defaultValue)
analyzeArgumentsAndRecordTypes
public void analyzeArgumentsAndRecordTypes(@NotNull
CallResolutionContext<?> context)
- Visits function call arguments and determines data flow information changes
updateResultArgumentTypeIfNotDenotable
@Nullable
public KotlinType updateResultArgumentTypeIfNotDenotable(@NotNull
ResolutionContext context,
@NotNull
KtExpression expression)