mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Merge pull request #56830 from strank/parent-signals
This commit is contained in:
		
						commit
						79bbe57244
					
				
					 1 changed files with 13 additions and 8 deletions
				
			
		|  | @ -294,8 +294,11 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code | |||
| 
 | ||||
| 			// Try signals and methods (can be made callables).
 | ||||
| 			{ | ||||
| 				if (codegen.class_node->members_indices.has(identifier)) { | ||||
| 					const GDScriptParser::ClassNode::Member &member = codegen.class_node->members[codegen.class_node->members_indices[identifier]]; | ||||
| 				// Search upwards through parent classes:
 | ||||
| 				const GDScriptParser::ClassNode *base_class = codegen.class_node; | ||||
| 				while (base_class != nullptr) { | ||||
| 					if (base_class->has_member(identifier)) { | ||||
| 						const GDScriptParser::ClassNode::Member &member = base_class->get_member(identifier); | ||||
| 						if (member.type == GDScriptParser::ClassNode::Member::FUNCTION || member.type == GDScriptParser::ClassNode::Member::SIGNAL) { | ||||
| 							// Get like it was a property.
 | ||||
| 							GDScriptCodeGenerator::Address temp = codegen.add_temporary(); // TODO: Get type here.
 | ||||
|  | @ -305,6 +308,8 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code | |||
| 							return temp; | ||||
| 						} | ||||
| 					} | ||||
| 					base_class = base_class->base_type.class_type; | ||||
| 				} | ||||
| 
 | ||||
| 				// Try in native base.
 | ||||
| 				GDScript *scr = codegen.script; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde