Warning: session_start(): open(/var/lib/php/sessions/sess_oho1ddbgdjsoiq7vuldrdg60da, 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
svoid tok_questionDot(LS tok) {
jreplace(tok, "if ( ?. ?.",
func(LS tok, int i) -> S {
S var = tok.get(i);
bool isExpression = eqGetOneOf(tok, i-2, "ret", "return", ",", "=", "(", "?"); // too few
if (!isExpression) {
int j = tok_findEndOfStatement(tok, i)-1;
tokAppend_reTok(tok, j, " }");
ret "{ if (\*var*/ != null) \*var*/.";
} else
ret "\*var*/ == null ? null : \*var*/.";
});
jreplace_dyn(tok, "()?.",
func(LS tok, int i) -> S {
int iQ = indexOf(tok, i, "?");
S expr = joinSubList(tok, i, iQ-1);
bool isExpression = eqGetOneOf(tok, i-2, "ret", "return", ",", "=", "(", "?"); // too few
S var = makeVar();
if (!isExpression) {
int j = tok_findEndOfStatement(tok, i)-1;
tokAppend_reTok(tok, j, " }");
ret "{ var \*var*/ = \*expr*/; if (\*var*/ != null) \*var*/.";
} else { // experimental
int j = tok_findEndOfExpression(tok, i)-1;
tokAppend_reTok(tok, j, ")");
ret "rCallF(\*expr*/, \*var*/ -> \*var*/ == null ?: \*var*/.";
}
});
}