boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "string_injection")) return false; if (!nextTokenIsFast(b, T_DOLLAR)) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_, STRING_INJECTION, null); r = consumeTokenFast(b, T_DOLLAR); p = r; // pin = 1 r = r && string_injection_body(b, l + 1); exit_section_(b, l, m, r, p, null); return r || p; }