Changeset 12911 in webkit for trunk/JavaScriptCore/kjs/object_object.cpp
- Timestamp:
- Feb 20, 2006, 11:54:55 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/object_object.cpp
r12317 r12911 35 35 // ------------------------------ ObjectPrototype -------------------------------- 36 36 37 ObjectPrototype::ObjectPrototype(ExecState *exec, 38 FunctionPrototype *funcProto) 37 ObjectPrototype::ObjectPrototype(ExecState* exec, FunctionPrototype* funcProto) 39 38 : JSObject() // [[Prototype]] is null 40 39 { 41 putDirect(toStringPropertyName, new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ToString, 0), DontEnum); 42 putDirect(toLocaleStringPropertyName, new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ToLocaleString, 0), DontEnum); 43 putDirect(valueOfPropertyName, new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ValueOf, 0), DontEnum); 44 putDirect("hasOwnProperty", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::HasOwnProperty, 1), DontEnum); 45 putDirect("propertyIsEnumerable", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::PropertyIsEnumerable, 1), DontEnum); 46 putDirect("isPrototypeOf", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::IsPrototypeOf, 1), DontEnum); 40 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ToString, 0, toStringPropertyName), DontEnum); 41 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ToLocaleString, 0, toLocaleStringPropertyName), DontEnum); 42 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::ValueOf, 0, valueOfPropertyName), DontEnum); 43 static Identifier hasOwnPropertyPropertyName("hasOwnProperty"); 44 static Identifier propertyIsEnumerablePropertyName("propertyIsEnumerable"); 45 static Identifier isPrototypeOfPropertyName("isPrototypeOf"); 46 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::HasOwnProperty, 1, hasOwnPropertyPropertyName), DontEnum); 47 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::PropertyIsEnumerable, 1, propertyIsEnumerablePropertyName), DontEnum); 48 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::IsPrototypeOf, 1, isPrototypeOfPropertyName), DontEnum); 49 47 50 // Mozilla extensions 48 putDirect("__defineGetter__", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::DefineGetter, 2), DontEnum); 49 putDirect("__defineSetter__", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::DefineSetter, 2), DontEnum); 50 putDirect("__lookupGetter__", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::LookupGetter, 1), DontEnum); 51 putDirect("__lookupSetter__", new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::LookupSetter, 1), DontEnum); 51 static const Identifier defineGetterPropertyName("__defineGetter__"); 52 static const Identifier defineSetterPropertyName("__defineSetter__"); 53 static const Identifier lookupGetterPropertyName("__lookupGetter__"); 54 static const Identifier lookupSetterPropertyName("__lookupSetter__"); 55 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::DefineGetter, 2, defineGetterPropertyName), DontEnum); 56 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::DefineSetter, 2, defineSetterPropertyName), DontEnum); 57 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::LookupGetter, 1, lookupGetterPropertyName), DontEnum); 58 putDirectFunction(new ObjectProtoFunc(exec, funcProto, ObjectProtoFunc::LookupSetter, 1, lookupSetterPropertyName), DontEnum); 52 59 } 53 60 … … 55 62 // ------------------------------ ObjectProtoFunc -------------------------------- 56 63 57 ObjectProtoFunc::ObjectProtoFunc(ExecState *exec, 58 FunctionPrototype *funcProto, 59 int i, int len) 60 : InternalFunctionImp(funcProto), id(i) 64 ObjectProtoFunc::ObjectProtoFunc(ExecState*, FunctionPrototype* funcProto, int i, int len, const Identifier& name) 65 : InternalFunctionImp(funcProto, name) 66 , id(i) 61 67 { 62 68 putDirect(lengthPropertyName, len, DontDelete|ReadOnly|DontEnum);
Note:
See TracChangeset
for help on using the changeset viewer.