### Godot version

v4.0.beta.custom_build [1d14c054a]

### System information

Kubuntu 22.10

### Issue description

Regression in master (in beta 10 the following script works correctly).

### Steps to reproduce

```gdscript
@tool
extends EditorScript

func wait(time: float) -> void:
    await get_editor_interface().get_tree().create_timer(time).timeout

func _run() -> void:
    reference()
    # Error: Cannot get return value of call to "wait()" because it returns "void".
    await wait(1.0)
    print("Test")
    unreference()
```

### Minimal reproduction project

N/A
GDScriptParser::DataType enum_type;
				enum_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
				enum_type.kind = GDScriptParser::DataType::ENUM;
				enum_type.builtin_type = Variant::DICTIONARY;
				enum_type.enum_type = member.m_enum->identifier->name;
				enum_type.native_type = p_class->fqcn + "." + member.m_enum->identifier->name;
				enum_type.is_meta_type = true;
				enum_type.is_constant = true;
				const GDScriptParser::EnumNode *prev_enum = current_enum;
				current_enum = member.m_enum;
				Dictionary dictionary;
				for (int j = 0; j < member.m_enum->values.size(); j++) {
					GDScriptParser::EnumNode::Value &element = member.m_enum->values.write[j];
					if (element.custom_value) {
						reduce_expression(element.custom_value);
						if (!element.custom_value->is_constant) {
							push_error(R"(Enum values must be constant.)", element.custom_value);
						} else if (element.custom_value->reduced_value.get_type() != Variant::INT) {
							push_error(R"(Enum values must be integers.)", element.custom_value);
						} else {
							element.value = element.custom_value->reduced_value;
							element.resolved = true;
						}
					} else {
						if (element.index > 0) {
							element.value = element.parent_enum->values[element.index - 1].value + 1;
						} else {
							element.value = 0;
						}
						element.resolved = true;