public void executeQueuedActions() {
Package pkg = null;
while (( pkg = reloadPackageCompilationData.poll() ) != null) {
// first reload package compilation data
DialectRuntimeRegistry registry = pkg.getDialectRuntimeRegistry();
registry.onBeforeExecute();
// then re-resolve type definitions
for( TypeDeclaration type : pkg.getTypeDeclarations().values() ) {
try {
type.setTypeClass( this.rootClassLoader.loadClass( type.getTypeClassName() ) );
pkg.setClassFieldAccessorCache( new ClassFieldAccessorCache( this.rootClassLoader ) );