mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 03:32:45 +00:00 
			
		
		
		
	LibJS: Handle non-string primitive values in Object::to_string()
This commit is contained in:
		
							parent
							
								
									2c6e7dbd07
								
							
						
					
					
						commit
						4bdb6daac5
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		|  | @ -361,12 +361,12 @@ Value Object::to_string() const | |||
|         && to_string_property.as_object().is_function()) { | ||||
|         auto& to_string_function = static_cast<Function&>(to_string_property.as_object()); | ||||
|         auto& interpreter = const_cast<Object*>(this)->interpreter(); | ||||
|         auto string_value = interpreter.call(to_string_function, const_cast<Object*>(this)); | ||||
|         if (!string_value.is_string()) | ||||
|         auto to_string_result = interpreter.call(to_string_function, const_cast<Object*>(this)); | ||||
|         if (to_string_result.is_object()) | ||||
|             interpreter.throw_exception<TypeError>("Cannot convert object to string"); | ||||
|         if (interpreter.exception()) | ||||
|             return {}; | ||||
|         return string_value; | ||||
|         return js_string(heap(), to_string_result.to_string()); | ||||
|     } | ||||
|     return js_string(heap(), String::format("[object %s]", class_name())); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Linus Groh
						Linus Groh