Warning: session_start(): open(/var/lib/php/sessions/sess_5eqgvvtc2bf1347j8rb4sq3qdl, 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
/* event change; =>
transient L onChange;
selfType onChange(Runnable r) { onChange = syncAddOrCreate(onChange, r); this; }
void change() { pcallFAll(onChange); }
*/
svoid tok_eventFunctions(LS tok) {
int i;
while ((i = jfind(tok, "event ")) >= 0) {
int iSemicolon = i+4;
LS tokArgs = null;
if (eqGet(tok, i+4, "(")) {
int argsFrom = i+6;
int argsTo = findCodeTokens(tok, argsFrom, false, ")");
tokArgs = subList(tok, argsFrom-1, argsTo);
iSemicolon = argsTo+2;
}
// TODO for next version: parse modifiers in square brackets
//if (eqGet(tok, iSemicolon, "["))
if (neqGet(tok, iSemicolon, ";"))
fail("Semicolon expected at end: " + joinSubList(tok, i, iSemicolon+1));
S change = tok.get(i+2);
S onChange = "on" + firstToUpper(change);
LPairS args = tok_typesAndNamesOfParams(tokArgs);
LS types = pairsA(args);
S args1 = join(dropFirstAndLast(tokArgs));
S args2 = joinWithComma(pairsB(args));
S typeParams = joinWithComma(map tok_toNonPrimitiveTypes(types)); S listenerType = empty(args) ? "Runnable" : "IVF" + l(args) + "<" + typeParams + ">";
}
}