public abstract class AbstractMethodLikeDeclarationContext<T extends Node & NodeWithParameters<T> & NodeWithTypeParameters<T>> extends AbstractJavaParserContext<T>
typeSolver, wrappedNode
Constructor and Description |
---|
AbstractMethodLikeDeclarationContext(T wrappedNode,
TypeSolver typeSolver) |
Modifier and Type | Method and Description |
---|---|
Optional<ResolvedType> |
solveGenericType(String name)
Default to no generics available in this context, delegating solving to the parent context.
|
SymbolReference<ResolvedMethodDeclaration> |
solveMethod(String name,
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(String name)
Used where a symbol is being used (e.g. solving
x when used as an argument doubleThis(x) , or calculation return x * 2; ). |
Optional<Value> |
solveSymbolAsValue(String name)
Used where a symbol is being used (e.g. solving
x when used as an argument doubleThis(x) , or calculation return x * 2; ). |
SymbolReference<ResolvedTypeDeclaration> |
solveType(String name,
List<ResolvedType> typeArguments)
Method used to solve a name with an expected list of type arguments.
|
equals, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, isQualifiedName, solveSymbolInParentContext, solveWith, solveWithAsValue
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, negatedPatternExprsExposedFromChildren, parameterDeclarationInScope, parametersExposedToChild, patternExprInScope, patternExprsExposedFromChildren, patternExprsExposedToChild, solveConstructor, solveGenericTypeInParentContext, solveMethodAsUsage, solveMethodInParentContext, solveSymbolAsValueInParentContext, solveType, solveTypeInParentContext, solveTypeInParentContext
public AbstractMethodLikeDeclarationContext(T wrappedNode, TypeSolver typeSolver)
public final SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name)
Context
x
when used as an argument doubleThis(x)
, or calculation return x * 2;
).name
- the variable / reference / identifier used.public final Optional<ResolvedType> solveGenericType(String name)
Context
name
- For example, solving T
within class Foo<T> {}
orpublic final Optional<Value> solveSymbolAsValue(String name)
Context
x
when used as an argument doubleThis(x)
, or calculation return x * 2;
).name
- the variable / reference / identifier used.public final SymbolReference<ResolvedTypeDeclaration> solveType(String name, List<ResolvedType> typeArguments)
Context
Context.solveType(String)
by taking the type arguments in consideration.
For example, lets imagine that we have a project containing the following classes:
name
- The name to be solved.typeArguments
- The list of expected type arguments.public final SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly)
Context
Copyright © 2007–2022. All rights reserved.