/** {@inheritDoc} */ @Override public void visit(ClassOrInterfaceDeclaration n, ClassBuilder builder) { classNames.addLast(n.getNameAsString()); if (n.getParentNode().isPresent() && n.getParentNode().get() instanceof CompilationUnit) { super.visit(n, builder); setAttributes(builder, n); } else { String fullPackageName = packageName + "." + classNames.stream().limit(classNames.size() - 1).collect(joining(".")); imports.put(n.getNameAsString(), fullPackageName); ClassBuilder child = ClassBuilder.classBuilder(); child.withPackageName(fullPackageName); setAttributes(child, n); super.visit(n, child); builder.withInnerClass(child.build()); } classNames.removeLast(); }
@Override public String visit(final ClassOrInterfaceDeclaration n, final Object arg) { StringBuilder name = new StringBuilder(); Node it = n.getParentNode(); while (it instanceof ClassOrInterfaceDeclaration) { ClassOrInterfaceDeclaration superclass = (ClassOrInterfaceDeclaration) it; name.append(superclass.getName()).append("."); it = it.getParentNode(); } if (it instanceof CompilationUnit) { if (name.length() == 0) { name.append(((CompilationUnit) it).getPackage().getName().toString()).append("."); } else { name.insert(0, ((CompilationUnit) it).getPackage().getName().toString() + "."); } } name.append(n.getName()); return name.toString(); } }
if(classDeclarationOf.getParentNode() instanceof ClassOrInterfaceDeclaration) { return findClassNamed(scope, (ClassOrInterfaceDeclaration) classDeclarationOf.getParentNode()); } else { Node node = classDeclarationOf;
Optional<Node> maybeParent = n.getParentNode(); if (maybeParent.isPresent()) { Node parent = maybeParent.get();