From 41ac2f35d9fba52db0bb0eed3fbd13f4a9d6083c Mon Sep 17 00:00:00 2001 From: Rostyslav Zatserkovnyi Date: Sun, 8 May 2016 23:20:41 +0300 Subject: [PATCH] Add friendlier error message for HidingEnclosingType --- build/shared/lib/languages/PDE.properties | 1 + .../mode/java/pdex/ErrorMessageSimplifier.java | 5 +++++ java/src/processing/mode/java/pdex/Problem.java | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/build/shared/lib/languages/PDE.properties b/build/shared/lib/languages/PDE.properties index 2a71e125c..c20b773b4 100644 --- a/build/shared/lib/languages/PDE.properties +++ b/build/shared/lib/languages/PDE.properties @@ -370,6 +370,7 @@ editor.status.type_mismatch = Type mismatch, "%s" does not match with "%s" editor.status.unused_variable = The value of the local variable "%s" is not used editor.status.uninitialized_variable = The local variable "%s" may not have been initialized editor.status.no_effect_assignment = The assignment to variable "%s" has no effect +editor.status.hiding_enclosing_type = The class "%s" cannot have the same name as the name of your sketch # Footer buttons editor.footer.errors = Errors diff --git a/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java b/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java index 64482276f..082ea51df 100644 --- a/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java +++ b/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java @@ -254,6 +254,11 @@ public class ErrorMessageSimplifier { result = Language.interpolate("editor.status.no_effect_assignment", args[0]); } break; + + case IProblem.HidingEnclosingType: + if (args.length > 0 && args[0].equals(problem.getClassName())) { + result = Language.interpolate("editor.status.hiding_enclosing_type", args[0]); + } } //log("Simplified Error Msg: " + result); diff --git a/java/src/processing/mode/java/pdex/Problem.java b/java/src/processing/mode/java/pdex/Problem.java index 8d8fac2e0..42b9ea42e 100644 --- a/java/src/processing/mode/java/pdex/Problem.java +++ b/java/src/processing/mode/java/pdex/Problem.java @@ -37,6 +37,10 @@ public class Problem implements ErrorTable.Entry { * The IProblem which is being wrapped */ private IProblem iProblem; + /** + * The class name for the current sketch + */ + private String className; /** * The tab number to which the error belongs to */ @@ -83,6 +87,7 @@ public class Problem implements ErrorTable.Entry { } this.tabIndex = tabIndex; this.lineNumber = lineNumber; + this.className = iProblem.getArguments()[0]; this.message = process(iProblem); this.message = ErrorMessageSimplifier.getSimplifiedErrorMessage(this); //ErrorMessageSimplifier.getSimplifiedErrorMessage(this); @@ -123,6 +128,10 @@ public class Problem implements ErrorTable.Entry { return iProblem; } + public String getClassName() { + return className; + } + public int getTabIndex() { return tabIndex; }