Class MethodCallExprContext
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<MethodCallExpr>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.MethodCallExprContext
-
- All Implemented Interfaces:
Context
public class MethodCallExprContext extends AbstractJavaParserContext<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 voidinferTypes(ResolvedType source, ResolvedType target, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> mappings)private voidmatchTypeParameters(ResolvedType expectedType, ResolvedType actualType, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)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.util.Optional<Value>solveSymbolAsValue(java.lang.String name)Used where a symbol is being used (e.g.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.AbstractJavaParserContext
equals, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, isQualifiedName, solveSymbolInParentContext, solveWith, solveWithAsValue
-
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, negatedPatternExprsExposedFromChildren, parameterDeclarationInScope, parametersExposedToChild, patternExprInScope, patternExprsExposedFromChildren, patternExprsExposedToChild, solveConstructor, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbol, solveSymbolAsValueInParentContext, solveType, solveType, solveTypeInParentContext, solveTypeInParentContext
-
-
-
-
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)
-
solveSymbolAsValue
public java.util.Optional<Value> solveSymbolAsValue(java.lang.String name)
Description copied from interface:ContextUsed where a symbol is being used (e.g. solvingxwhen used as an argumentdoubleThis(x), or calculationreturn x * 2;).- Parameters:
name- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbol()
-
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)
-
inferTypes
private void inferTypes(ResolvedType source, ResolvedType target, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> mappings)
-
resolveMethodTypeParameters
private MethodUsage resolveMethodTypeParameters(MethodUsage methodUsage, java.util.List<ResolvedType> actualParamTypes)
-
replaceTypeParameter
private MethodUsage replaceTypeParameter(MethodUsage methodUsage, java.util.Map<ResolvedTypeParameterDeclaration,ResolvedType> matchedTypeParameters)
-
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)
-
-