diff --git a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java index e7e2356..1fb427c 100644 --- a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java +++ b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java @@ -214,14 +214,25 @@ public class JavaParser extends Parser { value.then((validator) -> { if(validator.validate((token) -> token.getValue().equals("\""))){ - while(validator.validate( - (token) -> !token.getValue().equals("\""), - (bag, token) -> { - Token current = bag.get(); + boolean escaped = true; + while(escaped){ + while(validator.validate( + (token) -> !token.getValue().equals("\""), + (bag, token) -> { + Token current = bag.get(); + if(current == null) current = token; + else current = current.concat(token); + bag.set(current); + })); + + if(validator.validate((token) -> token.getValue().equals("\""), (bag, token) -> { + Token current = bag.get(); if(current == null) current = token; else current = current.concat(token); bag.set(current); - })); + })){ + }else escaped = false; + } return validator.validate((token) -> token.getValue().equals("\"")); }