From a2af965bad33aef4b4f50a230afb38bf182e5120 Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Fri, 6 Aug 2021 12:38:50 +0200 Subject: [PATCH] This solves the warnings but it's probably better to Probably better to implement an annotation that cancels warnings for fields in classes that aren't Iris', such as bukkit packages. The implementation would be something like @SuppressNoDesc ItemStack items; -> if !field.isAnnotationPresent(SND.class) { // error } --- .../com/volmit/iris/core/project/SchemaBuilder.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java index 07ba2fe90..838560c11 100644 --- a/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java +++ b/src/main/java/com/volmit/iris/core/project/SchemaBuilder.java @@ -28,6 +28,9 @@ import com.volmit.iris.util.data.B; import com.volmit.iris.util.json.JSONArray; import com.volmit.iris.util.json.JSONObject; import org.bukkit.enchantments.Enchantment; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.material.MaterialData; import org.bukkit.potion.PotionEffectType; import java.awt.*; @@ -529,7 +532,7 @@ public class SchemaBuilder { } private String getType(Class c) { - if (c.equals(int.class) || c.equals(Integer.class) || c.equals(long.class)) { + if (c.equals(int.class) || c.equals(Integer.class) || c.equals(long.class) || c.equals(byte.class)) { return "integer"; } @@ -549,7 +552,7 @@ public class SchemaBuilder { return "array"; } - if (c.equals(KMap.class)) { + if (c.equals(KMap.class) || c.equals(ItemStack.class) || c.equals(ItemMeta.class) || c.equals(MaterialData.class)) { return "object"; } @@ -580,11 +583,6 @@ public class SchemaBuilder { return r.getDeclaredAnnotation(Desc.class).value(); } - // suppress warnings on bukkit classes - if (r.getDeclaringClass().getName().startsWith("org.bukkit.")){ - return "Bukkit package classes and enums have no descriptions"; - } - if (!r.isPrimitive() && !r.equals(KList.class) && !r.equals(KMap.class) && r.getCanonicalName().startsWith("com.volmit.")) { warnings.addIfMissing("Missing @Desc on " + r.getSimpleName() + " in " + r.getDeclaringClass().getCanonicalName()); }