Merge pull request #88020 from emre0altan/match-null-crashes-GDScript-compiler
GDScript: Set `has_type` false if it is `BUILTIN` but `Variant::NIL`
This commit is contained in:
commit
77666286b7
3 changed files with 9 additions and 1 deletions
|
@ -429,7 +429,7 @@ void GDScriptByteCodeGenerator::set_initial_line(int p_line) {
|
||||||
(m_var.type.has_type && m_var.type.kind == GDScriptDataType::BUILTIN)
|
(m_var.type.has_type && m_var.type.kind == GDScriptDataType::BUILTIN)
|
||||||
|
|
||||||
#define IS_BUILTIN_TYPE(m_var, m_type) \
|
#define IS_BUILTIN_TYPE(m_var, m_type) \
|
||||||
(m_var.type.has_type && m_var.type.kind == GDScriptDataType::BUILTIN && m_var.type.builtin_type == m_type)
|
(m_var.type.has_type && m_var.type.kind == GDScriptDataType::BUILTIN && m_var.type.builtin_type == m_type && m_type != Variant::NIL)
|
||||||
|
|
||||||
void GDScriptByteCodeGenerator::write_type_adjust(const Address &p_target, Variant::Type p_new_type) {
|
void GDScriptByteCodeGenerator::write_type_adjust(const Address &p_target, Variant::Type p_new_type) {
|
||||||
switch (p_new_type) {
|
switch (p_new_type) {
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
func test():
|
||||||
|
match null:
|
||||||
|
null:
|
||||||
|
print('null matched')
|
||||||
|
_:
|
||||||
|
pass
|
|
@ -0,0 +1,2 @@
|
||||||
|
GDTEST_OK
|
||||||
|
null matched
|
Loading…
Reference in a new issue