Class JavaParserTypeSolver
- java.lang.Object
-
- com.github.javaparser.symbolsolver.resolution.typesolvers.JavaParserTypeSolver
-
- All Implemented Interfaces:
TypeSolver
public class JavaParserTypeSolver extends Object implements TypeSolver
Defines a directory containing source code that should be used for solving symbols. The directory must correspond to the root package of the files within.- Author:
- Federico Tomassetti
-
-
Field Summary
-
Fields inherited from interface com.github.javaparser.resolution.TypeSolver
JAVA_LANG_OBJECT
-
-
Constructor Summary
Constructors Constructor Description JavaParserTypeSolver(File srcDir)
JavaParserTypeSolver(File srcDir, ParserConfiguration parserConfiguration)
JavaParserTypeSolver(String srcDir)
JavaParserTypeSolver(String srcDir, ParserConfiguration parserConfiguration)
JavaParserTypeSolver(Path srcDir)
JavaParserTypeSolver(Path srcDir, JavaParser javaParser, Cache<Path,Optional<CompilationUnit>> parsedFilesCache, Cache<Path,List<CompilationUnit>> parsedDirectoriesCache, Cache<String,SymbolReference<ResolvedReferenceTypeDeclaration>> foundTypesCache)
Create aJavaParserTypeSolver
with a custom cache system.JavaParserTypeSolver(Path srcDir, ParserConfiguration parserConfiguration)
JavaParserTypeSolver(Path srcDir, ParserConfiguration parserConfiguration, long cacheSizeLimit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TypeSolver
getParent()
Parent of the this TypeSolver.void
setParent(TypeSolver parent)
Set the parent of this TypeSolver.String
toString()
SymbolReference<ResolvedReferenceTypeDeclaration>
tryToSolveType(String name)
Try to solve the type with the given name.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.TypeSolver
getRoot, getSolvedJavaLangObject, hasType, solveType
-
-
-
-
Constructor Detail
-
JavaParserTypeSolver
public JavaParserTypeSolver(File srcDir)
-
JavaParserTypeSolver
public JavaParserTypeSolver(String srcDir)
-
JavaParserTypeSolver
public JavaParserTypeSolver(Path srcDir)
-
JavaParserTypeSolver
public JavaParserTypeSolver(File srcDir, ParserConfiguration parserConfiguration)
-
JavaParserTypeSolver
public JavaParserTypeSolver(String srcDir, ParserConfiguration parserConfiguration)
-
JavaParserTypeSolver
public JavaParserTypeSolver(Path srcDir, ParserConfiguration parserConfiguration)
-
JavaParserTypeSolver
public JavaParserTypeSolver(Path srcDir, ParserConfiguration parserConfiguration, long cacheSizeLimit)
- Parameters:
srcDir
- is the source code directory for the type solver.parserConfiguration
- is the configuration the solver should use when inspecting source code files.cacheSizeLimit
- is an optional size limit to the internal caches used by this solver. Be advised that setting the size too low might lead to noticeable performance degradation. However, using a size limit is advised when solving symbols in large code sources. In such cases, internal caches might consume large amounts of heap space.
-
JavaParserTypeSolver
public JavaParserTypeSolver(Path srcDir, JavaParser javaParser, Cache<Path,Optional<CompilationUnit>> parsedFilesCache, Cache<Path,List<CompilationUnit>> parsedDirectoriesCache, Cache<String,SymbolReference<ResolvedReferenceTypeDeclaration>> foundTypesCache)
Create aJavaParserTypeSolver
with a custom cache system.- Parameters:
srcDir
- The source code directory for the type solver.javaParser
- TheJavaParser
to be used when parsing .java files.parsedFilesCache
- The cache to be used to storeCompilationUnit
that is associated with a file.parsedDirectoriesCache
- The cache to store the list ofCompilationUnit
in a given directory.foundTypesCache
- The cache that associated a qualified name to itsSymbolReference
.
-
-
Method Detail
-
getParent
public TypeSolver getParent()
Description copied from interface:TypeSolver
Parent of the this TypeSolver. This can return null.- Specified by:
getParent
in interfaceTypeSolver
-
setParent
public void setParent(TypeSolver parent)
Description copied from interface:TypeSolver
Set the parent of this TypeSolver.- Specified by:
setParent
in interfaceTypeSolver
-
tryToSolveType
public SymbolReference<ResolvedReferenceTypeDeclaration> tryToSolveType(String name)
Description copied from interface:TypeSolver
Try to solve the type with the given name. It always return a SymbolReference which can be solved or unsolved.- Specified by:
tryToSolveType
in interfaceTypeSolver
-
-