Class JavaParserFacade
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade
-
public class JavaParserFacade extends Object
Class to be used by final users to solve symbols for JavaParser ASTs.- Author:
- Federico Tomassetti
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.github.javaparser.resolution.types.ResolvedType
classToResolvedType(Class<?> clazz)
static void
clearInstances()
This method is used to clear internal caches for the sake of releasing memory.com.github.javaparser.resolution.types.ResolvedType
convert(com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.Node node)
com.github.javaparser.resolution.types.ResolvedType
convert(com.github.javaparser.ast.type.Type type, Context context)
com.github.javaparser.resolution.types.ResolvedType
convertToUsage(com.github.javaparser.ast.type.Type type)
com.github.javaparser.resolution.types.ResolvedType
convertToUsage(com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.Node context)
protected com.github.javaparser.resolution.types.ResolvedType
convertToUsage(com.github.javaparser.ast.type.Type type, Context context)
com.github.javaparser.resolution.types.ResolvedType
convertToUsageVariableType(com.github.javaparser.ast.body.VariableDeclarator var)
protected com.github.javaparser.ast.body.TypeDeclaration<?>
findContainingTypeDecl(com.github.javaparser.ast.Node node)
protected com.github.javaparser.ast.Node
findContainingTypeDeclOrObjectCreationExpr(com.github.javaparser.ast.Node node)
static JavaParserFacade
get(com.github.javaparser.symbolsolver.model.resolution.TypeSolver typeSolver)
protected com.github.javaparser.resolution.types.ResolvedType
getBinaryTypeConcrete(com.github.javaparser.ast.Node left, com.github.javaparser.ast.Node right, boolean solveLambdas, com.github.javaparser.ast.expr.BinaryExpr.Operator operator)
SymbolSolver
getSymbolSolver()
com.github.javaparser.resolution.types.ResolvedType
getType(com.github.javaparser.ast.Node node)
Get the type associated with the node.com.github.javaparser.resolution.types.ResolvedType
getType(com.github.javaparser.ast.Node node, boolean solveLambdas)
com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
getTypeDeclaration(com.github.javaparser.ast.body.ClassOrInterfaceDeclaration classOrInterfaceDeclaration)
com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
getTypeDeclaration(com.github.javaparser.ast.body.TypeDeclaration<?> typeDeclaration)
com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration
getTypeDeclaration(com.github.javaparser.ast.Node node)
com.github.javaparser.resolution.types.ResolvedType
getTypeOfThisIn(com.github.javaparser.ast.Node node)
"this" inserted in the given point, which type would have?com.github.javaparser.symbolsolver.model.resolution.TypeSolver
getTypeSolver()
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedAnnotationDeclaration>
solve(com.github.javaparser.ast.expr.AnnotationExpr annotationExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration>
solve(com.github.javaparser.ast.expr.Expression expr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedValueDeclaration>
solve(com.github.javaparser.ast.expr.FieldAccessExpr fieldAccessExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration>
solve(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration>
solve(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr, boolean solveLambdas)
Given a method call find out to which method declaration it corresponds.com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration>
solve(com.github.javaparser.ast.expr.NameExpr nameExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration>
solve(com.github.javaparser.ast.expr.ObjectCreationExpr objectCreationExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration>
solve(com.github.javaparser.ast.expr.ObjectCreationExpr objectCreationExpr, boolean solveLambdas)
Given a constructor call find out to which constructor declaration it corresponds.com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration>
solve(com.github.javaparser.ast.expr.SimpleName nameExpr)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration>
solve(com.github.javaparser.ast.expr.ThisExpr node)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration>
solve(com.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt explicitConstructorInvocationStmt)
com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration>
solve(com.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt explicitConstructorInvocationStmt, boolean solveLambdas)
protected static com.github.javaparser.resolution.types.ResolvedType
solveGenericTypes(com.github.javaparser.resolution.types.ResolvedType type, Context context)
com.github.javaparser.resolution.MethodUsage
solveMethodAsUsage(com.github.javaparser.ast.expr.MethodCallExpr call)
protected com.github.javaparser.resolution.MethodUsage
toMethodUsage(com.github.javaparser.ast.expr.MethodReferenceExpr methodReferenceExpr)
-
-
-
Method Detail
-
getTypeSolver
public com.github.javaparser.symbolsolver.model.resolution.TypeSolver getTypeSolver()
-
getSymbolSolver
public SymbolSolver getSymbolSolver()
-
get
public static JavaParserFacade get(com.github.javaparser.symbolsolver.model.resolution.TypeSolver typeSolver)
-
clearInstances
public static void clearInstances()
This method is used to clear internal caches for the sake of releasing memory.
-
solveGenericTypes
protected static com.github.javaparser.resolution.types.ResolvedType solveGenericTypes(com.github.javaparser.resolution.types.ResolvedType type, Context context)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solve(com.github.javaparser.ast.expr.NameExpr nameExpr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solve(com.github.javaparser.ast.expr.SimpleName nameExpr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<? extends com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solve(com.github.javaparser.ast.expr.Expression expr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> solve(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> solve(com.github.javaparser.ast.expr.ObjectCreationExpr objectCreationExpr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> solve(com.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt explicitConstructorInvocationStmt)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> solve(com.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt explicitConstructorInvocationStmt, boolean solveLambdas)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration> solve(com.github.javaparser.ast.expr.ThisExpr node)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedConstructorDeclaration> solve(com.github.javaparser.ast.expr.ObjectCreationExpr objectCreationExpr, boolean solveLambdas)
Given a constructor call find out to which constructor declaration it corresponds.
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration> solve(com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr, boolean solveLambdas)
Given a method call find out to which method declaration it corresponds.
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedAnnotationDeclaration> solve(com.github.javaparser.ast.expr.AnnotationExpr annotationExpr)
-
solve
public com.github.javaparser.symbolsolver.model.resolution.SymbolReference<com.github.javaparser.resolution.declarations.ResolvedValueDeclaration> solve(com.github.javaparser.ast.expr.FieldAccessExpr fieldAccessExpr)
-
getType
public com.github.javaparser.resolution.types.ResolvedType getType(com.github.javaparser.ast.Node node)
Get the type associated with the node.This method was originally intended to get the type of a value: any value has a type.
For example:
int foo(int a) { return a; // when getType is invoked on "a" it returns the type "int" }
Now, users started using also of names of types itself, which do not have a type.
For example:
class A { int foo(int a) { return A.someStaticField; // when getType is invoked on "A", which represents a class, it returns // the type "A" itself while it used to throw UnsolvedSymbolException }
To accomodate this usage and avoid confusion this method return the type itself when used on the name of type.
-
getType
public com.github.javaparser.resolution.types.ResolvedType getType(com.github.javaparser.ast.Node node, boolean solveLambdas)
-
toMethodUsage
protected com.github.javaparser.resolution.MethodUsage toMethodUsage(com.github.javaparser.ast.expr.MethodReferenceExpr methodReferenceExpr)
-
getBinaryTypeConcrete
protected com.github.javaparser.resolution.types.ResolvedType getBinaryTypeConcrete(com.github.javaparser.ast.Node left, com.github.javaparser.ast.Node right, boolean solveLambdas, com.github.javaparser.ast.expr.BinaryExpr.Operator operator)
-
findContainingTypeDecl
protected com.github.javaparser.ast.body.TypeDeclaration<?> findContainingTypeDecl(com.github.javaparser.ast.Node node)
-
findContainingTypeDeclOrObjectCreationExpr
protected com.github.javaparser.ast.Node findContainingTypeDeclOrObjectCreationExpr(com.github.javaparser.ast.Node node)
-
convertToUsageVariableType
public com.github.javaparser.resolution.types.ResolvedType convertToUsageVariableType(com.github.javaparser.ast.body.VariableDeclarator var)
-
convertToUsage
public com.github.javaparser.resolution.types.ResolvedType convertToUsage(com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.Node context)
-
convertToUsage
public com.github.javaparser.resolution.types.ResolvedType convertToUsage(com.github.javaparser.ast.type.Type type)
-
convertToUsage
protected com.github.javaparser.resolution.types.ResolvedType convertToUsage(com.github.javaparser.ast.type.Type type, Context context)
-
convert
public com.github.javaparser.resolution.types.ResolvedType convert(com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.Node node)
-
convert
public com.github.javaparser.resolution.types.ResolvedType convert(com.github.javaparser.ast.type.Type type, Context context)
-
solveMethodAsUsage
public com.github.javaparser.resolution.MethodUsage solveMethodAsUsage(com.github.javaparser.ast.expr.MethodCallExpr call)
-
getTypeDeclaration
public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration getTypeDeclaration(com.github.javaparser.ast.Node node)
-
getTypeDeclaration
public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration getTypeDeclaration(com.github.javaparser.ast.body.ClassOrInterfaceDeclaration classOrInterfaceDeclaration)
-
getTypeOfThisIn
public com.github.javaparser.resolution.types.ResolvedType getTypeOfThisIn(com.github.javaparser.ast.Node node)
"this" inserted in the given point, which type would have?
-
getTypeDeclaration
public com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration getTypeDeclaration(com.github.javaparser.ast.body.TypeDeclaration<?> typeDeclaration)
-
classToResolvedType
public com.github.javaparser.resolution.types.ResolvedType classToResolvedType(Class<?> clazz)
-
-