private static MutableDeclaredType toOutputType(MutableDeclaredType type) { if (type.getEnclosedClass() != null) { MutableDeclaredType currentType = type.clone(); MutableDeclaredType result = currentType; while (currentType.getEnclosedClass() != null) { MutableDeclaredType enclosedClass = currentType.getEnclosedClass().getEnclosedClass(); currentType.setEnclosedClass(getOutputName(currentType.getEnclosedClass())); currentType = currentType.getEnclosedClass().setEnclosedClass(enclosedClass); } return result; } return type; }
private String getImportPackage(MutableDeclaredType type) { if (type.getEnclosedClass() != null) { return type.getEnclosedClass().getCanonicalName(); } return type.getPackageName(); };
@Override public MutableDeclaredType getEnclosedClass() { return ensureDelegateType().getEnclosedClass(); }
private static MutableDeclaredType toOutputType(MutableDeclaredType type) { if (type.getEnclosedClass() != null) { return type.clone().setEnclosedClass(getOutputName(type.getEnclosedClass())); } return type; }
@Override protected MutableDeclaredType getDelegate() { MutableDeclaredType outputName = getOutputName(annotationNamedType); if (annotationNamedType.getEnclosedClass() != null) { outputName = outputName.setEnclosedClass(annotationNamedType.getEnclosedClass().clone()); } outputName.setKind(MutableTypeKind.CLASS); return outputName; } }
@Override protected MutableDeclaredType getDelegate() { MutableDeclaredType outputName = getOutputName(annotationNamedType); if (annotationNamedType.getEnclosedClass() != null) { outputName = outputName.setEnclosedClass(annotationNamedType.getEnclosedClass().clone()); } outputName.setKind(MutableTypeKind.CLASS); return outputName; }
MutableDeclaredType constructDeclaredType(MutableDeclaredType type, MutableTypeVariable... typeArgs) { if (type.getEnclosedClass() != null) { return new MutableDeclared(type.asType(), type.getEnclosedClass(), type.getSimpleName(), processingEnv).setTypeVariables(typeArgs); } return new MutableDeclared(type.asType(), type.getPackageName(), type.getSimpleName(), processingEnv).setTypeVariables(typeArgs); }