Merge pull request #55515 from Chaosus/shader_fix_struct_name

This commit is contained in:
Rémi Verschelde 2021-12-01 18:02:12 +01:00 committed by GitHub
commit b9d877e55f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 7 deletions

View File

@ -7502,7 +7502,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct
tk = _get_token(); tk = _get_token();
if (tk.type == TK_IDENTIFIER) { if (tk.type == TK_IDENTIFIER) {
st.name = tk.text; st.name = tk.text;
if (shader->structs.has(st.name)) { if (shader->constants.has(st.name) || shader->structs.has(st.name)) {
_set_error("Redefinition of '" + String(st.name) + "'"); _set_error("Redefinition of '" + String(st.name) + "'");
return ERR_PARSE_ERROR; return ERR_PARSE_ERROR;
} }
@ -8212,12 +8212,7 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct
return ERR_PARSE_ERROR; return ERR_PARSE_ERROR;
} }
if (_find_identifier(nullptr, false, constants, name)) { if (shader->structs.has(name) || _find_identifier(nullptr, false, constants, name) || has_builtin(p_functions, name)) {
_set_error("Redefinition of '" + String(name) + "'");
return ERR_PARSE_ERROR;
}
if (has_builtin(p_functions, name)) {
_set_error("Redefinition of '" + String(name) + "'"); _set_error("Redefinition of '" + String(name) + "'");
return ERR_PARSE_ERROR; return ERR_PARSE_ERROR;
} }