- edited description
Exception when printing error message for simple syntax error
Issue #267
resolved
JastAdd 2.2.2 prints a stack trace instead caused by using a token as a format string during error reporting. Here is a test case:
aspect Test {
syn String A.v() = "%s
}
Here is the JastAdd output:
java.util.MissingFormatArgumentException: Format specifier '%s'
at java.util.Formatter.format(Formatter.java:2519)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at org.jastadd.Problem$ProblemBuilder.message(Problem.java:46)
at org.jastadd.JastAdd.parseAspect(JastAdd.java:558)
at org.jastadd.JastAdd.readJragFiles(JastAdd.java:292)
at org.jastadd.JastAdd.compile(JastAdd.java:184)
at org.jastadd.JastAdd.compile(JastAdd.java:130)
at org.jastadd.JastAdd.main(JastAdd.java:115)]>
Comments (3)
-
reporter -
reporter - edited description
-
reporter - changed status to resolved
Add non-formating message method to ProblemBuilder
Added a non-formating message method to ProblemBuilder to avoid inadvertent use of literal messages as format strings.
fixes
#267(bitbucket)→ <<cset 6a5632f8db28>>
- Log in to comment