Class AbstractJavaParserContext<N extends Node>
java.lang.Object
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<N>
- All Implemented Interfaces:
Context
- Direct Known Subclasses:
AbstractMethodLikeDeclarationContext, AnnotationDeclarationContext, AnonymousClassDeclarationContext, CatchClauseContext, ClassOrInterfaceDeclarationContext, ClassOrInterfaceDeclarationExtendsContext, CompilationUnitContext, EnumDeclarationContext, ExpressionContext, RecordDeclarationContext, StatementContext, SwitchEntryContext, VariableDeclaratorContext
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractJavaParserContext(N wrappedNode, TypeSolver typeSolver) Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanPublic methodsSymbolReference<? extends ResolvedValueDeclaration> findExposedPatternInParentContext(Node parent, String name) protected Collection<ResolvedReferenceTypeDeclaration> findTypeDeclarations(Optional<Expression> optScope) protected NodeReturns the node wrapped in the contextinthashCode()solveMethodAsUsage(String name, List<ResolvedType> argumentsTypes) Similar to solveMethod but we return a MethodUsage.SymbolReference<? extends ResolvedValueDeclaration> solveWith(SymbolDeclarator symbolDeclarator, String name) Static methodssolveWithAsValue(SymbolDeclarator symbolDeclarator, String name) Protected methodstypePatternExprsDiscoveredInPattern(PatternExpr patternExpr) When looking for a variable declaration in a pattern expression, there are 2 cases: 1.Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Context
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, parameterDeclarationInScope, parametersExposedToChild, solveConstructor, solveGenericType, solveGenericTypeInParentContext, solveMethod, solveMethodInParentContext, solveSymbol, solveSymbolAsValue, solveSymbolAsValueInParentContext, solveType, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope, typePatternExprsExposedToChild
-
Field Details
-
wrappedNode
-
typeSolver
-
-
Constructor Details
-
AbstractJavaParserContext
Constructors
-
-
Method Details
-
solveWith
public static SymbolReference<ResolvedValueDeclaration> solveWith(SymbolDeclarator symbolDeclarator, String name) Static methods -
equals
-
hashCode
-
getParent
-
getScope
-
solveSymbolInParentContext
- Specified by:
solveSymbolInParentContextin interfaceContext
-
solveWithAsValue
Protected methods -
findTypeDeclarations
protected Collection<ResolvedReferenceTypeDeclaration> findTypeDeclarations(Optional<Expression> optScope) -
solveMethodAsUsage
Similar to solveMethod but we return a MethodUsage. A MethodUsage corresponds to a MethodDeclaration plus the resolved type variables.- Specified by:
solveMethodAsUsagein interfaceContext
-
getWrappedNode
Description copied from interface:ContextReturns the node wrapped in the context- Specified by:
getWrappedNodein interfaceContext
-
typePatternExprsDiscoveredInPattern
When looking for a variable declaration in a pattern expression, there are 2 cases: 1. The pattern expression is a type pattern expression (e.g.Foo f), in which case we can just compare the name of the variable we're trying to resolve with the name declared in the pattern. 2. The pattern expression is a record pattern expression (e.g.Foo (Bar b, Baz (...) )), in which case we need to traverse the "pattern tree" to find all type pattern expressions, so that we can compare names for all of these. In both cases, we only really care about the type pattern expressions, so this method simply does a traversal of the pattern tree to find all type pattern expressions contained in it.- Parameters:
patternExpr- the root of the pattern tree to traverse- Returns:
- all type pattern expressions discovered in the tree
-
findExposedPatternInParentContext
public SymbolReference<? extends ResolvedValueDeclaration> findExposedPatternInParentContext(Node parent, String name) -
typePatternExprsExposedFromChildren
- Specified by:
typePatternExprsExposedFromChildrenin interfaceContext
-
negatedTypePatternExprsExposedFromChildren
- Specified by:
negatedTypePatternExprsExposedFromChildrenin interfaceContext
-