+ public TypeName toTypeName() {
+ if ("interface".equals(type)) {
+ return TypeName.interfaceType;
+ } else if ("class".equals(type)) {
+ if (isAbstract) {
+ return TypeName.absClassType;
+ } else if (isFinal) {
+ return TypeName.finalClassType;
+ } else {
+ return TypeName.classType;
+ }
+ } else if ("enum".equals(type)) {
+ return TypeName.enumType;
+ } else {
+ throw new IllegalStateException("Type not supported: " + type);
+ }
+ }
+