Class MethodCallExprContext
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<N>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.ExpressionContext<MethodCallExpr>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.MethodCallExprContext
-
- All Implemented Interfaces:
Context
public class MethodCallExprContext extends ExpressionContext<MethodCallExpr>
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description MethodCallExprContext(MethodCallExpr wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private ResolvedType
applyInferredTypes(ResolvedType type, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
private void
convertTypesParameters(java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters, java.util.Map<java.lang.String,ResolvedType> reducedResolvedTypesByTypeVariable)
private java.util.Set<ResolvedType>
findResolvedTypesByTypeVariable(java.lang.String typeVariableName, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> typeParameters)
private java.util.Map<java.lang.String,java.util.Set<ResolvedType>>
groupResolvedTypeByTypeVariable(java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> typeParameters)
private void
matchTypeParameters(ResolvedType expectedType, ResolvedType actualType, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)
private java.util.Map<java.lang.String,ResolvedType>
reduceResolvedTypesByTypeVariable(java.util.Map<java.lang.String,java.util.Set<ResolvedType>> typeParameters)
private ResolvedType
reduceResolvedTypesWithLub(java.util.Set<ResolvedType> resolvedTypes)
private MethodUsage
replaceTypeParameter(MethodUsage methodUsage, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)
private MethodUsage
resolveMethodTypeParameters(MethodUsage methodUsage, java.util.List<ResolvedType> actualParamTypes)
private MethodUsage
resolveMethodTypeParametersFromExplicitList(TypeSolver typeSolver, MethodUsage methodUsage)
java.util.Optional<ResolvedType>
solveGenericType(java.lang.String name)
Default to no generics available in this context, delegating solving to the parent context.SymbolReference<ResolvedMethodDeclaration>
solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)
We find the method declaration which is the best match for the given name and list of typeParametersValues.private java.util.Optional<MethodUsage>
solveMethodAsUsage(ResolvedReferenceType refType, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
private java.util.Optional<MethodUsage>
solveMethodAsUsage(ResolvedType type, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
private java.util.Optional<MethodUsage>
solveMethodAsUsage(ResolvedTypeVariable tp, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
java.util.Optional<MethodUsage>
solveMethodAsUsage(java.lang.String name, java.util.List<ResolvedType> argumentsTypes)
Similar to solveMethod but we return a MethodUsage.java.lang.String
toString()
private ResolvedType
usingParameterTypesFromScope(ResolvedType scope, ResolvedType type, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.ExpressionContext
solveSymbol, solveSymbolAsValue
-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
equals, findExposedPatternInParentContext, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, negatedTypePatternExprsExposedFromChildren, solveSymbolInParentContext, solveWith, solveWithAsValue, typePatternExprsDiscoveredInPattern, typePatternExprsExposedFromChildren
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.Context
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, parameterDeclarationInScope, parametersExposedToChild, solveConstructor, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbolAsValueInParentContext, solveType, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope, typePatternExprsExposedToChild
-
-
-
-
Constructor Detail
-
MethodCallExprContext
public MethodCallExprContext(MethodCallExpr wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
solveGenericType
public java.util.Optional<ResolvedType> solveGenericType(java.lang.String name)
Description copied from interface:Context
Default to no generics available in this context, delegating solving to the parent context. Contexts which have generics available to it will override this method. For example class and method declarations, and method calls.- Parameters:
name
- For example, solvingT
withinclass Foo<T> {}
or- Returns:
- The resolved generic type, if found.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
solveMethodAsUsage
public java.util.Optional<MethodUsage> solveMethodAsUsage(java.lang.String name, java.util.List<ResolvedType> argumentsTypes)
Description copied from class:AbstractJavaParserContext
Similar to solveMethod but we return a MethodUsage. A MethodUsage corresponds to a MethodDeclaration plus the resolved type variables.- Specified by:
solveMethodAsUsage
in interfaceContext
- Overrides:
solveMethodAsUsage
in classAbstractJavaParserContext<MethodCallExpr>
-
resolveMethodTypeParametersFromExplicitList
private MethodUsage resolveMethodTypeParametersFromExplicitList(TypeSolver typeSolver, MethodUsage methodUsage)
-
solveMethod
public SymbolReference<ResolvedMethodDeclaration> solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)
Description copied from interface:Context
We find the method declaration which is the best match for the given name and list of typeParametersValues.
-
solveMethodAsUsage
private java.util.Optional<MethodUsage> solveMethodAsUsage(ResolvedReferenceType refType, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
-
resolveMethodTypeParameters
private MethodUsage resolveMethodTypeParameters(MethodUsage methodUsage, java.util.List<ResolvedType> actualParamTypes)
-
replaceTypeParameter
private MethodUsage replaceTypeParameter(MethodUsage methodUsage, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)
-
convertTypesParameters
private void convertTypesParameters(java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters, java.util.Map<java.lang.String,ResolvedType> reducedResolvedTypesByTypeVariable)
-
groupResolvedTypeByTypeVariable
private java.util.Map<java.lang.String,java.util.Set<ResolvedType>> groupResolvedTypeByTypeVariable(java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> typeParameters)
-
findResolvedTypesByTypeVariable
private java.util.Set<ResolvedType> findResolvedTypesByTypeVariable(java.lang.String typeVariableName, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> typeParameters)
-
reduceResolvedTypesByTypeVariable
private java.util.Map<java.lang.String,ResolvedType> reduceResolvedTypesByTypeVariable(java.util.Map<java.lang.String,java.util.Set<ResolvedType>> typeParameters)
-
reduceResolvedTypesWithLub
private ResolvedType reduceResolvedTypesWithLub(java.util.Set<ResolvedType> resolvedTypes)
-
matchTypeParameters
private void matchTypeParameters(ResolvedType expectedType, ResolvedType actualType, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)
-
solveMethodAsUsage
private java.util.Optional<MethodUsage> solveMethodAsUsage(ResolvedTypeVariable tp, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
-
solveMethodAsUsage
private java.util.Optional<MethodUsage> solveMethodAsUsage(ResolvedType type, java.lang.String name, java.util.List<ResolvedType> argumentsTypes, Context invokationContext)
-
usingParameterTypesFromScope
private ResolvedType usingParameterTypesFromScope(ResolvedType scope, ResolvedType type, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
-
applyInferredTypes
private ResolvedType applyInferredTypes(ResolvedType type, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
-
-