Warning: session_start(): open(/var/lib/php/sessions/sess_pk9d4d6g1bsaokl0vi2hcng7ko, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!include #1019934 // BCEL
// A = interface we are implementing
sclass ClassMaker {
S className;
ClassGen cg;
JavaClass baked;
ClassLoader classLoader;
Class loadedClass;
*(Class interfaceToImplement) {
className = randomClassName();
cg = new ClassGen(className, "java.lang.Object", null,
Const.ACC_PUBLIC, new S[] { className(interfaceToImplement) });
cg.addEmptyConstructor(Const.ACC_PUBLIC);
}
JavaClass bake() {
if (baked == null)
JavaClass baked = cg.getJavaClass();
}
void printClassWithMethods() {
// print class overview
print(bake());
// print the methods
for (method : baked.getMethods()) {
print("\n" + method);
print(method.getCode());
}
}
simplyCached byte[] toBytes() {
ret bake().getBytes();
}
Class load() {
if (loadedClass == null) {
var bytes = toBytes();
classLoader = new InMemoryClassLoader(myClassLoader());
loadedClass = (Class) classLoader.defineAClass(className, bytes);
}
ret loadedClass;
}
A newInstance() {
ret newInstance(load());
}
}