diff -r 1bdeeb77f5a3 -r 9359b006782b core/src/main/java/org/apidesign/bck2brwsr/core/impl/JavaScriptProcesor.java --- a/core/src/main/java/org/apidesign/bck2brwsr/core/impl/JavaScriptProcesor.java Sat Jan 12 16:29:29 2013 +0100 +++ b/core/src/main/java/org/apidesign/bck2brwsr/core/impl/JavaScriptProcesor.java Mon Jan 14 11:30:56 2013 +0100 @@ -53,7 +53,7 @@ @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { for (Element e : roundEnv.getElementsAnnotatedWith(JavaScriptBody.class)) { - if (e.getKind() != ElementKind.METHOD) { + if (e.getKind() != ElementKind.METHOD && e.getKind() != ElementKind.CONSTRUCTOR) { continue; } ExecutableElement ee = (ExecutableElement)e; @@ -61,13 +61,7 @@ JavaScriptBody jsb = e.getAnnotation(JavaScriptBody.class); String[] arr = jsb.args(); - int indx; - if (!ee.getModifiers().contains(Modifier.STATIC)) { - indx = 1; - } else { - indx = 0; - } - if (indx + params.size() != arr.length) { + if (params.size() != arr.length) { processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Number of args arguments does not match real arguments!", e); } } @@ -81,14 +75,8 @@ StringBuilder sb = new StringBuilder(); if (e.getKind() == ElementKind.METHOD && member.getSimpleName().contentEquals("args")) { ExecutableElement ee = (ExecutableElement) e; - String sep; - if (!ee.getModifiers().contains(Modifier.STATIC)) { - sb.append("{ \"self\""); - sep = ", "; - } else { - sb.append("{ "); - sep = ""; - } + String sep = ""; + sb.append("{ "); for (VariableElement ve : ee.getParameters()) { sb.append(sep).append('"').append(ve.getSimpleName()) .append('"');