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 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) {