1.1 --- a/project.jsjava/src/org/netbeans/modules/project/jsjava/JSNI2JavaScriptBody.java Fri Jan 24 19:41:30 2014 +0100
1.2 +++ b/project.jsjava/src/org/netbeans/modules/project/jsjava/JSNI2JavaScriptBody.java Mon Jan 27 06:17:04 2014 +0100
1.3 @@ -162,7 +162,21 @@
1.4 if (body.contains("@") && body.contains("::")) {
1.5 arr.add(make.Assignment(make.Identifier("javacall"), make.Literal(true)));
1.6 }
1.7 - arr.add(make.Assignment(make.Identifier("body"), make.Literal(body)));
1.8 + ExpressionTree exp = null;
1.9 + final String[] lines = body.split("\n");
1.10 + for (int i = 0; i < lines.length; i++) {
1.11 + String line = lines[i];
1.12 + if (i < lines.length - 1) {
1.13 + line = line + "\n";
1.14 + }
1.15 + if (exp == null) {
1.16 + exp = make.Literal(line);
1.17 + } else {
1.18 + exp = make.Binary(Kind.PLUS, exp, make.Literal(line));
1.19 + }
1.20 +
1.21 + }
1.22 + arr.add(make.Assignment(make.Identifier("body"), exp));
1.23
1.24 AnnotationTree jsBody = make.Annotation(make.QualIdent("net.java.html.js.JavaScriptBody"), arr);
1.25 ctx.getWorkingCopy().rewrite(mt.getModifiers(), make.addModifiersAnnotation(mt.getModifiers(), jsBody));
2.1 --- a/project.jsjava/test/unit/src/org/netbeans/modules/project/jsjava/JSNI2JavaScriptBodyTest.java Fri Jan 24 19:41:30 2014 +0100
2.2 +++ b/project.jsjava/test/unit/src/org/netbeans/modules/project/jsjava/JSNI2JavaScriptBodyTest.java Mon Jan 27 06:17:04 2014 +0100
2.3 @@ -81,7 +81,7 @@
2.4 + "class Test {\n"
2.5 + "\n"
2.6 + " /** javadoc */\n"
2.7 - + " @JavaScriptBody(args = {}, body = \"\\n // body\\n \")\n"
2.8 + + " @JavaScriptBody(args = {}, body = \"\\n\" + \" // body\\n\" + \" \")\n"
2.9 + " public native void test();\n"
2.10 + "}\n";
2.11
2.12 @@ -112,7 +112,7 @@
2.13 + " /** javadoc */\n"
2.14 + " @SuppressWarnings(\"unused\")\n"
2.15 + " // comment\n"
2.16 - + " @JavaScriptBody(args = {}, body = \"\\n // body\\n \")\n"
2.17 + + " @JavaScriptBody(args = {}, body = \"\\n\" + \" // body\\n\" + \" \")\n"
2.18 + " public native void test();\n"
2.19 + "}\n";
2.20 HintTest.create()
2.21 @@ -147,8 +147,8 @@
2.22 + " /** javadoc */\n"
2.23 + " @SuppressWarnings(\"unused\")\n"
2.24 + " // comment\n"
2.25 - + " @JavaScriptBody(args = {\"builder\"}, javacall = true, body = \"\\n"
2.26 - + " @org.netbeans.modules.project.jsjava.JSNI2JavaScriptBodyTest::append(Ljava/lang/StringBuilder;Ljava/lang/String;)(builder, 'Ahoj');\\n \")\n"
2.27 + + " @JavaScriptBody(args = {\"builder\"}, javacall = true, body = \"\\n\" + "
2.28 + + " \" @org.netbeans.modules.project.jsjava.JSNI2JavaScriptBodyTest::append(Ljava/lang/StringBuilder;Ljava/lang/String;)(builder, 'Ahoj');\\n\" + \" \")\n"
2.29 + " public native void test(String builder);\n"
2.30 + "}\n";
2.31 HintTest.create()
2.32 @@ -168,7 +168,7 @@
2.33 + " @SuppressWarnings(\"unused\")\n"
2.34 + " // comment\n"
2.35 + " public native void test(String builder) /*-{\n"
2.36 - + " @java.lang.StringBuilder::append(Ljava/lang/String;)(builder, 'Ahoj');\n"
2.37 + + " builder.@java.lang.StringBuilder::append(Ljava/lang/String;)('Ahoj');\n"
2.38 + " }-*/;\n"
2.39 + "}\n";
2.40
2.41 @@ -178,8 +178,8 @@
2.42 + " /** javadoc */\n"
2.43 + " @SuppressWarnings(\"unused\")\n"
2.44 + " // comment\n"
2.45 - + " @JavaScriptBody(args = {\"builder\"}, javacall = true, body = \"\\n"
2.46 - + " @java.lang.StringBuilder::append(Ljava/lang/String;)(builder, 'Ahoj');\\n \")"
2.47 + + " @JavaScriptBody(args = {\"builder\"}, javacall = true, body = \"\\n\" + \""
2.48 + + " builder.@java.lang.StringBuilder::append(Ljava/lang/String;)('Ahoj');\\n\" + \" \")"
2.49 + " public native void test(String builder);\n"
2.50 + "}\n";
2.51 HintTest.create()