mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Fixed ParseError when calling Object.new()
Fixes #41462 where calling Object.new() in GDScript gave an error. I fixed it by adding exclusion when checking if the name is a builtin type to exclude objects with a comment detailing why.
This commit is contained in:
		
							parent
							
								
									d70a17d5d3
								
							
						
					
					
						commit
						07053d0c6a
					
				
					 1 changed files with 5 additions and 3 deletions
				
			
		|  | @ -2276,10 +2276,12 @@ void GDScriptAnalyzer::reduce_identifier(GDScriptParser::IdentifierNode *p_ident | |||
| 	StringName name = p_identifier->name; | ||||
| 	p_identifier->source = GDScriptParser::IdentifierNode::UNDEFINED_SOURCE; | ||||
| 
 | ||||
| 	// Check globals.
 | ||||
| 	if (GDScriptParser::get_builtin_type(name) < Variant::VARIANT_MAX) { | ||||
| 	// Check globals. We make an exception for Variant::OBJECT because it's the base class for
 | ||||
| 	// non-builtin types so we allow doing e.g. Object.new()
 | ||||
| 	Variant::Type builtin_type = GDScriptParser::get_builtin_type(name); | ||||
| 	if (builtin_type != Variant::OBJECT && builtin_type < Variant::VARIANT_MAX) { | ||||
| 		if (can_be_builtin) { | ||||
| 			p_identifier->set_datatype(make_builtin_meta_type(GDScriptParser::get_builtin_type(name))); | ||||
| 			p_identifier->set_datatype(make_builtin_meta_type(builtin_type)); | ||||
| 			return; | ||||
| 		} else { | ||||
| 			push_error(R"(Builtin type cannot be used as a name on its own.)", p_identifier); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lunatoid
						Lunatoid