diff options
Diffstat (limited to 'javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java')
-rw-r--r-- | javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java new file mode 100644 index 000000000..a9cbea796 --- /dev/null +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/reflectionmodel/MyObjectProvider.java @@ -0,0 +1,36 @@ +package com.github.javaparser.symbolsolver.reflectionmodel; + +import com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration; +import com.github.javaparser.resolution.types.ResolvedReferenceType; +import com.github.javaparser.symbolsolver.logic.ObjectProvider; +import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; +import com.github.javaparser.symbolsolver.model.typesystem.ReferenceTypeImpl; +import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; + +/** + * @author Federico Tomassetti + */ +public class MyObjectProvider implements ObjectProvider { + + public static final MyObjectProvider INSTANCE = new MyObjectProvider(); + + private MyObjectProvider() { + // prevent instantiation + } + + @Override + public ResolvedReferenceType object() { + return new ReferenceTypeImpl(new ReflectionClassDeclaration(Object.class, new ReflectionTypeSolver()), new ReflectionTypeSolver()); + } + + @Override + public ResolvedReferenceType byName(String qualifiedName) { + TypeSolver typeSolver = new ReflectionTypeSolver(); + ResolvedReferenceTypeDeclaration typeDeclaration = typeSolver.solveType(qualifiedName); + if (!typeDeclaration.getTypeParameters().isEmpty()) { + throw new UnsupportedOperationException(); + } + return new ReferenceTypeImpl(typeDeclaration, typeSolver); + } + +} |