source: webkit/trunk/JavaScriptCore/kjs/internal.h@ 31136

Last change on this file since 31136 was 30679, checked in by Adam Roben, 17 years ago

Remove unused DebuggerImp::abort and DebuggerImp::aborted

Reviewed by Tim and Sam.

  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct):
  • kjs/internal.h: (KJS::DebuggerImp::DebuggerImp):
  • kjs/nodes.cpp: (KJS::Node::handleException): (KJS::FunctionBodyNodeWithDebuggerHooks::execute):
  • Property svn:eol-style set to native
File size: 3.6 KB
Line 
1// -*- c-basic-offset: 2 -*-
2/*
3 * Copyright (C) 1999-2001 Harri Porten ([email protected])
4 * Copyright (C) 2001 Peter Kelly ([email protected])
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
16 *
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
21 *
22 */
23
24#ifndef INTERNAL_H
25#define INTERNAL_H
26
27#include "JSType.h"
28#include "object.h"
29#include "protect.h"
30#include "scope_chain.h"
31#include "types.h"
32#include "ustring.h"
33
34#include <wtf/Noncopyable.h>
35
36#define I18N_NOOP(s) s
37
38namespace KJS {
39
40 class FunctionPrototype;
41
42 // ---------------------------------------------------------------------------
43 // Primitive impls
44 // ---------------------------------------------------------------------------
45
46 class StringImp : public JSCell {
47 public:
48 StringImp(const UString& v) : val(v) { Collector::reportExtraMemoryCost(v.cost()); }
49 enum HasOtherOwnerType { HasOtherOwner };
50 StringImp(const UString& value, HasOtherOwnerType) : val(value) { }
51 const UString& value() const { return val; }
52
53 private:
54 virtual JSType type() const { return StringType; }
55
56 virtual JSValue* toPrimitive(ExecState*, JSType preferred = UnspecifiedType) const;
57 virtual bool getPrimitiveNumber(ExecState*, double& number, JSValue*& value);
58 virtual bool toBoolean(ExecState *exec) const;
59 virtual double toNumber(ExecState *exec) const;
60 virtual JSObject *toObject(ExecState *exec) const;
61 virtual UString toString(ExecState*) const;
62
63 UString val;
64 };
65
66 class NumberImp : public JSCell {
67 friend class ConstantValues;
68 friend JSValue *jsNumberCell(double);
69 public:
70 double value() const { return val; }
71
72 virtual JSType type() const { return NumberType; }
73
74 virtual JSValue* toPrimitive(ExecState*, JSType preferred = UnspecifiedType) const;
75 virtual bool getPrimitiveNumber(ExecState*, double& number, JSValue*& value);
76 virtual bool toBoolean(ExecState *exec) const;
77 virtual double toNumber(ExecState *exec) const;
78 virtual UString toString(ExecState *exec) const;
79 virtual JSObject *toObject(ExecState *exec) const;
80
81 void* operator new(size_t size)
82 {
83 return Collector::allocateNumber(size);
84 }
85 private:
86 NumberImp(double v) : val(v) { }
87
88 virtual bool getUInt32(uint32_t&) const;
89 virtual bool getTruncatedInt32(int32_t&) const;
90 virtual bool getTruncatedUInt32(uint32_t&) const;
91
92 double val;
93 };
94
95
96 // ---------------------------------------------------------------------------
97 // Evaluation
98 // ---------------------------------------------------------------------------
99
100 struct AttachedGlobalObject;
101 class DebuggerImp {
102 public:
103
104 DebuggerImp() {
105 globalObjects = 0;
106 }
107
108 AttachedGlobalObject* globalObjects;
109 };
110
111#ifndef NDEBUG
112 void printInfo(ExecState *exec, const char *s, JSValue *, int lineno = -1);
113#endif
114
115} // namespace
116
117#endif // INTERNAL_H
Note: See TracBrowser for help on using the repository browser.