You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Fix using signals in lambda functions
This commit is contained in:
@@ -2865,6 +2865,9 @@ void GDScriptAnalyzer::reduce_identifier_from_base(GDScriptParser::IdentifierNod
|
|||||||
p_identifier->variable_source = member.variable;
|
p_identifier->variable_source = member.variable;
|
||||||
member.variable->usages += 1;
|
member.variable->usages += 1;
|
||||||
break;
|
break;
|
||||||
|
case GDScriptParser::ClassNode::Member::SIGNAL:
|
||||||
|
p_identifier->source = GDScriptParser::IdentifierNode::MEMBER_SIGNAL;
|
||||||
|
break;
|
||||||
case GDScriptParser::ClassNode::Member::FUNCTION:
|
case GDScriptParser::ClassNode::Member::FUNCTION:
|
||||||
resolve_function_signature(member.function);
|
resolve_function_signature(member.function);
|
||||||
p_identifier->set_datatype(make_callable_type(member.function->info));
|
p_identifier->set_datatype(make_callable_type(member.function->info));
|
||||||
@@ -3009,6 +3012,7 @@ void GDScriptAnalyzer::reduce_identifier(GDScriptParser::IdentifierNode *p_ident
|
|||||||
p_identifier->reduced_value = p_identifier->constant_source->initializer->reduced_value;
|
p_identifier->reduced_value = p_identifier->constant_source->initializer->reduced_value;
|
||||||
found_source = true;
|
found_source = true;
|
||||||
break;
|
break;
|
||||||
|
case GDScriptParser::IdentifierNode::MEMBER_SIGNAL:
|
||||||
case GDScriptParser::IdentifierNode::INHERITED_VARIABLE:
|
case GDScriptParser::IdentifierNode::INHERITED_VARIABLE:
|
||||||
mark_lambda_use_self();
|
mark_lambda_use_self();
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -786,6 +786,7 @@ public:
|
|||||||
LOCAL_VARIABLE,
|
LOCAL_VARIABLE,
|
||||||
LOCAL_ITERATOR, // `for` loop iterator.
|
LOCAL_ITERATOR, // `for` loop iterator.
|
||||||
LOCAL_BIND, // Pattern bind.
|
LOCAL_BIND, // Pattern bind.
|
||||||
|
MEMBER_SIGNAL,
|
||||||
MEMBER_VARIABLE,
|
MEMBER_VARIABLE,
|
||||||
MEMBER_CONSTANT,
|
MEMBER_CONSTANT,
|
||||||
INHERITED_VARIABLE,
|
INHERITED_VARIABLE,
|
||||||
|
|||||||
Reference in New Issue
Block a user