1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Thu Apr 04 09:47:03 2013 +0200
1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java Thu Apr 04 11:45:54 2013 +0200
1.3 @@ -48,6 +48,7 @@
1.4 import javax.lang.model.type.MirroredTypeException;
1.5 import javax.lang.model.type.TypeKind;
1.6 import javax.lang.model.type.TypeMirror;
1.7 +import javax.lang.model.util.Elements;
1.8 import javax.lang.model.util.Types;
1.9 import javax.tools.Diagnostic;
1.10 import javax.tools.FileObject;
1.11 @@ -451,7 +452,7 @@
1.12 final TypeMirror rt = ee.getReturnType();
1.13 final Types tu = processingEnv.getTypeUtils();
1.14 TypeMirror ert = tu.erasure(rt);
1.15 - String tn = ert.toString();
1.16 + String tn = fqn(ert, ee);
1.17 boolean array = false;
1.18 if (tn.equals("java.util.List")) {
1.19 array = true;
1.20 @@ -470,7 +471,7 @@
1.21 ok = false;
1.22 }
1.23
1.24 - final String dt = pe.asType().toString();
1.25 + final String dt = fqn(pe.asType(), ee);
1.26 String[] call = toGetSet(dn, dt, false);
1.27 w.write(" " + dt + " arg" + (++arg) + " = ");
1.28 w.write(call[0] + "();\n");
1.29 @@ -721,7 +722,7 @@
1.30 params.append(")");
1.31 continue;
1.32 }
1.33 - String rn = ve.asType().toString();
1.34 + String rn = fqn(ve.asType(), ee);
1.35 int last = rn.lastIndexOf('.');
1.36 if (last >= 0) {
1.37 rn = rn.substring(last + 1);
1.38 @@ -799,4 +800,13 @@
1.39 }
1.40 return sb.toString();
1.41 }
1.42 +
1.43 + private String fqn(TypeMirror pt, Element relative) {
1.44 + if (pt.getKind() == TypeKind.ERROR) {
1.45 + final Elements eu = processingEnv.getElementUtils();
1.46 + PackageElement pckg = eu.getPackageOf(relative);
1.47 + return pckg.getQualifiedName() + "." + pt.toString();
1.48 + }
1.49 + return pt.toString();
1.50 + }
1.51 }