From 4021abb83d6700a91794d930cc6f361954a93fbf Mon Sep 17 00:00:00 2001 From: Efnilite <35348263+Efnilite@users.noreply.github.com> Date: Thu, 13 Mar 2025 14:28:25 +0100 Subject: [PATCH 1/5] init commit --- src/main/java/ch/njol/skript/doc/JSONGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ch/njol/skript/doc/JSONGenerator.java b/src/main/java/ch/njol/skript/doc/JSONGenerator.java index 7d7431e9cde..832e8c2c885 100644 --- a/src/main/java/ch/njol/skript/doc/JSONGenerator.java +++ b/src/main/java/ch/njol/skript/doc/JSONGenerator.java @@ -307,7 +307,7 @@ private static JsonArray generateClassInfoArray(Iterator> classInfo * @return the effective name of the ClassInfo */ private static String getClassInfoName(ClassInfo classInfo) { - return Objects.requireNonNullElse(classInfo.getDocName(), classInfo.getCodeName()); + return Objects.requireNonNullElse(classInfo.getName().getSingular(), classInfo.getCodeName()); } /** From 91442e85178893fac6feb6d28b71001946ab84a5 Mon Sep 17 00:00:00 2001 From: Efnilite <35348263+Efnilite@users.noreply.github.com> Date: Thu, 13 Mar 2025 15:05:23 +0100 Subject: [PATCH 2/5] differentiate name getting for classinfos --- .../ch/njol/skript/doc/JSONGenerator.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/main/java/ch/njol/skript/doc/JSONGenerator.java b/src/main/java/ch/njol/skript/doc/JSONGenerator.java index 832e8c2c885..1dc129d14ce 100644 --- a/src/main/java/ch/njol/skript/doc/JSONGenerator.java +++ b/src/main/java/ch/njol/skript/doc/JSONGenerator.java @@ -176,12 +176,17 @@ private static JsonArray getEventValues(SkriptEventInfo info) { continue; } - ClassInfo exactClassInfo = Classes.getExactClassInfo(eventValueInfo.c()); - if (exactClassInfo == null) { + ClassInfo classInfo = Classes.getExactClassInfo(eventValueInfo.c().componentType()); + if (classInfo == null) { continue; } - String name = getClassInfoName(exactClassInfo).toLowerCase(Locale.ENGLISH); + String name; + if (eventValueInfo.c().isArray()) { + name = Objects.requireNonNullElse(classInfo.getName().getPlural(), classInfo.getCodeName()); + } else { + name = Objects.requireNonNullElse(classInfo.getName().getSingular(), classInfo.getCodeName()); + } if (name.isBlank()) { continue; } @@ -193,8 +198,8 @@ private static JsonArray getEventValues(SkriptEventInfo info) { } JsonObject object = new JsonObject(); - object.addProperty("id", DocumentationIdProvider.getId(exactClassInfo)); - object.addProperty("name", name); + object.addProperty("id", DocumentationIdProvider.getId(classInfo)); + object.addProperty("name", name.toLowerCase(Locale.ENGLISH)); eventValues.add(object); } } @@ -273,7 +278,7 @@ private static JsonObject generateClassInfoElement(ClassInfo classInfo) { JsonObject syntaxJsonObject = new JsonObject(); syntaxJsonObject.addProperty("id", DocumentationIdProvider.getId(classInfo)); - syntaxJsonObject.addProperty("name", getClassInfoName(classInfo)); + syntaxJsonObject.addProperty("name", Objects.requireNonNullElse(classInfo.getDocName(), classInfo.getCodeName())); syntaxJsonObject.addProperty("since", classInfo.getSince()); syntaxJsonObject.add("patterns", cleanPatterns(classInfo.getUsage())); @@ -300,16 +305,6 @@ private static JsonArray generateClassInfoArray(Iterator> classInfo return syntaxArray; } - /** - * Gets either the explicitly declared documentation name or code name of a ClassInfo - * - * @param classInfo the ClassInfo to get the effective name of - * @return the effective name of the ClassInfo - */ - private static String getClassInfoName(ClassInfo classInfo) { - return Objects.requireNonNullElse(classInfo.getName().getSingular(), classInfo.getCodeName()); - } - /** * Generates the documentation JsonObject for a JavaFunction * @@ -338,10 +333,16 @@ private static JsonObject generateFunctionElement(JavaFunction function) { * @return the JsonObject representing the return type of the JavaFunction */ private static JsonObject getReturnType(JavaFunction function) { - JsonObject returnType = new JsonObject(); - returnType.addProperty("name", getClassInfoName(function.getReturnType())); - returnType.addProperty("id", DocumentationIdProvider.getId(function.getReturnType())); - return returnType; + JsonObject object = new JsonObject(); + + ClassInfo returnType = function.getReturnType(); + if (returnType == null) { + return null; + } + + object.addProperty("id", DocumentationIdProvider.getId(returnType)); + object.addProperty("name", Objects.requireNonNullElse(returnType.getDocName(), returnType.getCodeName())); + return object; } /** From 560e7700ba09f17b43939793a433fb2707333ba6 Mon Sep 17 00:00:00 2001 From: Efnilite <35348263+Efnilite@users.noreply.github.com> Date: Thu, 13 Mar 2025 16:23:04 +0100 Subject: [PATCH 3/5] remove unnecessary code --- src/main/java/ch/njol/skript/doc/JSONGenerator.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/ch/njol/skript/doc/JSONGenerator.java b/src/main/java/ch/njol/skript/doc/JSONGenerator.java index 1dc129d14ce..fbf34ee6873 100644 --- a/src/main/java/ch/njol/skript/doc/JSONGenerator.java +++ b/src/main/java/ch/njol/skript/doc/JSONGenerator.java @@ -181,11 +181,9 @@ private static JsonArray getEventValues(SkriptEventInfo info) { continue; } - String name; + String name = classInfo.getName().getSingular(); if (eventValueInfo.c().isArray()) { - name = Objects.requireNonNullElse(classInfo.getName().getPlural(), classInfo.getCodeName()); - } else { - name = Objects.requireNonNullElse(classInfo.getName().getSingular(), classInfo.getCodeName()); + name = classInfo.getName().getPlural(); } if (name.isBlank()) { continue; From 1fd54689e79e801aecca4d36dcf5605b7cb6892b Mon Sep 17 00:00:00 2001 From: Efnilite <35348263+Efnilite@users.noreply.github.com> Date: Tue, 1 Apr 2025 17:32:35 +0200 Subject: [PATCH 4/5] review comments --- src/main/java/ch/njol/skript/doc/JSONGenerator.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/njol/skript/doc/JSONGenerator.java b/src/main/java/ch/njol/skript/doc/JSONGenerator.java index fbf34ee6873..90efe7eeebc 100644 --- a/src/main/java/ch/njol/skript/doc/JSONGenerator.java +++ b/src/main/java/ch/njol/skript/doc/JSONGenerator.java @@ -176,9 +176,12 @@ private static JsonArray getEventValues(SkriptEventInfo info) { continue; } - ClassInfo classInfo = Classes.getExactClassInfo(eventValueInfo.c().componentType()); + ClassInfo classInfo = Classes.getExactClassInfo(eventValueInfo.c()); if (classInfo == null) { - continue; + classInfo = Classes.getExactClassInfo(eventValueInfo.c().componentType()); + if (classInfo == null) { + continue; + } } String name = classInfo.getName().getSingular(); From 83b7e0cdef5cbca58a32b14518506101b5eae741 Mon Sep 17 00:00:00 2001 From: Efnilite <35348263+Efnilite@users.noreply.github.com> Date: Wed, 9 Apr 2025 11:30:06 +0200 Subject: [PATCH 5/5] fix merge --- .../java/ch/njol/skript/doc/JSONGenerator.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/ch/njol/skript/doc/JSONGenerator.java b/src/main/java/ch/njol/skript/doc/JSONGenerator.java index 90efe7eeebc..5e495ef754e 100644 --- a/src/main/java/ch/njol/skript/doc/JSONGenerator.java +++ b/src/main/java/ch/njol/skript/doc/JSONGenerator.java @@ -176,16 +176,20 @@ private static JsonArray getEventValues(SkriptEventInfo info) { continue; } - ClassInfo classInfo = Classes.getExactClassInfo(eventValueInfo.c()); + Class valueClass = eventValueInfo.valueClass(); + ClassInfo classInfo; + if (valueClass.isArray()) { + classInfo = Classes.getExactClassInfo(valueClass.componentType()); + } else { + classInfo = Classes.getExactClassInfo(valueClass); + } + if (classInfo == null) { - classInfo = Classes.getExactClassInfo(eventValueInfo.c().componentType()); - if (classInfo == null) { - continue; - } + continue; } String name = classInfo.getName().getSingular(); - if (eventValueInfo.c().isArray()) { + if (valueClass.isArray()) { name = classInfo.getName().getPlural(); } if (name.isBlank()) {