source: webkit/trunk/JavaScriptCore/kjs/JSNotAnObject.cpp@ 34319

Last change on this file since 34319 was 33979, checked in by [email protected], 17 years ago

Merge squirrelfish branch into trunk.

File size: 5.3 KB
Line 
1/*
2 * Copyright (C) 2008 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14 * its contributors may be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29
30#include "config.h"
31#include "JSNotAnObject.h"
32
33#include <wtf/UnusedParam.h>
34
35namespace KJS {
36 // JSValue methods
37 JSValue *JSNotAnObject::toPrimitive(ExecState* exec, JSType) const
38 {
39 UNUSED_PARAM(exec);
40 ASSERT(exec->hadException() && exec->exception() == m_exception);
41 return m_exception;
42 }
43
44 bool JSNotAnObject::getPrimitiveNumber(ExecState* exec, double&, JSValue*&)
45 {
46 UNUSED_PARAM(exec);
47 ASSERT(exec->hadException() && exec->exception() == m_exception);
48 return false;
49 }
50
51 bool JSNotAnObject::toBoolean(ExecState* exec) const
52 {
53 UNUSED_PARAM(exec);
54 ASSERT(exec->hadException() && exec->exception() == m_exception);
55 return false;
56 }
57
58 double JSNotAnObject::toNumber(ExecState* exec) const
59 {
60 UNUSED_PARAM(exec);
61 ASSERT(exec->hadException() && exec->exception() == m_exception);
62 return NaN;
63 }
64
65 UString JSNotAnObject::toString(ExecState* exec) const
66 {
67 UNUSED_PARAM(exec);
68 ASSERT(exec->hadException() && exec->exception() == m_exception);
69 return "";
70 }
71
72 JSObject *JSNotAnObject::toObject(ExecState* exec) const
73 {
74 UNUSED_PARAM(exec);
75 ASSERT(exec->hadException() && exec->exception() == m_exception);
76 return m_exception;
77 }
78
79 // marking
80 void JSNotAnObject::mark()
81 {
82 JSCell::mark();
83 if (!m_exception->marked())
84 m_exception->mark();
85 }
86
87 bool JSNotAnObject::getOwnPropertySlot(ExecState* exec, const Identifier&, PropertySlot&)
88 {
89 UNUSED_PARAM(exec);
90 ASSERT(exec->hadException() && exec->exception() == m_exception);
91 return false;
92 }
93
94 bool JSNotAnObject::getOwnPropertySlot(ExecState* exec, unsigned, PropertySlot&)
95 {
96 UNUSED_PARAM(exec);
97 ASSERT(exec->hadException() && exec->exception() == m_exception);
98 return false;
99 }
100
101 void JSNotAnObject::put(ExecState* exec, const Identifier& , JSValue*)
102 {
103 UNUSED_PARAM(exec);
104 ASSERT(exec->hadException() && exec->exception() == m_exception);
105 }
106
107 void JSNotAnObject::put(ExecState* exec, unsigned, JSValue*)
108 {
109 UNUSED_PARAM(exec);
110 ASSERT(exec->hadException() && exec->exception() == m_exception);
111 }
112
113 bool JSNotAnObject::deleteProperty(ExecState* exec, const Identifier &)
114 {
115 UNUSED_PARAM(exec);
116 ASSERT(exec->hadException() && exec->exception() == m_exception);
117 return false;
118 }
119
120 bool JSNotAnObject::deleteProperty(ExecState* exec, unsigned)
121 {
122 UNUSED_PARAM(exec);
123 ASSERT(exec->hadException() && exec->exception() == m_exception);
124 return false;
125 }
126
127 JSValue *JSNotAnObject::defaultValue(ExecState* exec, JSType) const
128 {
129 UNUSED_PARAM(exec);
130 ASSERT(exec->hadException() && exec->exception() == m_exception);
131 return m_exception;
132 }
133
134 JSObject* JSNotAnObject::construct(ExecState* exec, const List&)
135 {
136 UNUSED_PARAM(exec);
137 ASSERT(exec->hadException() && exec->exception() == m_exception);
138 return m_exception;
139 }
140
141 JSObject* JSNotAnObject::construct(ExecState* exec, const List&, const Identifier&, const UString&, int)
142 {
143 UNUSED_PARAM(exec);
144 ASSERT(exec->hadException() && exec->exception() == m_exception);
145 return m_exception;
146 }
147
148 JSValue* JSNotAnObject::callAsFunction(ExecState* exec, JSObject *, const List &)
149 {
150 UNUSED_PARAM(exec);
151 ASSERT(exec->hadException() && exec->exception() == m_exception);
152 return m_exception;
153 }
154
155 void JSNotAnObject::getPropertyNames(ExecState* exec, PropertyNameArray&)
156 {
157 UNUSED_PARAM(exec);
158 ASSERT(exec->hadException() && exec->exception() == m_exception);
159 }
160
161}
Note: See TracBrowser for help on using the repository browser.