Changeset 36755 in webkit for trunk/JavaScriptCore/kjs/JSGlobalObject.cpp
- Timestamp:
- Sep 21, 2008, 8:15:52 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSGlobalObject.cpp
r36729 r36755 31 31 #include "JSGlobalObject.h" 32 32 33 #include "JSCallbackConstructor.h" 34 #include "JSCallbackFunction.h" 35 #include "JSCallbackObject.h" 33 36 #include "ArrayConstructor.h" 34 37 #include "ArrayPrototype.h" … … 56 59 #include "PrototypeFunction.h" 57 60 #include "RegExpConstructor.h" 61 #include "RegExpMatchesArray.h" 58 62 #include "RegExpPrototype.h" 59 63 #include "ScopeChainMark.h" … … 203 207 204 208 d()->functionPrototype = new (exec) FunctionPrototype(exec); 205 d()->functionStructure = StructureID::create(d()->functionPrototype); 206 d()->callbackFunctionStructure = StructureID::create(d()->functionPrototype); 207 d()->prototypeFunctionStructure = StructureID::create(d()->functionPrototype); 208 d()->callbackFunctionStructure = StructureID::create(d()->functionPrototype); 209 d()->functionStructure = JSFunction::createStructureID(d()->functionPrototype); 210 d()->callbackFunctionStructure = JSCallbackFunction::createStructureID(d()->functionPrototype); 211 d()->prototypeFunctionStructure = PrototypeFunction::createStructureID(d()->functionPrototype); 209 212 d()->functionPrototype->addFunctionProperties(exec, d()->prototypeFunctionStructure.get()); 210 213 d()->objectPrototype = new (exec) ObjectPrototype(exec, d()->prototypeFunctionStructure.get()); 211 214 d()->emptyObjectStructure = d()->objectPrototype->inheritorID(); 212 215 d()->functionPrototype->setPrototype(d()->objectPrototype); 213 d()->argumentsStructure = StructureID::create(d()->objectPrototype);214 d()->callbackConstructorStructure = StructureID::create(d()->objectPrototype);215 d()->callbackObjectStructure = StructureID::create(d()->objectPrototype);216 d()->arrayPrototype = new (exec) ArrayPrototype( StructureID::create(d()->objectPrototype));217 d()->arrayStructure = StructureID::create(d()->arrayPrototype);218 d()->regExpMatchesArrayStructure = StructureID::create(d()->arrayPrototype);219 d()->stringPrototype = new (exec) StringPrototype(exec, Str uctureID::create(d()->objectPrototype));220 d()->stringObjectStructure = Str uctureID::create(d()->stringPrototype);221 d()->booleanPrototype = new (exec) BooleanPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());222 d()->booleanObjectStructure = StructureID::create(d()->booleanPrototype);223 d()->numberPrototype = new (exec) NumberPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());224 d()->numberObjectStructure = StructureID::create(d()->numberPrototype);225 d()->datePrototype = new (exec) DatePrototype(exec, StructureID::create(d()->objectPrototype));226 d()->dateStructure = StructureID::create(d()->datePrototype);227 d()->regExpPrototype = new (exec) RegExpPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());228 d()->regExpStructure = StructureID::create(d()->regExpPrototype);229 ErrorPrototype* errorPrototype = new (exec) ErrorPrototype(exec, StructureID::create(d()->objectPrototype), d()->prototypeFunctionStructure.get());230 d()->errorStructure = StructureID::create(errorPrototype);231 232 RefPtr<StructureID> nativeErrorPrototypeStructure = StructureID::create(errorPrototype);216 d()->argumentsStructure = Arguments::createStructureID(d()->objectPrototype); 217 d()->callbackConstructorStructure = JSCallbackConstructor::createStructureID(d()->objectPrototype); 218 d()->callbackObjectStructure = JSCallbackObject<JSObject>::createStructureID(d()->objectPrototype); 219 d()->arrayPrototype = new (exec) ArrayPrototype(ArrayPrototype::createStructureID(d()->objectPrototype)); 220 d()->arrayStructure = JSArray::createStructureID(d()->arrayPrototype); 221 d()->regExpMatchesArrayStructure = RegExpMatchesArray::createStructureID(d()->arrayPrototype); 222 d()->stringPrototype = new (exec) StringPrototype(exec, StringPrototype::createStructureID(d()->objectPrototype)); 223 d()->stringObjectStructure = StringObject::createStructureID(d()->stringPrototype); 224 d()->booleanPrototype = new (exec) BooleanPrototype(exec, BooleanPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get()); 225 d()->booleanObjectStructure = BooleanObject::createStructureID(d()->booleanPrototype); 226 d()->numberPrototype = new (exec) NumberPrototype(exec, NumberPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get()); 227 d()->numberObjectStructure = NumberObject::createStructureID(d()->numberPrototype); 228 d()->datePrototype = new (exec) DatePrototype(exec, DatePrototype::createStructureID(d()->objectPrototype)); 229 d()->dateStructure = DateInstance::createStructureID(d()->datePrototype); 230 d()->regExpPrototype = new (exec) RegExpPrototype(exec, RegExpPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get()); 231 d()->regExpStructure = RegExpObject::createStructureID(d()->regExpPrototype); 232 ErrorPrototype* errorPrototype = new (exec) ErrorPrototype(exec, ErrorPrototype::createStructureID(d()->objectPrototype), d()->prototypeFunctionStructure.get()); 233 d()->errorStructure = ErrorInstance::createStructureID(errorPrototype); 234 235 RefPtr<StructureID> nativeErrorPrototypeStructure = NativeErrorPrototype::createStructureID(errorPrototype); 233 236 234 237 NativeErrorPrototype* evalErrorPrototype = new (exec) NativeErrorPrototype(exec, nativeErrorPrototypeStructure, "EvalError", "EvalError"); … … 241 244 // Constructors 242 245 243 JSValue* objectConstructor = new (exec) ObjectConstructor(exec, StructureID::create(d()->functionPrototype), d()->objectPrototype);244 JSValue* functionConstructor = new (exec) FunctionConstructor(exec, StructureID::create(d()->functionPrototype), d()->functionPrototype);245 JSValue* arrayConstructor = new (exec) ArrayConstructor(exec, StructureID::create(d()->functionPrototype), d()->arrayPrototype);246 JSValue* stringConstructor = new (exec) StringConstructor(exec, Str uctureID::create(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->stringPrototype);247 JSValue* booleanConstructor = new (exec) BooleanConstructor(exec, StructureID::create(d()->functionPrototype), d()->booleanPrototype);248 JSValue* numberConstructor = new (exec) NumberConstructor(exec, StructureID::create(d()->functionPrototype), d()->numberPrototype);249 JSValue* dateConstructor = new (exec) DateConstructor(exec, StructureID::create(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->datePrototype);250 251 d()->regExpConstructor = new (exec) RegExpConstructor(exec, StructureID::create(d()->functionPrototype), d()->regExpPrototype);252 253 d()->errorConstructor = new (exec) ErrorConstructor(exec, StructureID::create(d()->functionPrototype), errorPrototype);254 255 RefPtr<StructureID> nativeErrorStructure = StructureID::create(d()->functionPrototype);246 JSValue* objectConstructor = new (exec) ObjectConstructor(exec, ObjectConstructor::createStructureID(d()->functionPrototype), d()->objectPrototype); 247 JSValue* functionConstructor = new (exec) FunctionConstructor(exec, FunctionConstructor::createStructureID(d()->functionPrototype), d()->functionPrototype); 248 JSValue* arrayConstructor = new (exec) ArrayConstructor(exec, ArrayConstructor::createStructureID(d()->functionPrototype), d()->arrayPrototype); 249 JSValue* stringConstructor = new (exec) StringConstructor(exec, StringConstructor::createStructureID(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->stringPrototype); 250 JSValue* booleanConstructor = new (exec) BooleanConstructor(exec, BooleanConstructor::createStructureID(d()->functionPrototype), d()->booleanPrototype); 251 JSValue* numberConstructor = new (exec) NumberConstructor(exec, NumberConstructor::createStructureID(d()->functionPrototype), d()->numberPrototype); 252 JSValue* dateConstructor = new (exec) DateConstructor(exec, DateConstructor::createStructureID(d()->functionPrototype), d()->prototypeFunctionStructure.get(), d()->datePrototype); 253 254 d()->regExpConstructor = new (exec) RegExpConstructor(exec, RegExpConstructor::createStructureID(d()->functionPrototype), d()->regExpPrototype); 255 256 d()->errorConstructor = new (exec) ErrorConstructor(exec, ErrorConstructor::createStructureID(d()->functionPrototype), errorPrototype); 257 258 RefPtr<StructureID> nativeErrorStructure = NativeErrorConstructor::createStructureID(d()->functionPrototype); 256 259 257 260 d()->evalErrorConstructor = new (exec) NativeErrorConstructor(exec, nativeErrorStructure, evalErrorPrototype); … … 302 305 // Set global values. 303 306 GlobalPropertyInfo staticGlobals[] = { 304 GlobalPropertyInfo(Identifier(exec, "Math"), new (exec) MathObject(exec, StructureID::create(d()->objectPrototype)), DontEnum | DontDelete),307 GlobalPropertyInfo(Identifier(exec, "Math"), new (exec) MathObject(exec, MathObject::createStructureID(d()->objectPrototype)), DontEnum | DontDelete), 305 308 GlobalPropertyInfo(Identifier(exec, "NaN"), jsNaN(exec), DontEnum | DontDelete), 306 309 GlobalPropertyInfo(Identifier(exec, "Infinity"), jsNumber(exec, Inf), DontEnum | DontDelete), … … 312 315 // Set global functions. 313 316 314 d()->evalFunction = new (exec) GlobalEvalFunction(exec, StructureID::create(d()->functionPrototype), 1, exec->propertyNames().eval, globalFuncEval, this);317 d()->evalFunction = new (exec) GlobalEvalFunction(exec, GlobalEvalFunction::createStructureID(d()->functionPrototype), 1, exec->propertyNames().eval, globalFuncEval, this); 315 318 putDirectFunction(exec, d()->evalFunction, DontEnum); 316 319 putDirectFunction(exec, new (exec) PrototypeFunction(exec, d()->prototypeFunctionStructure.get(), 2, Identifier(exec, "parseInt"), globalFuncParseInt), DontEnum);
Note:
See TracChangeset
for help on using the changeset viewer.