diff --git a/config/src/main/java/com/typesafe/config/impl/Tokens.java b/config/src/main/java/com/typesafe/config/impl/Tokens.java index 2778bbf4..61a4679c 100644 --- a/config/src/main/java/com/typesafe/config/impl/Tokens.java +++ b/config/src/main/java/com/typesafe/config/impl/Tokens.java @@ -121,6 +121,10 @@ final class Tokens { this.cause = cause; } + String what() { + return what; + } + String message() { return message; } @@ -139,6 +143,9 @@ final class Tokens { sb.append('\''); sb.append(what); sb.append('\''); + sb.append(" ("); + sb.append(message); + sb.append(")"); return sb.toString(); } @@ -276,6 +283,14 @@ final class Tokens { return token instanceof Problem; } + static String getProblemWhat(Token token) { + if (token instanceof Problem) { + return ((Problem) token).what(); + } else { + throw new ConfigException.BugOrBroken("tried to get problem what from " + token); + } + } + static String getProblemMessage(Token token) { if (token instanceof Problem) { return ((Problem) token).message(); diff --git a/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala b/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala index ba108efa..2449a37e 100644 --- a/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala +++ b/config/src/test/scala/com/typesafe/config/impl/TokenizerTest.scala @@ -229,9 +229,9 @@ class TokenizerTest extends TestUtils { val problem = tokenized(1) assertTrue("reserved char is a problem", Tokens.isProblem(problem)) if (invalid == '+') - assertEquals("'end of file'", problem.toString()) + assertEquals("end of file", Tokens.getProblemWhat(problem)) else - assertEquals("'" + invalid + "'", problem.toString()) + assertEquals("" + invalid, Tokens.getProblemWhat(problem)) } } }