This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See https://gitlab.nuiton.org/nuiton/jaxx.git commit 5fdf271d20ae5f5f549ad01c36c91b0280a15bc3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 2 12:58:39 2016 +0200 Let's consume the constructor body as a simple node with the code --- .../java/jaxx/compiler/java/parser/JavaParser.java | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/jaxx-compiler/src/main/java/jaxx/compiler/java/parser/JavaParser.java b/jaxx-compiler/src/main/java/jaxx/compiler/java/parser/JavaParser.java index fc2d9b5..02e65b5 100644 --- a/jaxx-compiler/src/main/java/jaxx/compiler/java/parser/JavaParser.java +++ b/jaxx-compiler/src/main/java/jaxx/compiler/java/parser/JavaParser.java @@ -1951,9 +1951,17 @@ public class JavaParser/*@bgen(jjtree)*/ implements JavaParserTreeConstants, Jav } else { ; } + + // >>> -------------------------- Only keep one node with text for constructor body + + StringBuilder constructoRawBody = new StringBuilder(); // We do not care about what is inside the constructor, let's allow java 8 lambdas! int lbraceNb = 1;// 1 left brace consumed // while all the left braces have not been closed + SimpleNode jjtBody = new SimpleNode(JJTSTATEMENT); + jjtree.openNodeScope(jjtBody); + jjtreeOpenNodeScope(jjtBody); + while (lbraceNb > 0) { switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk) { case LBRACE: // new left brace opened @@ -1965,8 +1973,23 @@ public class JavaParser/*@bgen(jjtree)*/ implements JavaParserTreeConstants, Jav default: break; } - jj_consume_token(jj_ntk); + Token token = jj_consume_token(jj_ntk); + if (lbraceNb > 0) { + if (token.specialToken !=null) { + constructoRawBody.append(token.specialToken); + } + constructoRawBody.append(token.image); + } } + Token bodyToken = new Token(); + bodyToken.image = constructoRawBody.toString(); + jjtBody.firstToken = bodyToken; + + jjtree.closeNodeScope(jjtBody, true); + jjtreeCloseNodeScope(jjtBody); + + // <<< -------------------------- Only keep one node with text for constructor body + } catch (Throwable jjte000) { if (jjtc000) { jjtree.clearNodeScope(jjtn000); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.