### 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
if (p_await->to_await == nullptr) {
		GDScriptParser::DataType await_type;
		await_type.kind = GDScriptParser::DataType::VARIANT;
		p_await->set_datatype(await_type);
		return;
	}
	GDScriptParser::DataType awaiting_type;
	if (p_await->to_await->type == GDScriptParser::Node::CALL) {
		reduce_call(static_cast<GDScriptParser::CallNode *>(p_await->to_await), true);
		awaiting_type = p_await->to_await->get_datatype();
	} else {
		reduce_expression(p_await->to_await);
	}
	if (p_await->to_await->is_constant) {
		p_await->is_constant = p_await->to_await->is_constant;
		p_await->reduced_value = p_await->to_await->reduced_value;
		awaiting_type = p_await->to_await->get_datatype();
	} else {
		awaiting_type.kind = GDScriptParser::DataType::VARIANT;
		awaiting_type.type_source = GDScriptParser::DataType::UNDETECTED;
	}
	p_await->set_datatype(awaiting_type);
#ifdef DEBUG_ENABLED
	awaiting_type = p_await->to_await->get_datatype();
	if (!(awaiting_type.has_no_type() || awaiting_type.is_coroutine || awaiting_type.builtin_type == Variant::SIGNAL)) {
		parser->push_warning(p_await, GDScriptWarning::REDUNDANT_AWAIT);
	}
#endif
}
void GDScriptAnalyzer::reduce_binary_op(GDScriptParser::BinaryOpNode *p_binary_op) {