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 ResolvedTypeapplyInferredTypes(ResolvedType type, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)private voidconvertTypesParameters(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 voidmatchTypeParameters(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 ResolvedTypereduceResolvedTypesWithLub(java.util.Set<ResolvedType> resolvedTypes)private MethodUsagereplaceTypeParameter(MethodUsage methodUsage, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)private MethodUsageresolveMethodTypeParameters(MethodUsage methodUsage, java.util.List<ResolvedType> actualParamTypes)private MethodUsageresolveMethodTypeParametersFromExplicitList(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.StringtoString()private ResolvedTypeusingParameterTypesFromScope(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:ContextDefault 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, solvingTwithinclass Foo<T> {}or- Returns:
- The resolved generic type, if found.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
solveMethodAsUsage
public java.util.Optional<MethodUsage> solveMethodAsUsage(java.lang.String name, java.util.List<ResolvedType> argumentsTypes)
Description copied from class:AbstractJavaParserContextSimilar to solveMethod but we return a MethodUsage. A MethodUsage corresponds to a MethodDeclaration plus the resolved type variables.- Specified by:
solveMethodAsUsagein interfaceContext- Overrides:
solveMethodAsUsagein 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:ContextWe 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)
-
-