prevent external base types from generating cleanup code for freelist
make sure we always have a set of directives on CClassScope instances