summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/StringConstructor.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/runtime/StringConstructor.h')
-rw-r--r--Source/JavaScriptCore/runtime/StringConstructor.h57
1 files changed, 26 insertions, 31 deletions
diff --git a/Source/JavaScriptCore/runtime/StringConstructor.h b/Source/JavaScriptCore/runtime/StringConstructor.h
index a2c08231e..1bd1e2126 100644
--- a/Source/JavaScriptCore/runtime/StringConstructor.h
+++ b/Source/JavaScriptCore/runtime/StringConstructor.h
@@ -18,47 +18,42 @@
*
*/
-#ifndef StringConstructor_h
-#define StringConstructor_h
+#pragma once
#include "InternalFunction.h"
namespace JSC {
- class StringPrototype;
+class StringPrototype;
+class GetterSetter;
- class StringConstructor : public InternalFunction {
- public:
- typedef InternalFunction Base;
+class StringConstructor : public InternalFunction {
+public:
+ typedef InternalFunction Base;
+ static const unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable;
- static StringConstructor* create(VM& vm, Structure* structure, StringPrototype* stringPrototype)
- {
- StringConstructor* constructor = new (NotNull, allocateCell<StringConstructor>(vm.heap)) StringConstructor(vm, structure);
- constructor->finishCreation(vm, stringPrototype);
- return constructor;
- }
+ static StringConstructor* create(VM& vm, Structure* structure, StringPrototype* stringPrototype, GetterSetter*)
+ {
+ StringConstructor* constructor = new (NotNull, allocateCell<StringConstructor>(vm.heap)) StringConstructor(vm, structure);
+ constructor->finishCreation(vm, stringPrototype);
+ return constructor;
+ }
- DECLARE_INFO;
+ DECLARE_INFO;
- static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
- {
- return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
- }
+ static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
+ {
+ return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
+ }
- protected:
- static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
+private:
+ StringConstructor(VM&, Structure*);
+ void finishCreation(VM&, StringPrototype*);
+ static ConstructType getConstructData(JSCell*, ConstructData&);
+ static CallType getCallData(JSCell*, CallData&);
+};
- private:
- StringConstructor(VM&, Structure*);
- void finishCreation(VM&, StringPrototype*);
- static ConstructType getConstructData(JSCell*, ConstructData&);
- static CallType getCallData(JSCell*, CallData&);
-
- static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
- };
-
- JSCell* JSC_HOST_CALL stringFromCharCode(ExecState*, int32_t);
+JSCell* JSC_HOST_CALL stringFromCharCode(ExecState*, int32_t);
+JSCell* stringConstructor(ExecState*, JSValue);
} // namespace JSC
-
-#endif // StringConstructor_h