if (!"Dummy".equals(classDeclaration.getName())) { throw new ParseException(MessageFormat.format( "Expected [{0}] as type declaration.", "Dummy"));
@Override public void visit(ClassOrInterfaceDeclaration n, Object arg) { currentClass = new CGEntry(CGEntry.TYPE.CLASS, currentClass, null, n.getName()); if (mainClass == null) { mainClass = currentClass; mainClass.setMainClass(true); mainClass.setPackage(pack); } if (isDebug()) System.out.println("C:" + currentClass); list.add(currentClass); List<AnnotationExpr> annos = n.getAnnotations(); if (annos != null) { for (AnnotationExpr anno : annos) { if (isDebug()) System.out.println("A:" + anno.getName()); currentClass.addAnnotation(new CGEntry(TYPE.ANNOTATION, currentClass, currentMethod, anno.getName().getName())); } } super.visit(n, arg); if (currentClass != null ) currentClass = currentClass.getClazz(); }
printer.print(n.getName());
printer.print(n.getName());
@Override public Boolean visit(final ClassOrInterfaceDeclaration n1, final Node arg) { final ClassOrInterfaceDeclaration n2 = (ClassOrInterfaceDeclaration) arg; // javadoc are checked at CompilationUnit if (n1.getModifiers() != n2.getModifiers()) { return Boolean.FALSE; } if (n1.isInterface() != n2.isInterface()) { return Boolean.FALSE; } if (!objEquals(n1.getName(), n2.getName())) { return Boolean.FALSE; } if (!nodesEquals(n1.getAnnotations(), n2.getAnnotations())) { return Boolean.FALSE; } if (!nodesEquals(n1.getTypeParameters(), n2.getTypeParameters())) { return Boolean.FALSE; } if (!nodesEquals(n1.getExtends(), n2.getExtends())) { return Boolean.FALSE; } if (!nodesEquals(n1.getImplements(), n2.getImplements())) { return Boolean.FALSE; } if (!nodesEquals(n1.getMembers(), n2.getMembers())) { return Boolean.FALSE; } return Boolean.TRUE; }
@Override public NodeData resolve(Node node, String mappedClass) { if (!(node instanceof ClassOrInterfaceDeclaration)) { throw new IllegalArgumentException("this annotation belongs only on ClassOrInterfaceDeclaration"); } final TypeDeclaration dclr = (TypeDeclaration) node; if (!(dclr.getParentNode() instanceof CompilationUnit)) { //handling nested classes return null; } final String name = dclr.getName(); final Collection<FieldDescriptor> primaryKeyDescriptors = getPrimaryKeyDescriptors(mappedClass); if (primaryKeyDescriptors != null && primaryKeyDescriptors.size() > 1 && nodeContainsPkFields(dclr, primaryKeyDescriptors)) { final NodeAndImports<ClassOrInterfaceDeclaration> primaryKeyClass = createPrimaryKeyClass(name, primaryKeyDescriptors); final String pkClassName = primaryKeyClass.node.getName(); return new NodeData(new SingleMemberAnnotationExpr(new NameExpr(SIMPLE_NAME), new NameExpr(name + "." + pkClassName + ".class")), new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false), primaryKeyClass.imprts, primaryKeyClass.node); } return null; }
@Override public Node visit(ClassOrInterfaceDeclaration _n, Object _arg) { JavadocComment javaDoc = cloneNodes(_n.getJavaDoc(), _arg); List<AnnotationExpr> annotations = visit(_n.getAnnotations(), _arg); List<TypeParameter> typeParameters = visit(_n.getTypeParameters(), _arg); List<ClassOrInterfaceType> extendsList = visit(_n.getExtends(), _arg); List<ClassOrInterfaceType> implementsList = visit(_n.getImplements(), _arg); List<BodyDeclaration> members = visit(_n.getMembers(), _arg); Comment comment = cloneNodes(_n.getComment(), _arg); ClassOrInterfaceDeclaration r = new ClassOrInterfaceDeclaration( _n.getBeginLine(), _n.getBeginColumn(), _n.getEndLine(), _n.getEndColumn(), _n.getModifiers(), annotations, _n.isInterface(), _n.getName(), typeParameters, extendsList, implementsList, members ); r.setComment(comment); return r; }