Warning: session_start(): open(/var/lib/php/sessions/sess_jud9he0vuev186mb0mj1ft5b3d, 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
// only one default argument per declaration for now
svoid tok_defaultArguments(LS tok) {
int i;
while ((i = jfind(tok, " default")) >= 0) {
int iOpening = lastIndexOf(tok, i, "(");
int iClosing = indexOf(tok, i, ")");
//S args = joinSubList(tok, iOpening+2, iClosing-1);
int iName = iOpening-2;
S name = assertIdentifier(get(tok, iName));
int iType = tok_leftScanType(tok, iName);
int iStart = tok_leftScanTypeArgsOpt(tok, iType);
iStart = leftScanModifiers(tok, iStart);
print("Found method head: " + joinSubList(tok, iStart, iClosing+1));
int iEndOfExpr = tok_findEndOfExpression(tok, i+4); // should point at comma or closing bracket
clearTokens_reTok(tok, i+1, iEndOfExpr);
LS args1 = tok_parseArgsDeclList2(subList(tok, iOpening+1, i-2));
LS args2 = tok_parseArgsDeclList2(subList(tok, iEndOfExpr+1, iClosing+2));
S rewrittenHead = joinSubList(tok, iStart, iOpening+1)
+ joinWithComma(concatLists(args1, args2)) + ")";
bool isVoid = eqGet(tok, iType, "void");
tokPrepend_reTok(tok, iStart, rewrittenHead + " { "
+ (isVoid ? "" : "return ") + name + "(" +
joinWithComma(concatLists(
map tok_lastIdentifier(args1),
ll(joinSubList(tok, i+4, iEndOfExpr)),
map tok_lastIdentifier(args2))) + "); }\n");
}
}