svoid tok_questionDot(LS tok) { jreplace_dyn(tok, " ?.", func(L tok, int i) -> S { S var = tok.get(i); bool isExpression = eqGetOneOf(tok, i-2, "ret", "return", ",", "=", "(", "?"); // too few if (!isExpression) ret "if (\*var*/ != null) \*var*/."; // TODO: brackets ret "\*var*/ == null ? null : \*var*/."; }); }