Class AbstractMethodLikeDeclarationContext<T extends Node & NodeWithParameters<T> & NodeWithTypeParameters<T>>
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<T>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractMethodLikeDeclarationContext<T>
-
- All Implemented Interfaces:
Context
- Direct Known Subclasses:
ConstructorContext
,MethodContext
public abstract class AbstractMethodLikeDeclarationContext<T extends Node & NodeWithParameters<T> & NodeWithTypeParameters<T>> extends AbstractJavaParserContext<T>
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description AbstractMethodLikeDeclarationContext(T wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.SymbolReference<? extends ResolvedValueDeclaration>
solveSymbol(java.lang.String name)
Used where a symbol is being used (e.g.java.util.Optional<Value>
solveSymbolAsValue(java.lang.String name)
Used where a symbol is being used (e.g.SymbolReference<ResolvedTypeDeclaration>
solveType(java.lang.String name, java.util.List<ResolvedType> typeArguments)
Method used to solve a name with an expected list of type arguments.-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
equals, findExposedPatternInParentContext, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, negatedTypePatternExprsExposedFromChildren, solveMethodAsUsage, solveSymbolInParentContext, solveWith, solveWithAsValue, typePatternExprsDiscoveredInPattern, typePatternExprsExposedFromChildren
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.Context
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, parameterDeclarationInScope, parametersExposedToChild, solveConstructor, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbolAsValueInParentContext, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope, typePatternExprsExposedToChild
-
-
-
-
Constructor Detail
-
AbstractMethodLikeDeclarationContext
public AbstractMethodLikeDeclarationContext(T wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
solveSymbol
public final SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(java.lang.String name)
Description copied from interface:Context
Used where a symbol is being used (e.g. solvingx
when 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 solveSymbolAsValue()
-
solveGenericType
public final 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.
-
solveSymbolAsValue
public final java.util.Optional<Value> solveSymbolAsValue(java.lang.String name)
Description copied from interface:Context
Used where a symbol is being used (e.g. solvingx
when 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()
-
solveType
public final SymbolReference<ResolvedTypeDeclaration> solveType(java.lang.String name, java.util.List<ResolvedType> typeArguments)
Description copied from interface:Context
Method used to solve a name with an expected list of type arguments.
This method differs fromContext.solveType(String)
by taking the type arguments in consideration. For example, lets imagine that we have a project containing the following classes:- com/example/Alpha.java
- com/example/Beta.java
- Parameters:
name
- The name to be solved.typeArguments
- The list of expected type arguments.- Returns:
- The declaration associated with the given type name.
-
solveMethod
public final 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.
-
-