public Iterator getAllBaseTypes ( ) { ArrayList baseTypes = new ArrayList ( ) ; baseTypes . addAll ( _directBaseTypes . values ( ) ) ; for ( int idx = baseTypes . size ( ) - 1 ; idx >= 0 ; idx -- ) { ClassDescriptorDef curClassDef = ( ClassDescriptorDef ) baseTypes . get ( idx ) ; for ( Iterator it = curClassDef . getDirectBaseTypes ( ) ; it . hasNext ( ) ; ) { ClassDescriptorDef curBaseTypeDef = ( ClassDescriptorDef ) it . next ( ) ; if ( ! baseTypes . contains ( curBaseTypeDef ) ) { baseTypes . add ( 0 , curBaseTypeDef ) ; idx ++ ; } } } return baseTypes . iterator ( ) ; }
Returns all base types .