public boolean scanDir ( String dirname ) { Path base = Paths . get ( dirname ) ; int baseCount = base . getNameCount ( ) ; finder . addDir ( dirname ) ; try ( Stream < Path > paths = Files . walk ( Paths . get ( dirname ) ) ) { List < Path > classes = paths . filter ( p -> p . getNameCount ( ) > baseCount ) . filter ( path -> path . toString ( ) . endsWith ( ".class" ) ) . filter ( path -> ! path . toString ( ) . endsWith ( "package-info.class" ) ) . filter ( path -> ! path . toString ( ) . endsWith ( "module-info.class" ) ) . collect ( Collectors . toList ( ) ) ; out . println ( Messages . get ( "scan.head.dir" , dirname ) ) ; for ( Path p : classes ) { processClass ( ClassFile . read ( p ) ) ; } return true ; } catch ( IOException | ConstantPoolException ex ) { errorException ( ex ) ; return false ; } }
Scans class files in the named directory hierarchy for uses of deprecated APIs .