@Override public JsonElement visitEnum(DeclaredType t, Element el) { Types typeUtils = processingEnv.getTypeUtils(); if (AptUtil.isInternalType(typeUtils, el.asType())) { // InternalなEnum TypeElement typeElement = AptUtil.getTypeElement(typeUtils, el); if (AptUtil.isPublic(typeElement)) { return genJsonElement(t, el, Kind.ENUM); } else { Log.e("Internal EnumType must use public & static.", el); encountError = true; return defaultAction(t, el); } } else { // InternalじゃないEnum return genJsonElement(t, el, Kind.ENUM); } }