mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 14:12:44 +00:00 
			
		
		
		
	LibJS: Rename OrdinaryFunctionObject to ECMAScriptFunctionObject
The old name is the result of the perhaps somewhat confusingly named abstract operation OrdinaryFunctionCreate(), which creates an "ordinary object" (https://tc39.es/ecma262/#ordinary-object) in contrast to an "exotic object" (https://tc39.es/ecma262/#exotic-object). However, the term "Ordinary Function" is not used anywhere in the spec, instead the created object is referred to as an "ECMAScript Function Object" (https://tc39.es/ecma262/#sec-ecmascript-function-objects), so let's call it that. The "ordinary" vs. "exotic" distinction is important because there are also "Built-in Function Objects", which can be either implemented as ordinary ECMAScript function objects, or as exotic objects (our NativeFunction). More work needs to be done to move a lot of infrastructure to ECMAScriptFunctionObject in order to make FunctionObject nothing more than an interface for objects that implement [[Call]] and optionally [[Construct]].
This commit is contained in:
		
							parent
							
								
									d787775806
								
							
						
					
					
						commit
						e37cf73300
					
				
					 19 changed files with 55 additions and 57 deletions
				
			
		|  | @ -237,7 +237,7 @@ bool Value::is_constructor() const | |||
|         return static_cast<const NativeFunction&>(as_object()).has_constructor(); | ||||
|     if (is<BoundFunction>(as_object())) | ||||
|         return Value(&static_cast<const BoundFunction&>(as_object()).target_function()).is_constructor(); | ||||
|     // OrdinaryFunctionObject
 | ||||
|     // ECMAScriptFunctionObject
 | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Linus Groh
						Linus Groh