Class JavaSymbolSolver
- java.lang.Object
-
- com.github.javaparser.symbolsolver.JavaSymbolSolver
-
- All Implemented Interfaces:
SymbolResolver
public class JavaSymbolSolver extends Object implements SymbolResolver
This implementation of the SymbolResolver wraps the functionality of the library to make them easily usable from JavaParser nodes.An instance of this class should be created once and then injected in all the CompilationUnit for which we want to enable symbol resolution. To do so the method inject can be used, or you can use
ParserConfiguration.setSymbolResolver(SymbolResolver)and the parser will do the injection for you.- Author:
- Federico Tomassetti
-
-
Constructor Summary
Constructors Constructor Description JavaSymbolSolver(TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ResolvedTypecalculateType(Expression expression)For an expression it would find the corresponding resolved type.voidinject(CompilationUnit destination)Register this SymbolResolver into a CompilationUnit, so that symbol resolution becomes available to all nodes part of the CompilationUnit.<T> TresolveDeclaration(Node node, Class<T> resultClass)For a reference it would find the corresponding declaration.<T> TtoResolvedType(Type javaparserType, Class<T> resultClass)For types it would find the corresponding resolved types.ResolvedReferenceTypeDeclarationtoTypeDeclaration(Node node)For a node it would find the corresponding reference type declaration.
-
-
-
Constructor Detail
-
JavaSymbolSolver
public JavaSymbolSolver(@NotNull TypeSolver typeSolver)
-
-
Method Detail
-
inject
public void inject(CompilationUnit destination)
Register this SymbolResolver into a CompilationUnit, so that symbol resolution becomes available to all nodes part of the CompilationUnit.
-
resolveDeclaration
public <T> T resolveDeclaration(Node node, Class<T> resultClass)
Description copied from interface:SymbolResolverFor a reference it would find the corresponding declaration.- Specified by:
resolveDeclarationin interfaceSymbolResolver
-
toResolvedType
public <T> T toResolvedType(Type javaparserType, Class<T> resultClass)
Description copied from interface:SymbolResolverFor types it would find the corresponding resolved types.- Specified by:
toResolvedTypein interfaceSymbolResolver
-
calculateType
public ResolvedType calculateType(Expression expression)
Description copied from interface:SymbolResolverFor an expression it would find the corresponding resolved type.- Specified by:
calculateTypein interfaceSymbolResolver
-
toTypeDeclaration
public ResolvedReferenceTypeDeclaration toTypeDeclaration(Node node)
Description copied from interface:SymbolResolverFor a node it would find the corresponding reference type declaration.- Specified by:
toTypeDeclarationin interfaceSymbolResolver
-
-