]> git.saurik.com Git - apple/javascriptcore.git/blob - kjs/bool_object.h
JavaScriptCore-466.1.6.tar.gz
[apple/javascriptcore.git] / kjs / bool_object.h
1 /*
2 * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
3 * Copyright (C) 2008 Apple Inc. All rights reserved.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 *
19 */
20
21 #ifndef BOOL_OBJECT_H_
22 #define BOOL_OBJECT_H_
23
24 #include "function_object.h"
25 #include "JSWrapperObject.h"
26
27 namespace KJS {
28
29 class BooleanInstance : public JSWrapperObject {
30 public:
31 BooleanInstance(JSObject* proto);
32
33 virtual const ClassInfo* classInfo() const { return &info; }
34 static const ClassInfo info;
35 };
36
37 /**
38 * @internal
39 *
40 * The initial value of Boolean.prototype (and thus all objects created
41 * with the Boolean constructor
42 */
43 class BooleanPrototype : public BooleanInstance {
44 public:
45 BooleanPrototype(ExecState*, ObjectPrototype*, FunctionPrototype*);
46 };
47
48 /**
49 * @internal
50 *
51 * The initial value of the the global variable's "Boolean" property
52 */
53 class BooleanObjectImp : public InternalFunctionImp {
54 public:
55 BooleanObjectImp(ExecState*, FunctionPrototype*, BooleanPrototype*);
56
57 virtual bool implementsConstruct() const;
58 virtual JSObject* construct(ExecState*, const List&);
59
60 virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
61 };
62
63 } // namespace KJS
64
65 #endif // BOOL_OBJECT_H_