### Godot version

4.0 beta 10

### System information

Windows 10

### Issue description

Godot crashes when i accidently name 2 items in an enum the same

EDIT:
The editor freeze for some seconds, then both editor- and console-window dissapear

### Steps to reproduce

Write

```gdscript
enum {
    A,
}
```

and then add a second line with another A:

```gdscript
enum {
    A,
    A # <- crash
}
```

Does not always immediatly happen if i copy&paste items.
Does not happen when i change the script in another editor and open the script in Godot.

### Minimal reproduction project

[enum.zip](https://github.com/godotengine/godot/files/10313759/enum.zip)

push_error(R"(Variant doesn't contain nested types.)", p_type->type_chain[1]);
			return bad_type;
		}
		result.kind = GDScriptParser::DataType::VARIANT;
	} else if (first == SNAME("Object")) {
		
		result.kind = GDScriptParser::DataType::NATIVE;
		result.native_type = SNAME("Object");
	} else if (GDScriptParser::get_builtin_type(first) < Variant::VARIANT_MAX) {
		
		if (p_type->type_chain.size() > 1) {
			push_error(R"(Built-in types don't contain nested types.)", p_type->type_chain[1]);
			return bad_type;
		}
		result.kind = GDScriptParser::DataType::BUILTIN;
		result.builtin_type = GDScriptParser::get_builtin_type(first);
		if (result.builtin_type == Variant::ARRAY) {
			GDScriptParser::DataType container_type = type_from_metatype(resolve_datatype(p_type->container_type));
			if (container_type.kind != GDScriptParser::DataType::VARIANT) {
				result.set_container_element_type(container_type);
			}
		}
	} else if (class_exists(first)) {
		
		result.kind = GDScriptParser::DataType::NATIVE;
		result.native_type = first;
	} else if (ScriptServer::is_global_class(first)) {
		if (parser->script_path == ScriptServer::get_global_class_path(first)) {
			result = parser->head->get_datatype();
		} else {