Lines Matching defs:state

1026 #define FstringParser_check_invariants(state)
1029 FstringParser_check_invariants(FstringParser *state)
1031 if (state->last_str) {
1032 assert(PyUnicode_CheckExact(state->last_str));
1034 ExprList_check_invariants(&state->expr_list);
1039 _PyPegen_FstringParser_Init(FstringParser *state)
1041 state->last_str = NULL;
1042 state->fmode = 0;
1043 ExprList_Init(&state->expr_list);
1044 FstringParser_check_invariants(state);
1048 _PyPegen_FstringParser_Dealloc(FstringParser *state)
1050 FstringParser_check_invariants(state);
1052 Py_XDECREF(state->last_str);
1053 ExprList_Dealloc(&state->expr_list);
1087 _PyPegen_FstringParser_ConcatAndDel(FstringParser *state, PyObject *str)
1089 FstringParser_check_invariants(state);
1098 if (!state->last_str) {
1100 state->last_str = str;
1103 PyUnicode_AppendAndDel(&state->last_str, str);
1104 if (!state->last_str) {
1108 FstringParser_check_invariants(state);
1115 _PyPegen_FstringParser_ConcatFstring(Parser *p, FstringParser *state, const char **str,
1119 FstringParser_check_invariants(state);
1120 state->fmode = 1;
1140 if (literal && _PyPegen_FstringParser_ConcatAndDel(state, literal) < 0) {
1145 if (expr_text && _PyPegen_FstringParser_ConcatAndDel(state, expr_text) < 0) {
1150 been transferred to the state object. Don't look at them again. */
1167 if (state->last_str) {
1169 expr_ty last_str = make_str_node_and_del(p, &state->last_str, first_token, last_token);
1170 if (!last_str || ExprList_Append(&state->expr_list, last_str) < 0) {
1175 if (ExprList_Append(&state->expr_list, expression) < 0) {
1192 FstringParser_check_invariants(state);
1196 /* Convert the partial state reflected in last_str and expr_list to an
1199 _PyPegen_FstringParser_Finish(Parser *p, FstringParser *state, Token* first_token,
1204 FstringParser_check_invariants(state);
1208 if (!state->fmode) {
1209 assert(!state->expr_list.size);
1210 if (!state->last_str) {
1212 state->last_str = PyUnicode_FromStringAndSize(NULL, 0);
1213 if (!state->last_str) {
1217 return make_str_node_and_del(p, &state->last_str, first_token, last_token);
1222 if (state->last_str) {
1223 expr_ty str = make_str_node_and_del(p, &state->last_str, first_token, last_token);
1224 if (!str || ExprList_Append(&state->expr_list, str) < 0) {
1229 assert(state->last_str == NULL);
1231 seq = ExprList_Finish(&state->expr_list, p->arena);
1241 _PyPegen_FstringParser_Dealloc(state);
1252 FstringParser state;
1254 _PyPegen_FstringParser_Init(&state);
1255 if (_PyPegen_FstringParser_ConcatFstring(p, &state, str, end, raw, recurse_lvl,
1257 _PyPegen_FstringParser_Dealloc(&state);
1261 return _PyPegen_FstringParser_Finish(p, &state, t, t);