void addAllClasses ( ListBuffer < ClassDocImpl > l , boolean filtered ) { try { if ( isSynthetic ( ) ) return ; // sometimes synthetic classes are not marked synthetic if ( ! JavadocTool . isValidClassName ( tsym . name . toString ( ) ) ) return ; if ( filtered && ! env . shouldDocument ( tsym ) ) return ; if ( l . contains ( this ) ) return ; l . append ( this ) ; List < ClassDocImpl > more = List . nil ( ) ; for ( Scope . Entry e = tsym . members ( ) . elems ; e != null ; e = e . sibling ) { if ( e . sym != null && e . sym . kind == Kinds . TYP ) { ClassSymbol s = ( ClassSymbol ) e . sym ; ClassDocImpl c = env . getClassDoc ( s ) ; if ( c . isSynthetic ( ) ) continue ; if ( c != null ) more = more . prepend ( c ) ; } } // this extra step preserves the ordering from oldjavadoc for ( ; more . nonEmpty ( ) ; more = more . tail ) { more . head . addAllClasses ( l , filtered ) ; } } catch ( CompletionFailure e ) { // quietly ignore completion failures } }
Adds all inner classes of this class and their inner classes recursively to the list l .