BooleanPrototype.h 1.94 KB
Newer Older
1 2
/*
 *  Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
3
 *  Copyright (C) 2008, 2011 Apple Inc. All rights reserved.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2 of the License, or (at your option) any later version.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifndef BooleanPrototype_h
#define BooleanPrototype_h

#include "BooleanObject.h"

26
namespace JSC {
27

28 29 30 31
class BooleanPrototype : public BooleanObject {
public:
    typedef BooleanObject Base;

32
    static BooleanPrototype* create(VM& vm, JSGlobalObject* globalObject, Structure* structure)
33
    {
34
        BooleanPrototype* prototype = new (NotNull, allocateCell<BooleanPrototype>(vm.heap)) BooleanPrototype(vm, structure);
35
        prototype->finishCreation(vm, globalObject);
36 37
        return prototype;
    }
38
        
39
    DECLARE_INFO;
40

ggaren@apple.com's avatar
ggaren@apple.com committed
41
    static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
42
    {
43
        return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
44
    }
45

46
protected:
47
    void finishCreation(VM&, JSGlobalObject*);
48
    static const unsigned StructureFlags = OverridesGetOwnPropertySlot | BooleanObject::StructureFlags;
49

50
private:
51
    BooleanPrototype(VM&, Structure*);
52
    static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
53
};
54

55
} // namespace JSC
56 57

#endif // BooleanPrototype_h