@Override
    public String getGenericName(boolean asArgType, Set<String> packages, Set<String> classes) {
        if (!asArgType) {
            if (superType instanceof TypeExtends) {
                return "?";
            } else {
                return "? super " + superType.getGenericName(true, packages, classes);
            }
            
        } else {
            return super.getGenericName(asArgType, packages, classes);
        }
    }
TypeSuper is a Type for type variables and wildcard types

@author tiwe
querydsl-codegen-utils/src/main/java/com/querydsl/codegen/utils/model/TypeSuper.java