javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/PageProcessor.java
branchmodel
changeset 929 b43aaf398748
parent 927 1b7c8f6cb621
child 930 e8916518b38d
     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  }