Class FieldAccessContext
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<N>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.ExpressionContext<FieldAccessExpr>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.FieldAccessContext
-
- All Implemented Interfaces:
Context
public class FieldAccessContext extends ExpressionContext<FieldAccessExpr>
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ARRAY_LENGTH_FIELD_NAME
-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description FieldAccessContext(FieldAccessExpr wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SymbolReference<ResolvedValueDeclaration>
solveField(java.lang.String name)
SymbolReference<ResolvedMethodDeclaration>
solveMethod(java.lang.String name, java.util.List<ResolvedType> parameterTypes, 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.private java.util.Optional<Value>
solveSymbolAsValue(java.lang.String name, ResolvedReferenceType type)
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, solveGenericType, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbolAsValueInParentContext, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope, typePatternExprsExposedToChild
-
-
-
-
Field Detail
-
ARRAY_LENGTH_FIELD_NAME
private static final java.lang.String ARRAY_LENGTH_FIELD_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FieldAccessContext
public FieldAccessContext(FieldAccessExpr wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
solveSymbol
public 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;
).- Specified by:
solveSymbol
in interfaceContext
- Overrides:
solveSymbol
in classExpressionContext<FieldAccessExpr>
- Parameters:
name
- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbolAsValue()
-
solveType
public 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 SymbolReference<ResolvedMethodDeclaration> solveMethod(java.lang.String name, java.util.List<ResolvedType> parameterTypes, 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.
-
solveSymbolAsValue
public 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;
).- Specified by:
solveSymbolAsValue
in interfaceContext
- Overrides:
solveSymbolAsValue
in classExpressionContext<FieldAccessExpr>
- Parameters:
name
- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbol()
-
solveSymbolAsValue
private java.util.Optional<Value> solveSymbolAsValue(java.lang.String name, ResolvedReferenceType type)
-
solveField
public SymbolReference<ResolvedValueDeclaration> solveField(java.lang.String name)
-
-