@SuppressWarnings("unchecked") @Override public <T, U> U getValue(T element) { return ((U) ((Object) (castTarget(element).getDeclaredTypes()))); } }
@Override public void visitCtCompilationUnit(CtCompilationUnit compilationUnit) { switch (compilationUnit.getUnitType()) { case MODULE_DECLARATION: //TODO print module declaration break; case PACKAGE_DECLARATION: //TODO print package declaration break; case TYPE_DECLARATION: calculate(compilationUnit, compilationUnit.getDeclaredTypes()); break; default: throw new SpoonException("Cannot print compilation unit of type " + compilationUnit.getUnitType()); } }
@Override public void visitCtCompilationUnit(CtCompilationUnit compilationUnit) { if (isVisitCompilationUnitContent()) { enter(compilationUnit); scan(CtRole.COMMENT, compilationUnit.getComments()); scan(CtRole.ANNOTATION, compilationUnit.getAnnotations()); scan(CtRole.PACKAGE_DECLARATION, compilationUnit.getPackageDeclaration()); scan(CtRole.DECLARED_IMPORT, compilationUnit.getImports()); //visit directly the module (instead of reference only) scan(CtRole.DECLARED_MODULE, compilationUnit.getDeclaredModule()); //visit directly the types (instead of references only) scan(CtRole.DECLARED_TYPE, compilationUnit.getDeclaredTypes()); exit(compilationUnit); } else { super.visitCtCompilationUnit(compilationUnit); } }