JUtils { @Nullable public static Type primitiveWrapperType(Type type) { String name = WRAPPER_TO_PRIMITIVE.inverse().get(type.fullyQualifiedName()); if (name == null) { return null; } JSema sema = ((JType) type).sema; return sema.type(sema.resolveType(name)); } private  JUtils(); static boolean isPrimitiveWrapper(Type type); @Nullable static Type primitiveWrapperType(Type type); @Nullable static Type primitiveType(Type type); static boolean isNullType(Type type); static boolean isIntersectionType(Type type); static boolean isTypeVar(Type type); static boolean isAnnotation(Symbol.TypeSymbol typeSymbol); static boolean isEffectivelyFinal(Symbol.VariableSymbol variableSymbol); static boolean isParameter(Symbol symbol); static Optional<Object> constantValue(Symbol.VariableSymbol symbol); static Set<Type> superTypes(Symbol.TypeSymbol typeSymbol); static Symbol.TypeSymbol outermostClass(Symbol.TypeSymbol typeSymbol); static Symbol getPackage(Symbol symbol); static boolean isVarArgsMethod(Symbol.MethodSymbol method); static boolean isSynchronizedMethod(Symbol.MethodSymbol method); static boolean isNativeMethod(Symbol.MethodSymbol method); static boolean isDefaultMethod(Symbol.MethodSymbol method); @Nullable static Object defaultValue(Symbol.MethodSymbol method); static boolean isOverridable(Symbol.MethodSymbol method); static boolean isParametrizedMethod(Symbol.MethodSymbol method); static boolean isRawType(Type type); static Type declaringType(Type type); static Set<Type> directSuperTypes(Type type); @Nullable static Symbol enclosingClass(Tree t); @Nullable static Symbol importTreeSymbol(ImportTree tree); static Symbol typeParameterTreeSymbol(TypeParameterTree tree); static SymbolMetadata parameterAnnotations(Symbol.MethodSymbol method, int param);  }
@Test void primitiveWrapperType() { JavaTree.CompilationUnitTreeImpl cu = test(""); Type primitiveType = cu.sema.type(Objects.requireNonNull(cu.sema.resolveType("byte"))); Type wrapperType = JUtils.primitiveWrapperType(primitiveType); assertThat(wrapperType).isNotNull(); assertThat(JUtils.isPrimitiveWrapper(wrapperType)).isTrue(); assertThat(wrapperType.fullyQualifiedName()).isEqualTo("java.lang.Byte"); }