1 package com.github.javaparser.symbolsolver.reflectionmodel; 2 3 import com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration; 4 import com.github.javaparser.resolution.types.ResolvedReferenceType; 5 import com.github.javaparser.symbolsolver.logic.ObjectProvider; 6 import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; 7 import com.github.javaparser.symbolsolver.model.typesystem.ReferenceTypeImpl; 8 import com.github.javaparser.symbolsolver.resolution.typesolvers.ReflectionTypeSolver; 9 10 /** 11 * @author Federico Tomassetti 12 */ 13 public class MyObjectProvider implements ObjectProvider { 14 15 public static final MyObjectProvider INSTANCE = new MyObjectProvider(); 16 17 private MyObjectProvider() { 18 // prevent instantiation 19 } 20 21 @Override 22 public ResolvedReferenceType object() { 23 return new ReferenceTypeImpl(new ReflectionClassDeclaration(Object.class, new ReflectionTypeSolver()), new ReflectionTypeSolver()); 24 } 25 26 @Override 27 public ResolvedReferenceType byName(String qualifiedName) { 28 TypeSolver typeSolver = new ReflectionTypeSolver(); 29 ResolvedReferenceTypeDeclaration typeDeclaration = typeSolver.solveType(qualifiedName); 30 if (!typeDeclaration.getTypeParameters().isEmpty()) { 31 throw new UnsupportedOperationException(); 32 } 33 return new ReferenceTypeImpl(typeDeclaration, typeSolver); 34 } 35 36 } 37