### Godot version

Beta 17, master

### System information

Windows 11

### Issue description

Godot gets a hard crash while attempting to code-complete for member `const` of a class.

### Steps to reproduce

```GDScript
enum E { V1 }

const e := E
```

And then type a `.` after the last `E`, which triggers code hints/auto-completion for subscripts based on `E` and causes a hard crash.

Does not happen for `var e := E.V1`.

### Minimal reproduction project

See above.
if (p_subscript->base == nullptr) {
		return;
	}
	if (p_subscript->base->type == GDScriptParser::Node::IDENTIFIER) {
		reduce_identifier(static_cast<GDScriptParser::IdentifierNode *>(p_subscript->base), true);
	} else {
		reduce_expression(p_subscript->base);
	}
	GDScriptParser::DataType result_type;
	if (p_subscript->is_attribute) {
		if (p_subscript->attribute == nullptr) {
			return;
		}
		GDScriptParser::DataType base_type = p_subscript->base->get_datatype();
		bool valid = false;
		
		if (p_subscript->base->is_constant && !base_type.is_meta_type) {
			
			Variant value = p_subscript->base->reduced_value.get_named(p_subscript->attribute->name, valid);
			if (valid) {
				p_subscript->is_constant = true;
				p_subscript->reduced_value = value;
				result_type = type_from_variant(value, p_subscript);
			}
		} else if (base_type.is_variant() || !base_type.is_hard_type()) {
			valid = true;
			result_type.kind = GDScriptParser::DataType::VARIANT;
			mark_node_unsafe(p_subscript);
		} else {
			reduce_identifier_from_base(p_subscript->attribute, &base_type);