@Override protected void visitType(TypeDefinition td) { if (!td.isAnnotation()) return; DeclaredAnnotation da = getOrCreate(td); for (CustomAnnotation ca : td.getAnnotations()) { if (Types.is(ca.getAnnotationType(), Retention.class)) { for (AnnotationParameter ap : ca.getParameters()) { if (ap.getMember().equals("value")) { AnnotationElement value = ap.getValue(); if (value instanceof EnumAnnotationElement) { EnumAnnotationElement enumValue = (EnumAnnotationElement) value; if (Types.is(enumValue.getEnumType(), RetentionPolicy.class)) { da.policy = RetentionPolicy.valueOf(enumValue.getEnumConstantName()); } } } } } } }
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);
return new TypeReferenceExpression(Expression.MYSTERY_OFFSET, convertType(enumElement.getEnumType())).member(enumElement.getEnumConstantName());
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);
return new TypeReferenceExpression(Expression.MYSTERY_OFFSET, convertType(enumElement.getEnumType())).member(enumElement.getEnumConstantName());
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);
return new TypeReferenceExpression(Expression.MYSTERY_OFFSET, convertType(enumElement.getEnumType())).member(enumElement.getEnumConstantName());
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);
final TypeReference enumType = scope.lookupType(input.readUnsignedShort()); final String constantName = scope.lookupConstant(input.readUnsignedShort()); return new EnumAnnotationElement(enumType, constantName);