Really treat String as primitive type: don't give a presenter chance for additional conversions. weakfx
authorJaroslav Tulach <jtulach@netbeans.org>
Wed, 17 Dec 2014 21:37:30 +0100
branchweakfx
changeset 913969216d2cb0b
parent 912 6aa384fee649
child 914 684f9cbfb450
Really treat String as primitive type: don't give a presenter chance for additional conversions.
boot/src/main/java/org/netbeans/html/boot/impl/JavaScriptProcesor.java
json-tck/src/main/java/net/java/html/js/tests/Bodies.java
json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
     1.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/JavaScriptProcesor.java	Wed Dec 17 18:09:12 2014 +0100
     1.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/JavaScriptProcesor.java	Wed Dec 17 21:37:30 2014 +0100
     1.3 @@ -392,7 +392,6 @@
     1.4              return;
     1.5          }
     1.6          final TypeElement selfType = (TypeElement)m.getEnclosingElement();
     1.7 -        final TypeMirror stringType = processingEnv.getElementUtils().getTypeElement("java.lang.String").asType();
     1.8          
     1.9          
    1.10          source.append("\n  public java.lang.Object ")
    1.11 @@ -421,7 +420,7 @@
    1.12              source.append(sep);
    1.13              ++cnt;
    1.14              final TypeMirror t = ve.asType();
    1.15 -            if (!t.getKind().isPrimitive() && !processingEnv.getTypeUtils().isSameType(t, stringType)) {
    1.16 +            if (!t.getKind().isPrimitive() && !"java.lang.String".equals(t.toString())) { // NOI18N
    1.17                  source.append("Object");
    1.18                  convert.append("    if (p instanceof org.netbeans.html.boot.spi.Fn.FromJavaScript) {\n");
    1.19                  convert.append("      arg").append(cnt).
     2.1 --- a/json-tck/src/main/java/net/java/html/js/tests/Bodies.java	Wed Dec 17 18:09:12 2014 +0100
     2.2 +++ b/json-tck/src/main/java/net/java/html/js/tests/Bodies.java	Wed Dec 17 21:37:30 2014 +0100
     2.3 @@ -193,7 +193,7 @@
     2.4      public static native String problematicCallback();
     2.5  
     2.6      @JavaScriptBody(args = { "sum" }, javacall = true, body = 
     2.7 -        "return sum.@net.java.html.js.tests.Sum::all(ZBSIJFDCLjava/lang/String;)(false, 1, 2, 3, 5, 6, 7, 'A', 'TheEND');\n"
     2.8 +        "return sum.@net.java.html.js.tests.Sum::all(ZBSIJFDCLjava/lang/String;)(false, 1, 2, 3, 5, 6, 7, 32, 'TheEND');\n"
     2.9      )
    2.10      static native String primitiveTypes(Sum sum);
    2.11      
     3.1 --- a/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java	Wed Dec 17 18:09:12 2014 +0100
     3.2 +++ b/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java	Wed Dec 17 21:37:30 2014 +0100
     3.3 @@ -342,7 +342,7 @@
     3.4      
     3.5      @KOTest public void primitiveTypes() {
     3.6          String all = Bodies.primitiveTypes(new Sum());
     3.7 -        assert "All:1 34567.08.0".equals(all) : "Valid return type: " + all;
     3.8 +        assert "Ahojfalse12356.07.0 TheEND".equals(all) : "Valid return type: " + all;
     3.9      }
    3.10      
    3.11      @KOTest public void problematicString() {