int main() { // Register observer ponder::addObserver(new MyObserver); // What does ponder know about? std::cout << "Before declare called:\n"; listClasses(); // Can use Person directly Person bob {"bob"}; // Now load Person's reflection layer typedef void (*PonderLoadFunction)(); // NB, no error handling yet! void* handle = dlopen("libPerson_ponder.dylib", RTLD_LAZY); PonderLoadFunction init_fcn = (PonderLoadFunction) dlsym(handle, "loadPonder"); init_fcn(); std::cout << "After declare called:\n"; listClasses(); use(); query(); visit(); return 0; }
static ObjectArray* listUserClasses(Env* env, Class* instanceofClazz) { return listClasses(env, instanceofClazz, systemClassLoader, _bcClassesHash); }
static ObjectArray* listBootClasses(Env* env, Class* instanceofClazz) { return listClasses(env, instanceofClazz, NULL, _bcBootClassesHash); }