From ce262d92ce295d29a11dd07eafba0b9010fbc8ae Mon Sep 17 00:00:00 2001 From: Wyrdix Date: Tue, 14 Jul 2026 18:29:06 +0200 Subject: [PATCH 1/2] Fix java code creation --- src/plm/core/lang/LangJava.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plm/core/lang/LangJava.java b/src/plm/core/lang/LangJava.java index a844cfa27..e6d57e9d3 100644 --- a/src/plm/core/lang/LangJava.java +++ b/src/plm/core/lang/LangJava.java @@ -73,8 +73,8 @@ private static String fileNameWithoutExtension(String path) int beginSolutionIndex = correction.indexOf("/* BEGIN SOLUTION */"); String template; - if (beginSolutionIndex == beginTemplateIndex + 3) - template = "$package\n\n$imports\n\npublic class Entity {\n$dependency\n\t public void run(){\n$body}\n}"; + if (beginSolutionIndex == beginTemplateIndex + 5) + template = "$package\n\n$imports\n\npublic class Entity {\n$dependency\n\tpublic void run(){\n$body\t}\n}"; else { if (beginTemplateIndex < runFunctionI && runFunctionI < endTemplateIndex) template = "$package\n\n$imports\n\npublic class Entity {\n$dependency\n\t\n$body\n}"; @@ -365,6 +365,7 @@ public void compileExo(Exercise exo, LogWriter out, StudentOrCorrection whatToCo String entityCode = sf.getCompilableContent(runtimePatterns, whatToCompile); entityCode = Pattern.compile("([^a-zA-Z])(Direction)([^a-zA-Z.])").matcher(entityCode).replaceAll("$1int$3"); entityCode = Pattern.compile("this.").matcher(entityCode).replaceAll(""); + entityCode = Pattern.compile("@Override").matcher(entityCode).replaceAll(""); File workspace = new File(tempFolder, key.substring(0, key.lastIndexOf('.')).replace('.', '/')); // noinspection ResultOfMethodCallIgnored From fea376951f88cbc86244825167963d1cb175e2f3 Mon Sep 17 00:00:00 2001 From: Wyrdix Date: Tue, 14 Jul 2026 18:33:59 +0200 Subject: [PATCH 2/2] Fix hasReturn not checking for void.class return type --- src/plm/core/lang/primitives/PrimitiveMethod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plm/core/lang/primitives/PrimitiveMethod.java b/src/plm/core/lang/primitives/PrimitiveMethod.java index 26a9b042f..3dabf4bba 100644 --- a/src/plm/core/lang/primitives/PrimitiveMethod.java +++ b/src/plm/core/lang/primitives/PrimitiveMethod.java @@ -36,7 +36,7 @@ public PrimitiveMethod(Primitive primitive, Method method) public List parameters() { return parameters; } - public boolean hasReturn() { return output != null; } + public boolean hasReturn() { return output != null && output != void.class; } @Override public boolean equals(Object obj) {