boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "composed_var")) return false; if (!nextTokenIs(b, DOLLAR)) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_); r = consumeToken(b, DOLLAR); r = r && composed_var_1(b, l + 1); p = r; // pin = 2 r = r && composed_var_inner(b, l + 1); exit_section_(b, l, m, r, p, null); return r || p; }