MethodResolutionLogic
Author
Federico Tomassetti
Functions
Link copied to clipboard
open fun findMostApplicable(methods: List<ResolvedMethodDeclaration>, name: String, argumentsTypes: List<ResolvedType>, typeSolver: TypeSolver, invocationContext: ResolvedReferenceTypeDeclaration): SymbolReference<ResolvedMethodDeclaration>
open fun findMostApplicable(methods: List<ResolvedMethodDeclaration>, name: String, argumentsTypes: List<ResolvedType>, typeSolver: TypeSolver, wildcardTolerance: Boolean, invocationContext: ResolvedReferenceTypeDeclaration): SymbolReference<ResolvedMethodDeclaration>
Link copied to clipboard
open fun findMostApplicableUsage(methods: List<MethodUsage>, name: String, argumentsTypes: List<ResolvedType>, typeSolver: TypeSolver): Optional<MethodUsage>
Link copied to clipboard
open fun getMethodsExplicitAndVariadicParameterType(method: ResolvedMethodLikeDeclaration, i: Int): ResolvedType
Link copied to clipboard
Link copied to clipboard
open fun inferTypes(source: ResolvedType, target: ResolvedType, mappings: Map<ResolvedTypeParameterDeclaration, ResolvedType>)
Link copied to clipboard
open fun isApplicable(methodUsage: MethodUsage, needleName: String, needleParameterTypes: List<ResolvedType>, typeSolver: TypeSolver): Boolean
Checks if a method usage is applicable for a given method name and parameter types.
open fun isApplicable(method: ResolvedMethodDeclaration, name: String, argumentsTypes: List<ResolvedType>, typeSolver: TypeSolver): Boolean
Link copied to clipboard
open fun isAssignableMatchTypeParameters(expected: ResolvedReferenceType, actual: ResolvedReferenceType, matchedParameters: Map<String, ResolvedType>): Boolean
open fun isAssignableMatchTypeParameters(expected: ResolvedType, actual: ResolvedType, matchedParameters: Map<String, ResolvedType>): Boolean
Link copied to clipboard
open fun replaceTypeParam(type: ResolvedType, tp: ResolvedTypeParameterDeclaration, typeSolver: TypeSolver): ResolvedType
Link copied to clipboard
open fun solveMethodInType(typeDeclaration: ResolvedTypeDeclaration, name: String, argumentsTypes: List<ResolvedType>, invocationContext: ResolvedReferenceTypeDeclaration): SymbolReference<ResolvedMethodDeclaration>
open fun solveMethodInType(typeDeclaration: ResolvedTypeDeclaration, name: String, argumentsTypes: List<ResolvedType>, staticOnly: Boolean, invocationContext: ResolvedReferenceTypeDeclaration): SymbolReference<ResolvedMethodDeclaration>