@Override public <T> void visitCtClass(CtClass<T> ctClass) { context.pushCurrentThis(ctClass); if (ctClass.getSimpleName() != null && !CtType.NAME_UNKNOWN.equals(ctClass.getSimpleName()) && !ctClass.isAnonymous()) { visitCtType(ctClass); if (ctClass.isLocalType()) { printer.writeKeyword("class").writeSpace().writeIdentifier(ctClass.getSimpleName().replaceAll("^[0-9]*", "")); } else { printer.writeKeyword("class").writeSpace().writeIdentifier(ctClass.getSimpleName()); } elementPrinterHelper.writeFormalTypeParameters(ctClass); elementPrinterHelper.writeExtendsClause(ctClass); elementPrinterHelper.writeImplementsClause(ctClass); } printer.writeSpace().writeSeparator("{").incTab(); elementPrinterHelper.writeElementList(ctClass.getTypeMembers()); getPrinterHelper().adjustEndPosition(ctClass); printer.decTab().writeSeparator("}"); context.popCurrentThis(); }