Class TypeExtractor
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.DefaultVisitorAdapter
-
- com.github.javaparser.symbolsolver.javaparsermodel.TypeExtractor
-
- All Implemented Interfaces:
GenericVisitor<ResolvedType,java.lang.Boolean>
public class TypeExtractor extends DefaultVisitorAdapter
-
-
Field Summary
Fields Modifier and Type Field Description private JavaParserFacadefacadeprivate static java.lang.StringJAVA_LANG_STRINGprivate ResolvedTypestringReferenceTypeprivate TypeSolvertypeSolver
-
Constructor Summary
Constructors Constructor Description TypeExtractor(TypeSolver typeSolver, JavaParserFacade facade)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SolvercreateSolver()private static intgetParamPos(Expression node)private booleanisCompatible(ResolvedType resolvedType, ResolvedPrimitiveType primitiveType)private ResolvedTyperesolveLambda(LambdaExpr node, ResolvedType result)private ResolvedTypesolveDotExpressionType(ResolvedReferenceTypeDeclaration parentType, FieldAccessExpr node)Java Parser can't differentiate between packages, internal types, and fields.ResolvedTypevisit(FieldDeclaration node, java.lang.Boolean solveLambdas)ResolvedTypevisit(Parameter node, java.lang.Boolean solveLambdas)ResolvedTypevisit(VariableDeclarator node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ArrayAccessExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ArrayCreationExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ArrayInitializerExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(AssignExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(BinaryExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(BooleanLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(CastExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(CharLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ClassExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ConditionalExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(DoubleLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(EnclosedExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(FieldAccessExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(InstanceOfExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(IntegerLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(LambdaExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(LongLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(MethodCallExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(MethodReferenceExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(NameExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(NullLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ObjectCreationExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(StringLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(SuperExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(TextBlockLiteralExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(ThisExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(TypeExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(UnaryExpr node, java.lang.Boolean solveLambdas)ResolvedTypevisit(VariableDeclarationExpr node, java.lang.Boolean solveLambdas)-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.DefaultVisitorAdapter
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
JAVA_LANG_STRING
private static final java.lang.String JAVA_LANG_STRING
-
stringReferenceType
private final ResolvedType stringReferenceType
-
typeSolver
private TypeSolver typeSolver
-
facade
private JavaParserFacade facade
-
-
Constructor Detail
-
TypeExtractor
public TypeExtractor(TypeSolver typeSolver, JavaParserFacade facade)
-
-
Method Detail
-
visit
public ResolvedType visit(VariableDeclarator node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(Parameter node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ArrayAccessExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ArrayCreationExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ArrayInitializerExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(AssignExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(BinaryExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(CastExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ClassExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ConditionalExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
isCompatible
private boolean isCompatible(ResolvedType resolvedType, ResolvedPrimitiveType primitiveType)
-
visit
public ResolvedType visit(EnclosedExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
solveDotExpressionType
private ResolvedType solveDotExpressionType(ResolvedReferenceTypeDeclaration parentType, FieldAccessExpr node)
Java Parser can't differentiate between packages, internal types, and fields. All three are lumped together into FieldAccessExpr. We need to differentiate them.
-
visit
public ResolvedType visit(FieldAccessExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(InstanceOfExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(StringLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(TextBlockLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(IntegerLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(LongLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(CharLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(DoubleLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(BooleanLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(NullLiteralExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(MethodCallExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(NameExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(TypeExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ObjectCreationExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(ThisExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(SuperExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(UnaryExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(VariableDeclarationExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(LambdaExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
resolveLambda
private ResolvedType resolveLambda(LambdaExpr node, ResolvedType result)
-
visit
public ResolvedType visit(MethodReferenceExpr node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
visit
public ResolvedType visit(FieldDeclaration node, java.lang.Boolean solveLambdas)
- Specified by:
visitin interfaceGenericVisitor<ResolvedType,java.lang.Boolean>- Overrides:
visitin classDefaultVisitorAdapter
-
getParamPos
private static int getParamPos(Expression node)
-
createSolver
protected Solver createSolver()
-
-