### Godot version

4.0 Beta 11 to 13

### System information

Windows 10

### Issue description

When trying to upgrade from Beta 10 one of my projects would immediately crash when opening the editor, with no error in the console which also crashed. I managed to isolate it to this enum:

```
enum { # Directions, clockwise, powers of 100, each direction gets 2 digits, allowing 100 terrains
	CENTER = 01,
	NORTH = 0100, # -Z
	NORTH_EAST = 010000,
	EAST = 01000000, # +X
	SOUTH_EAST = 0100000000,
	SOUTH = 010000000000, # +Z
	SOUTH_WEST = 01000000000000,
	WEST = 0100000000000000, # -X
	NORTH_WEST = 010000000000000000,
	ALL = 010101010101010101,
	ALL_CORNERS = NORTH_EAST + SOUTH_EAST + SOUTH_WEST + NORTH_WEST,
}
```

With this last line causing the crash:
`ALL_CORNERS = NORTH_EAST + SOUTH_EAST + SOUTH_WEST + NORTH_WEST,`

This worked in all the betas I've used up to and including Beta 10


### Steps to reproduce

Copy and paste that enum into a script, and save. Simply having a script with this enum will cause the editor to crash, the script doesn't need to be used anywhere.

### Minimal reproduction project

N/A
int index = E.key;
			if (index < par_types.size() && par_types[index].has_container_element_type()) {
				update_array_literal_element_type(par_types[index], E.value);
			}
		}
		validate_call_arg(par_types, default_arg_count, is_vararg, p_call);
		if (base_type.kind == GDScriptParser::DataType::ENUM && base_type.is_meta_type) {
			
			base_type.is_meta_type = false;
		}
		if (is_self && parser->current_function != nullptr && parser->current_function->is_static && !is_static) {
			
			GDScriptParser::FunctionNode *parent_function = parser->current_function;
			while (parent_function->source_lambda) {
				parent_function = parent_function->source_lambda->parent_function;
			}
			push_error(vformat(R"*(Cannot call non-static function "%s()" from static function "%s()".)*", p_call->function_name, parent_function->identifier->name), p_call);
		} else if (!is_self && base_type.is_meta_type && !is_static) {
			base_type.is_meta_type = false; 
			push_error(vformat(R"*(Cannot call non-static function "%s()" on the class "%s" directly. Make an instance instead.)*", p_call->function_name, base_type.to_string()), p_call);
		} else if (is_self && !is_static) {
			mark_lambda_use_self();
		}
		if (!p_is_root && !p_is_await && return_type.is_hard_type() && return_type.kind == GDScriptParser::DataType::BUILTIN && return_type.builtin_type == Variant::NIL) {
			push_error(vformat(R"*(Cannot get return value of call to "%s()" because it returns "void".)*", p_call->function_name), p_call);
		}
#ifdef DEBUG_ENABLED
		if (p_is_root && return_type.kind != GDScriptParser::DataType::UNRESOLVED && return_type.builtin_type != Variant::NIL) {
			parser->push_warning(p_call, GDScriptWarning::RETURN_VALUE_DISCARDED, p_call->function_name);
		}