Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion app/src/processing/app/ui/Editor.java
Original file line number Diff line number Diff line change
Expand Up @@ -3073,7 +3073,6 @@ public void updateErrorTable(List<Problem> problems) {

for (Problem p : problems) {
String message = p.getMessage();
System.err.println("******* " + message);
errorTable.addRow(p, message,
sketch.getCode(p.getTabIndex()).getPrettyName(),
Integer.toString(p.getLineNumber() + 1));
Expand Down
2 changes: 1 addition & 1 deletion build/shared/lib/languages/PDE.properties
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ editor.status.bad.generic = Possibly missing type in generic near '%s'?
editor.status.bad.identifier = Bad identifier? Did you forget a variable or start an identifier with digits near '%s'?
editor.status.bad.parameter = Error on parameter or method declaration near '%s'?
editor.status.extraneous = Unexpected extra code near '%s'?
editor.status.mismatched = Missing operator or semicolon near '%s'?
editor.status.mismatched = Missing operator, semicolon, or '}' near '%s'?
editor.status.missing.name = Missing name or ; near '%s'?
editor.status.missing.type = Missing name or ; or type near '%s'?

Expand Down
2 changes: 1 addition & 1 deletion build/shared/lib/languages/PDE_es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ editor.status.bad.identifier = Error en este identificador? Es posible que tu ol
editor.status.bad.generic = Error en genérico cerca '%s'. Falta un tipo?
editor.status.bad.parameter = Error en un parámetro o una declaración de método cerca '%s'?
editor.status.extraneous = Imprevisto clave cerca '%s'?
editor.status.mismatched = Falta un punto y coma o un operador cerca '%s'?
editor.status.mismatched = Falta un punto y coma, un operador, o un '}' cerca '%s'?
editor.status.missing.name = Falta ; o nombre cerca '%s'?
editor.status.missing.type = Falta ; o nombre o tipo cerca '%s'?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ public static PreprocessIssueMessageSimplifierFacade get() {
*/
private PreprocessIssueMessageSimplifierFacade() {
strategies = new ArrayList<>();
strategies.add(new MissingCurlyAtStartMessageSimplifierStrategy());
strategies.add(new MissingCurlyAtSemicolonMessageSimplifierStrategy());
strategies.add(new MissingGenericTypeMessageSimplifierStrategy());
strategies.add(new MissingIdentifierMessageSimplifierStrategy());
strategies.add(new KnownMissingMessageSimplifierStrategy());
Expand All @@ -93,7 +95,7 @@ private PreprocessIssueMessageSimplifierFacade() {
* @return An improved error message or the originalMessage if no improvements could be made.
*/
public IssueMessageSimplification simplify(String originalMessage) {
System.err.println(originalMessage);
//System.err.println(originalMessage);
Optional<IssueMessageSimplification> matching = strategies.stream()
.map((x) -> x.simplify(originalMessage))
.filter(Optional::isPresent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class BadParamMessageSimplifierStrategy

@Override
public String getRegexPattern() {
return "([a-zA-Z0-9_]+\\s*,|[a-zA-Z0-9_]\\)|\\([^\\)]+)";
return "([a-zA-Z0-9_]+\\s*,|[a-zA-Z0-9_]+\\)|\\([^\\)]+)";
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ private DefaultErrorLocalStrSet() {
localizations.put("editor.status.missing.name", "Missing name near %s?");
localizations.put("editor.status.missing.type", "Missing name or type near %s?");
localizations.put("editor.status.missing.default", "Missing '%s'?");
localizations.put("editor.status.missing.right_curly_bracket", "Missing '}'");
localizations.put("editor.status.missing.left_curly_bracket", "Missing '{'");
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,7 @@ public Optional<IssueMessageSimplification> simplify(String message) {

return Optional.of(
new IssueMessageSimplification(
newMessage,
true
newMessage
)
);
} else {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package processing.mode.java.preproc.issue.strategy;

import processing.mode.java.preproc.issue.IssueMessageSimplification;

import java.util.Optional;


/**
* Strategy to catch a missing curly at a semicolon.
*/
public class MissingCurlyAtSemicolonMessageSimplifierStrategy
implements PreprocIssueMessageSimplifierStrategy {

@Override
public Optional<IssueMessageSimplification> simplify(String message) {
if (!message.equals("missing ';' at '{'")) {
return Optional.empty();
}

return Optional.of(new IssueMessageSimplification(
MessageSimplifierUtil.getLocalStr("editor.status.missing.right_curly_bracket")
));
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package processing.mode.java.preproc.issue.strategy;

import processing.mode.java.preproc.issue.IssueMessageSimplification;

import java.util.Optional;

public class MissingCurlyAtStartMessageSimplifierStrategy
implements PreprocIssueMessageSimplifierStrategy {

@Override
public Optional<IssueMessageSimplification> simplify(String message) {
boolean matches = message.endsWith("expecting {'throws', '{'}");
matches = matches || message.endsWith("expecting {'throws', '{', '[', ';'}");

if (!matches) {
return Optional.empty();
}

return Optional.of(new IssueMessageSimplification(
MessageSimplifierUtil.getLocalStr("editor.status.missing.left_curly_bracket")
));
}

}