コード例 #1
0
ファイル: ImportManager.java プロジェクト: sposam/FreeBuilder
 @Override
 public String visitDeclared(DeclaredType mirror, Void p) {
   Name name = mirror.asElement().getSimpleName();
   final String prefix;
   Element enclosingElement = mirror.asElement().getEnclosingElement();
   if (mirror.getEnclosingType().getKind() != TypeKind.NONE) {
     prefix = visit(mirror.getEnclosingType()) + ".";
   } else if (enclosingElement.getKind() == ElementKind.PACKAGE) {
     PackageElement pkg = (PackageElement) enclosingElement;
     prefix = getPrefixForTopLevelClass(pkg.getQualifiedName().toString(), name);
   } else if (enclosingElement.getKind().isClass() || enclosingElement.getKind().isInterface()) {
     prefix = shorten((TypeElement) enclosingElement) + ".";
   } else {
     prefix = enclosingElement.toString() + ".";
   }
   final String suffix;
   if (!mirror.getTypeArguments().isEmpty()) {
     List<String> shortTypeArguments = Lists.transform(mirror.getTypeArguments(), this);
     suffix = "<" + Joiner.on(", ").join(shortTypeArguments) + ">";
   } else {
     suffix = "";
   }
   return prefix + name + suffix;
 }
コード例 #2
0
 @Override
 public TypeMirror getEnclosingType() {
   return declaredType.getEnclosingType();
 }