Class JavaParserTypeSolver

  • All Implemented Interfaces:
    com.github.javaparser.resolution.TypeSolver

    public class JavaParserTypeSolver
    extends java.lang.Object
    implements com.github.javaparser.resolution.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, JAVA_LANG_RECORD
    • Constructor Summary

      Constructors 
      Constructor Description
      JavaParserTypeSolver​(java.io.File srcDir)  
      JavaParserTypeSolver​(java.io.File srcDir, com.github.javaparser.ParserConfiguration parserConfiguration)  
      JavaParserTypeSolver​(java.lang.String srcDir)  
      JavaParserTypeSolver​(java.lang.String srcDir, com.github.javaparser.ParserConfiguration parserConfiguration)  
      JavaParserTypeSolver​(java.nio.file.Path srcDir)  
      JavaParserTypeSolver​(java.nio.file.Path srcDir, com.github.javaparser.JavaParser javaParser, com.github.javaparser.resolution.cache.Cache<java.nio.file.Path,​java.util.Optional<com.github.javaparser.ast.CompilationUnit>> parsedFilesCache, com.github.javaparser.resolution.cache.Cache<java.nio.file.Path,​java.util.List<com.github.javaparser.ast.CompilationUnit>> parsedDirectoriesCache, com.github.javaparser.resolution.cache.Cache<java.lang.String,​com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>> foundTypesCache)
      Create a JavaParserTypeSolver with a custom cache system.
      JavaParserTypeSolver​(java.nio.file.Path srcDir, com.github.javaparser.ParserConfiguration parserConfiguration)  
      JavaParserTypeSolver​(java.nio.file.Path srcDir, com.github.javaparser.ParserConfiguration parserConfiguration, long cacheSizeLimit)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.github.javaparser.resolution.TypeSolver getParent()  
      void setParent​(com.github.javaparser.resolution.TypeSolver parent)  
      java.lang.String toString()  
      com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType​(java.lang.String name)  
      com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule​(java.lang.String qualifiedModuleName, java.lang.String simpleTypeName)  
      • 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, getSolvedJavaLangRecord, hasType, solveType, solveTypeInModule
    • Constructor Detail

      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.io.File srcDir)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.lang.String srcDir)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.nio.file.Path srcDir)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.io.File srcDir,
                                    com.github.javaparser.ParserConfiguration parserConfiguration)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.lang.String srcDir,
                                    com.github.javaparser.ParserConfiguration parserConfiguration)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.nio.file.Path srcDir,
                                    com.github.javaparser.ParserConfiguration parserConfiguration)
      • JavaParserTypeSolver

        public JavaParserTypeSolver​(java.nio.file.Path srcDir,
                                    com.github.javaparser.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​(java.nio.file.Path srcDir,
                                    com.github.javaparser.JavaParser javaParser,
                                    com.github.javaparser.resolution.cache.Cache<java.nio.file.Path,​java.util.Optional<com.github.javaparser.ast.CompilationUnit>> parsedFilesCache,
                                    com.github.javaparser.resolution.cache.Cache<java.nio.file.Path,​java.util.List<com.github.javaparser.ast.CompilationUnit>> parsedDirectoriesCache,
                                    com.github.javaparser.resolution.cache.Cache<java.lang.String,​com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration>> foundTypesCache)
        Create a JavaParserTypeSolver with a custom cache system.
        Parameters:
        srcDir - The source code directory for the type solver.
        javaParser - The JavaParser to be used when parsing .java files.
        parsedFilesCache - The cache to be used to store CompilationUnit that is associated with a file.
        parsedDirectoriesCache - The cache to store the list of CompilationUnit in a given directory.
        foundTypesCache - The cache that associated a qualified name to its SymbolReference.
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getParent

        public com.github.javaparser.resolution.TypeSolver getParent()
        Specified by:
        getParent in interface com.github.javaparser.resolution.TypeSolver
      • setParent

        public void setParent​(com.github.javaparser.resolution.TypeSolver parent)
        Specified by:
        setParent in interface com.github.javaparser.resolution.TypeSolver
      • tryToSolveType

        public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveType​(java.lang.String name)
        Specified by:
        tryToSolveType in interface com.github.javaparser.resolution.TypeSolver
      • tryToSolveTypeInModule

        public com.github.javaparser.resolution.model.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration> tryToSolveTypeInModule​(java.lang.String qualifiedModuleName,
                                                                                                                                                                             java.lang.String simpleTypeName)
        Specified by:
        tryToSolveTypeInModule in interface com.github.javaparser.resolution.TypeSolver