Warning: session_start(): open(/var/lib/php/sessions/sess_30e685tf55pbpq24e536vndhcl, 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
static WeakHashMap> callF_cache = new WeakHashMap;
static O callF_cached(O f, O... args) ctex {
if (f == null) ret null;
if (f instanceof Runnable) {
((Runnable) f).run();
null;
}
if (f instanceof S)
ret call(mc(), (S) f, args);
Class c = f.getClass();
ArrayList methods;
synchronized(callF_cache) {
methods = callF_cache.get(c);
if (methods == null)
methods = callF_makeCache(c);
}
int n = l(methods);
if (n == 0) fail("No get method in " + getClassName(c));
if (n == 1) ret methods.get(0).invoke(f, args);
for i to n: {
Method m = methods.get(i);
if (call_checkArgs(m, args, false))
ret m.invoke(f, args);
}
fail("No matching get method in " + getClassName(c));
}
// used internally
static ArrayList callF_makeCache(Class c) {
new ArrayList l;
Class _c = c;
do {
for (Method m : _c.getDeclaredMethods())
if (m.getName().equals("get")) {
m.setAccessible(true);
l.add(m);
}
if (!l.isEmpty()) break;
_c = _c.getSuperclass();
} while (_c != null);
callF_cache.put(c, l);
ret l;
}