/* 376 */ TypeInfo componentType = getTypeInfo(clazz.getComponentType());
/* 377 */ result = new ArrayInfoImpl(componentType);
/* */ }
/* 379 */ else if (clazz.isEnum())
/* */ {
/* 381 */ EnumInfoImpl enumInfoImpl = new EnumInfoImpl(clazz.getName(), clazz.getModifiers());
/* 382 */ ClassInfoImpl result = enumInfoImpl;
/* 383 */ Field[] fields = clazz.getFields();
/* 384 */ EnumConstantInfoImpl[] constants = new EnumConstantInfoImpl[fields.length];
/* 385 */ int i = 0;
/* 386 */ for (Field field : fields)
/* */ {
/* 388 */ AnnotationValue[] annotations = getAnnotations(field);
/* 389 */ constants[(i++)] = new EnumConstantInfoImpl(field.getName(), enumInfoImpl, annotations);
/* */ }
/* 391 */ enumInfoImpl.setEnumConstants(constants);
/* */ }
/* 393 */ else if (clazz.isAnnotation())
/* */ {
/* 395 */ ClassInfoImpl result = new AnnotationInfoImpl(clazz.getName(), clazz.getModifiers());
/* 396 */ Method[] methods = getDeclaredMethods(clazz);