[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:03:58 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 880105d6511458451f5d5361ce2d4db3a8a72ee9
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 19 22:02:26 2002 +0000
JavaScriptCore:
- a first step towards atomic identifiers in JavaScript
Most places that work with identifiers now use Identifier
instead of UString.
* kjs/identifier.cpp: Added.
* kjs/identifier.h: Added.
* JavaScriptCore.pbproj/project.pbxproj: Added files.
* kjs/array_object.cpp:
* kjs/array_object.h:
* kjs/completion.cpp:
* kjs/completion.h:
* kjs/date_object.cpp:
* kjs/date_object.h:
* kjs/function.cpp:
* kjs/function.h:
* kjs/function_object.cpp:
* kjs/grammar.cpp:
* kjs/grammar.cpp.h:
* kjs/grammar.h:
* kjs/grammar.y:
* kjs/internal.cpp:
* kjs/internal.h:
* kjs/lexer.cpp:
* kjs/lookup.cpp:
* kjs/lookup.h:
* kjs/math_object.cpp:
* kjs/math_object.h:
* kjs/nodes.cpp:
* kjs/nodes.h:
* kjs/number_object.cpp:
* kjs/number_object.h:
* kjs/object.cpp:
* kjs/object.h:
* kjs/property_map.cpp:
* kjs/property_map.h:
* kjs/reference.cpp:
* kjs/reference.h:
* kjs/regexp_object.cpp:
* kjs/regexp_object.h:
* kjs/string_object.cpp:
* kjs/string_object.h:
WebCore:
- a first step towards atomic identifiers in JavaScript
Most places that work with identifiers now use Identifier
instead of UString.
* khtml/ecma/kjs_binding.cpp:
* khtml/ecma/kjs_binding.h:
* khtml/ecma/kjs_css.cpp:
* khtml/ecma/kjs_css.h:
* khtml/ecma/kjs_dom.cpp:
* khtml/ecma/kjs_dom.h:
* khtml/ecma/kjs_events.cpp:
* khtml/ecma/kjs_events.h:
* khtml/ecma/kjs_html.cpp:
* khtml/ecma/kjs_html.h:
* khtml/ecma/kjs_navigator.cpp:
* khtml/ecma/kjs_navigator.h:
* khtml/ecma/kjs_range.cpp:
* khtml/ecma/kjs_range.h:
* khtml/ecma/kjs_traversal.cpp:
* khtml/ecma/kjs_traversal.h:
* khtml/ecma/kjs_views.cpp:
* khtml/ecma/kjs_views.h:
* khtml/ecma/kjs_window.cpp:
* khtml/ecma/kjs_window.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index e9f2819..2f2ed14 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,51 @@
2002-11-19 Darin Adler <darin at apple.com>
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * kjs/identifier.cpp: Added.
+ * kjs/identifier.h: Added.
+ * JavaScriptCore.pbproj/project.pbxproj: Added files.
+
+ * kjs/array_object.cpp:
+ * kjs/array_object.h:
+ * kjs/completion.cpp:
+ * kjs/completion.h:
+ * kjs/date_object.cpp:
+ * kjs/date_object.h:
+ * kjs/function.cpp:
+ * kjs/function.h:
+ * kjs/function_object.cpp:
+ * kjs/grammar.cpp:
+ * kjs/grammar.cpp.h:
+ * kjs/grammar.h:
+ * kjs/grammar.y:
+ * kjs/internal.cpp:
+ * kjs/internal.h:
+ * kjs/lexer.cpp:
+ * kjs/lookup.cpp:
+ * kjs/lookup.h:
+ * kjs/math_object.cpp:
+ * kjs/math_object.h:
+ * kjs/nodes.cpp:
+ * kjs/nodes.h:
+ * kjs/number_object.cpp:
+ * kjs/number_object.h:
+ * kjs/object.cpp:
+ * kjs/object.h:
+ * kjs/property_map.cpp:
+ * kjs/property_map.h:
+ * kjs/reference.cpp:
+ * kjs/reference.h:
+ * kjs/regexp_object.cpp:
+ * kjs/regexp_object.h:
+ * kjs/string_object.cpp:
+ * kjs/string_object.h:
+
+2002-11-19 Darin Adler <darin at apple.com>
+
- fix hash function and key comparison for the other kind of hash table; yields 3%
* kjs/lookup.cpp:
diff --git a/JavaScriptCore/ChangeLog-2002-12-03 b/JavaScriptCore/ChangeLog-2002-12-03
index e9f2819..2f2ed14 100644
--- a/JavaScriptCore/ChangeLog-2002-12-03
+++ b/JavaScriptCore/ChangeLog-2002-12-03
@@ -1,5 +1,51 @@
2002-11-19 Darin Adler <darin at apple.com>
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * kjs/identifier.cpp: Added.
+ * kjs/identifier.h: Added.
+ * JavaScriptCore.pbproj/project.pbxproj: Added files.
+
+ * kjs/array_object.cpp:
+ * kjs/array_object.h:
+ * kjs/completion.cpp:
+ * kjs/completion.h:
+ * kjs/date_object.cpp:
+ * kjs/date_object.h:
+ * kjs/function.cpp:
+ * kjs/function.h:
+ * kjs/function_object.cpp:
+ * kjs/grammar.cpp:
+ * kjs/grammar.cpp.h:
+ * kjs/grammar.h:
+ * kjs/grammar.y:
+ * kjs/internal.cpp:
+ * kjs/internal.h:
+ * kjs/lexer.cpp:
+ * kjs/lookup.cpp:
+ * kjs/lookup.h:
+ * kjs/math_object.cpp:
+ * kjs/math_object.h:
+ * kjs/nodes.cpp:
+ * kjs/nodes.h:
+ * kjs/number_object.cpp:
+ * kjs/number_object.h:
+ * kjs/object.cpp:
+ * kjs/object.h:
+ * kjs/property_map.cpp:
+ * kjs/property_map.h:
+ * kjs/reference.cpp:
+ * kjs/reference.h:
+ * kjs/regexp_object.cpp:
+ * kjs/regexp_object.h:
+ * kjs/string_object.cpp:
+ * kjs/string_object.h:
+
+2002-11-19 Darin Adler <darin at apple.com>
+
- fix hash function and key comparison for the other kind of hash table; yields 3%
* kjs/lookup.cpp:
diff --git a/JavaScriptCore/ChangeLog-2003-10-25 b/JavaScriptCore/ChangeLog-2003-10-25
index e9f2819..2f2ed14 100644
--- a/JavaScriptCore/ChangeLog-2003-10-25
+++ b/JavaScriptCore/ChangeLog-2003-10-25
@@ -1,5 +1,51 @@
2002-11-19 Darin Adler <darin at apple.com>
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * kjs/identifier.cpp: Added.
+ * kjs/identifier.h: Added.
+ * JavaScriptCore.pbproj/project.pbxproj: Added files.
+
+ * kjs/array_object.cpp:
+ * kjs/array_object.h:
+ * kjs/completion.cpp:
+ * kjs/completion.h:
+ * kjs/date_object.cpp:
+ * kjs/date_object.h:
+ * kjs/function.cpp:
+ * kjs/function.h:
+ * kjs/function_object.cpp:
+ * kjs/grammar.cpp:
+ * kjs/grammar.cpp.h:
+ * kjs/grammar.h:
+ * kjs/grammar.y:
+ * kjs/internal.cpp:
+ * kjs/internal.h:
+ * kjs/lexer.cpp:
+ * kjs/lookup.cpp:
+ * kjs/lookup.h:
+ * kjs/math_object.cpp:
+ * kjs/math_object.h:
+ * kjs/nodes.cpp:
+ * kjs/nodes.h:
+ * kjs/number_object.cpp:
+ * kjs/number_object.h:
+ * kjs/object.cpp:
+ * kjs/object.h:
+ * kjs/property_map.cpp:
+ * kjs/property_map.h:
+ * kjs/reference.cpp:
+ * kjs/reference.h:
+ * kjs/regexp_object.cpp:
+ * kjs/regexp_object.h:
+ * kjs/string_object.cpp:
+ * kjs/string_object.h:
+
+2002-11-19 Darin Adler <darin at apple.com>
+
- fix hash function and key comparison for the other kind of hash table; yields 3%
* kjs/lookup.cpp:
diff --git a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
index 275820d..fe7ff81 100644
--- a/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
+++ b/JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj
@@ -222,6 +222,7 @@
F54F0801030CD22001B5C2EB,
F5341393030CEEB1018BE7F3,
F5BB2BC7030F772101FCFE1D,
+ 933A349C038AE7C6008635CE,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -267,6 +268,7 @@
F5341392030CEEB1018BE7F3,
F5341395030CF5F8018BE7F3,
F5BB2BC6030F772101FCFE1D,
+ 933A349E038AE80F008635CE,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -336,16 +338,12 @@
F692A85D0255597D01FF60F7,
F692A85E0255597D01FF60F7,
F692A85F0255597D01FF60F7,
- F692A8C802555BA201FF60F7,
- F692A8C902555BA201FF60F7,
- F692A8CA02555BA201FF60F7,
+ 933A349A038AE7C6008635CE,
+ 933A349D038AE80F008635CE,
F692A8610255597D01FF60F7,
F692A8620255597D01FF60F7,
F692A8630255597D01FF60F7,
F692A8640255597D01FF60F7,
- F692A8650255597D01FF60F7,
- F692A8660255597D01FF60F7,
- F692A8670255597D01FF60F7,
F692A8680255597D01FF60F7,
F692A8690255597D01FF60F7,
F692A86A0255597D01FF60F7,
@@ -432,6 +430,52 @@
//102
//103
//104
+//930
+//931
+//932
+//933
+//934
+ 933A3499038AE7C6008635CE = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ name = grammar.y;
+ path = kjs/grammar.y;
+ refType = 4;
+ };
+ 933A349A038AE7C6008635CE = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ name = identifier.h;
+ path = kjs/identifier.h;
+ refType = 4;
+ };
+ 933A349C038AE7C6008635CE = {
+ fileRef = 933A349A038AE7C6008635CE;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
+ 933A349D038AE80F008635CE = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ name = identifier.cpp;
+ path = kjs/identifier.cpp;
+ refType = 4;
+ };
+ 933A349E038AE80F008635CE = {
+ fileRef = 933A349D038AE80F008635CE;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+//930
+//931
+//932
+//933
+//934
//F50
//F51
//F52
@@ -575,6 +619,13 @@
F5C290E50284F960018635CA = {
children = (
F692A8540255597D01FF60F7,
+ F692A8C802555BA201FF60F7,
+ F692A8C902555BA201FF60F7,
+ F692A8CA02555BA201FF60F7,
+ 933A3499038AE7C6008635CE,
+ F692A8650255597D01FF60F7,
+ F692A8660255597D01FF60F7,
+ F692A8670255597D01FF60F7,
F68EBB8C0255D4C601FF60F7,
F5C290E60284F98E018635CA,
);
diff --git a/JavaScriptCore/kjs/array_object.cpp b/JavaScriptCore/kjs/array_object.cpp
index fe2c2ea..1672ecc 100644
--- a/JavaScriptCore/kjs/array_object.cpp
+++ b/JavaScriptCore/kjs/array_object.cpp
@@ -65,7 +65,7 @@ ArrayInstanceImp::~ArrayInstanceImp()
free(storage);
}
-Value ArrayInstanceImp::get(ExecState *exec, const UString &propertyName) const
+Value ArrayInstanceImp::get(ExecState *exec, const Identifier &propertyName) const
{
if (propertyName == lengthPropertyName)
return Number(length);
@@ -91,7 +91,7 @@ Value ArrayInstanceImp::get(ExecState *exec, unsigned index) const
}
// Special implementation of [[Put]] - see ECMA 15.4.5.1
-void ArrayInstanceImp::put(ExecState *exec, const UString &propertyName, const Value &value, int attr)
+void ArrayInstanceImp::put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr)
{
if (propertyName == lengthPropertyName) {
setLength(value.toUInt32(exec));
@@ -117,7 +117,7 @@ void ArrayInstanceImp::put(ExecState *exec, unsigned index, const Value &value,
storage[index] = value.imp();
}
-bool ArrayInstanceImp::hasProperty(ExecState *exec, const UString &propertyName) const
+bool ArrayInstanceImp::hasProperty(ExecState *exec, const Identifier &propertyName) const
{
if (propertyName == lengthPropertyName)
return true;
@@ -142,7 +142,7 @@ bool ArrayInstanceImp::hasProperty(ExecState *exec, unsigned index) const
return v && v != UndefinedImp::staticUndefined;
}
-bool ArrayInstanceImp::deleteProperty(ExecState *exec, const UString &propertyName)
+bool ArrayInstanceImp::deleteProperty(ExecState *exec, const Identifier &propertyName)
{
if (propertyName == lengthPropertyName)
return false;
@@ -293,7 +293,7 @@ ArrayPrototypeImp::ArrayPrototypeImp(ExecState *exec,
setInternalValue(Null());
}
-Value ArrayPrototypeImp::get(ExecState *exec, const UString &propertyName) const
+Value ArrayPrototypeImp::get(ExecState *exec, const Identifier &propertyName) const
{
//fprintf( stderr, "ArrayPrototypeImp::get(%s)\n", propertyName.ascii() );
return lookupGetFunction<ArrayProtoFuncImp, ArrayInstanceImp>( exec, propertyName, &arrayTable, this );
diff --git a/JavaScriptCore/kjs/array_object.h b/JavaScriptCore/kjs/array_object.h
index a255d6c..da8c215 100644
--- a/JavaScriptCore/kjs/array_object.h
+++ b/JavaScriptCore/kjs/array_object.h
@@ -33,13 +33,13 @@ namespace KJS {
ArrayInstanceImp(const Object &proto, const List &initialValues);
~ArrayInstanceImp();
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual Value get(ExecState *exec, unsigned propertyName) const;
- virtual void put(ExecState *exec, const UString &propertyName, const Value &value, int attr = None);
+ virtual void put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
virtual void put(ExecState *exec, unsigned propertyName, const Value &value, int attr = None);
- virtual bool hasProperty(ExecState *exec, const UString &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
virtual bool hasProperty(ExecState *exec, unsigned propertyName) const;
- virtual bool deleteProperty(ExecState *exec, const UString &propertyName);
+ virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName);
virtual bool deleteProperty(ExecState *exec, unsigned propertyName);
virtual void mark();
@@ -66,7 +66,7 @@ namespace KJS {
public:
ArrayPrototypeImp(ExecState *exec,
ObjectPrototypeImp *objProto);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
};
diff --git a/JavaScriptCore/kjs/completion.cpp b/JavaScriptCore/kjs/completion.cpp
index 15fd4d0..c1a3ce8 100644
--- a/JavaScriptCore/kjs/completion.cpp
+++ b/JavaScriptCore/kjs/completion.cpp
@@ -28,7 +28,7 @@ using namespace KJS;
// ------------------------------ Completion -----------------------------------
-Completion::Completion(ComplType c, const Value& v, const UString &t)
+Completion::Completion(ComplType c, const Value& v, const Identifier &t)
: comp(c), val(v), tar(t)
{
}
diff --git a/JavaScriptCore/kjs/completion.h b/JavaScriptCore/kjs/completion.h
index fa591b9..36d1a50 100644
--- a/JavaScriptCore/kjs/completion.h
+++ b/JavaScriptCore/kjs/completion.h
@@ -25,6 +25,7 @@
#ifndef _KJS_COMPLETION_H_
#define _KJS_COMPLETION_H_
+#include "identifier.h"
#include "value.h"
namespace KJS {
@@ -47,16 +48,16 @@ namespace KJS {
class Completion : private Value {
public:
Completion(ComplType c = Normal, const Value& v = Value(),
- const UString &t = UString::null);
+ const Identifier &t = Identifier::null);
ComplType complType() const { return comp; }
Value value() const { return val; }
- UString target() const { return tar; }
+ Identifier target() const { return tar; }
bool isValueCompletion() const { return !val.isNull(); }
private:
ComplType comp;
Value val;
- UString tar;
+ Identifier tar;
};
}
diff --git a/JavaScriptCore/kjs/date_object.cpp b/JavaScriptCore/kjs/date_object.cpp
index 25423a4..2496e3f 100644
--- a/JavaScriptCore/kjs/date_object.cpp
+++ b/JavaScriptCore/kjs/date_object.cpp
@@ -278,7 +278,7 @@ DatePrototypeImp::DatePrototypeImp(ExecState *,
// The constructor will be added later, after DateObjectImp has been built
}
-Value DatePrototypeImp::get(ExecState *exec, const UString &propertyName) const
+Value DatePrototypeImp::get(ExecState *exec, const Identifier &propertyName) const
{
return lookupGetFunction<DateProtoFuncImp, ObjectImp>( exec, propertyName, &dateTable, this );
}
diff --git a/JavaScriptCore/kjs/date_object.h b/JavaScriptCore/kjs/date_object.h
index b4a1307..14bdc32 100644
--- a/JavaScriptCore/kjs/date_object.h
+++ b/JavaScriptCore/kjs/date_object.h
@@ -46,7 +46,7 @@ namespace KJS {
class DatePrototypeImp : public DateInstanceImp {
public:
DatePrototypeImp(ExecState *exec, ObjectPrototypeImp *objectProto);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
};
diff --git a/JavaScriptCore/kjs/function.cpp b/JavaScriptCore/kjs/function.cpp
index 5b891f8..5363502 100644
--- a/JavaScriptCore/kjs/function.cpp
+++ b/JavaScriptCore/kjs/function.cpp
@@ -45,14 +45,14 @@ const ClassInfo FunctionImp::info = {"Function", &InternalFunctionImp::info, 0,
namespace KJS {
class Parameter {
public:
- Parameter(const UString &n) : name(n), next(0L) { }
+ Parameter(const Identifier &n) : name(n), next(0L) { }
~Parameter() { delete next; }
- UString name;
+ Identifier name;
Parameter *next;
};
};
-FunctionImp::FunctionImp(ExecState *exec, const UString &n)
+FunctionImp::FunctionImp(ExecState *exec, const Identifier &n)
: InternalFunctionImp(
static_cast<FunctionPrototypeImp*>(exec->interpreter()->builtinFunctionPrototype().imp())
), param(0L), ident(n)
@@ -157,7 +157,7 @@ Value FunctionImp::call(ExecState *exec, Object &thisObj, const List &args)
return Undefined();
}
-void FunctionImp::addParameter(const UString &n)
+void FunctionImp::addParameter(const Identifier &n)
{
Parameter **p = ¶m;
while (*p)
@@ -225,7 +225,7 @@ void FunctionImp::processVarDecls(ExecState */*exec*/)
// ### is "Function" correct here?
const ClassInfo DeclaredFunctionImp::info = {"Function", &FunctionImp::info, 0, 0};
-DeclaredFunctionImp::DeclaredFunctionImp(ExecState *exec, const UString &n,
+DeclaredFunctionImp::DeclaredFunctionImp(ExecState *exec, const Identifier &n,
FunctionBodyNode *b, const List &sc)
: FunctionImp(exec,n), body(b)
{
diff --git a/JavaScriptCore/kjs/function.h b/JavaScriptCore/kjs/function.h
index 15cf3c5..c7f67d6 100644
--- a/JavaScriptCore/kjs/function.h
+++ b/JavaScriptCore/kjs/function.h
@@ -36,7 +36,7 @@ namespace KJS {
friend class Function;
friend class ActivationImp;
public:
- FunctionImp(ExecState *exec, const UString &n = UString::null);
+ FunctionImp(ExecState *exec, const Identifier &n = Identifier::null);
virtual ~FunctionImp();
virtual void mark();
@@ -44,19 +44,19 @@ namespace KJS {
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
- void addParameter(const UString &n);
+ void addParameter(const Identifier &n);
// parameters in string representation, e.g. (a, b, c)
UString parameterString() const;
virtual CodeType codeType() const = 0;
virtual Completion execute(ExecState *exec) = 0;
- UString name() const { return ident; }
+ Identifier name() const { return ident; }
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
protected:
Parameter *param;
- UString ident;
+ Identifier ident;
private:
void processParameters(ExecState *exec, const List &);
@@ -65,7 +65,7 @@ namespace KJS {
class DeclaredFunctionImp : public FunctionImp {
public:
- DeclaredFunctionImp(ExecState *exec, const UString &n,
+ DeclaredFunctionImp(ExecState *exec, const Identifier &n,
FunctionBodyNode *b, const List &sc);
~DeclaredFunctionImp();
diff --git a/JavaScriptCore/kjs/function_object.cpp b/JavaScriptCore/kjs/function_object.cpp
index 828dafb..4f7c27b 100644
--- a/JavaScriptCore/kjs/function_object.cpp
+++ b/JavaScriptCore/kjs/function_object.cpp
@@ -235,7 +235,7 @@ Object FunctionObjectImp::construct(ExecState *exec, const List &args)
scopeChain.append(exec->interpreter()->globalObject());
FunctionBodyNode *bodyNode = progNode;
- FunctionImp *fimp = new DeclaredFunctionImp(exec, UString::null, bodyNode,
+ FunctionImp *fimp = new DeclaredFunctionImp(exec, Identifier::null, bodyNode,
scopeChain);
Object ret(fimp); // protect from GC
diff --git a/JavaScriptCore/kjs/grammar.cpp b/JavaScriptCore/kjs/grammar.cpp
index a14219c..4d74305 100644
--- a/JavaScriptCore/kjs/grammar.cpp
+++ b/JavaScriptCore/kjs/grammar.cpp
@@ -128,6 +128,7 @@ typedef union {
int ival;
double dval;
UString *ustr;
+ Identifier *ident;
Node *node;
StatementNode *stat;
ParameterNode *param;
@@ -313,26 +314,26 @@ static const short yyrhs[] = { 3,
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 159, 161, 162, 163, 164, 165, 168, 174, 176, 178,
- 179, 180, 181, 182, 185, 187, 188, 191, 193, 197,
- 199, 202, 204, 207, 209, 213, 216, 217, 220, 222,
- 223, 224, 226, 229, 231, 234, 236, 237, 238, 242,
- 244, 247, 250, 256, 258, 261, 263, 264, 267, 269,
- 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
- 282, 284, 285, 286, 289, 291, 292, 295, 297, 298,
- 299, 302, 304, 306, 308, 310, 312, 314, 318, 320,
- 321, 322, 323, 326, 328, 331, 333, 336, 338, 341,
- 343, 347, 349, 353, 355, 359, 361, 365, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 377, 380,
- 382, 385, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, 397, 398, 399, 402, 404, 407, 409, 412,
- 415, 424, 426, 430, 432, 435, 439, 443, 446, 453,
- 455, 459, 461, 462, 465, 468, 471, 475, 481, 483,
- 486, 488, 492, 494, 501, 503, 507, 509, 517, 519,
- 523, 524, 530, 535, 540, 542, 546, 548, 551, 553,
- 556, 558, 561, 563, 566, 572, 576, 578, 579, 582,
- 586, 590, 593, 597, 599, 604, 606, 610, 613, 617,
- 620, 624, 627, 633, 635
+ 160, 162, 163, 164, 165, 166, 169, 175, 177, 179,
+ 180, 181, 182, 183, 186, 188, 189, 192, 194, 198,
+ 200, 203, 205, 208, 210, 214, 216, 217, 220, 222,
+ 223, 224, 225, 228, 230, 233, 235, 236, 237, 241,
+ 243, 246, 249, 255, 257, 260, 262, 263, 266, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 281, 283, 284, 285, 288, 290, 291, 294, 296, 297,
+ 298, 301, 303, 305, 307, 309, 311, 313, 317, 319,
+ 320, 321, 322, 325, 327, 330, 332, 335, 337, 340,
+ 342, 346, 348, 352, 354, 358, 360, 364, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 379,
+ 381, 384, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, 395, 396, 397, 398, 401, 403, 406, 408, 411,
+ 414, 423, 425, 429, 431, 434, 438, 442, 445, 452,
+ 454, 458, 460, 461, 464, 467, 470, 474, 480, 482,
+ 485, 487, 491, 493, 500, 502, 506, 508, 516, 518,
+ 522, 523, 529, 534, 539, 541, 545, 547, 550, 552,
+ 555, 557, 560, 562, 565, 571, 575, 577, 578, 581,
+ 585, 589, 592, 596, 598, 603, 605, 609, 612, 616,
+ 619, 623, 626, 632, 634
};
#endif
@@ -1289,106 +1290,105 @@ yyreduce:
switch (yyn) {
case 1:
-#line 160 "grammar.y"
+#line 161 "grammar.y"
{ yyval.node = new NullNode(); ;
break;}
case 2:
-#line 161 "grammar.y"
+#line 162 "grammar.y"
{ yyval.node = new BooleanNode(true); ;
break;}
case 3:
-#line 162 "grammar.y"
+#line 163 "grammar.y"
{ yyval.node = new BooleanNode(false); ;
break;}
case 4:
-#line 163 "grammar.y"
+#line 164 "grammar.y"
{ yyval.node = new NumberNode(yyvsp[0].dval); ;
break;}
case 5:
-#line 164 "grammar.y"
+#line 165 "grammar.y"
{ yyval.node = new StringNode(yyvsp[0].ustr); delete yyvsp[0].ustr; ;
break;}
case 6:
-#line 165 "grammar.y"
+#line 166 "grammar.y"
{ Lexer *l = Lexer::curr();
if (!l->scanRegExp()) YYABORT;
yyval.node = new RegExpNode(l->pattern,l->flags);;
break;}
case 7:
-#line 169 "grammar.y"
+#line 170 "grammar.y"
{ Lexer *l = Lexer::curr();
if (!l->scanRegExp()) YYABORT;
yyval.node = new RegExpNode(UString('=')+l->pattern,l->flags);;
break;}
case 8:
-#line 175 "grammar.y"
+#line 176 "grammar.y"
{ yyval.node = new ThisNode(); ;
break;}
case 9:
-#line 176 "grammar.y"
-{ yyval.node = new ResolveNode(yyvsp[0].ustr);
- delete yyvsp[0].ustr; ;
+#line 177 "grammar.y"
+{ yyval.node = new ResolveNode(*yyvsp[0].ident);
+ delete yyvsp[0].ident; ;
break;}
case 12:
-#line 180 "grammar.y"
+#line 181 "grammar.y"
{ yyval.node = new GroupNode(yyvsp[-1].node); ;
break;}
case 13:
-#line 181 "grammar.y"
+#line 182 "grammar.y"
{ yyval.node = new ObjectLiteralNode(0L); ;
break;}
case 14:
-#line 182 "grammar.y"
+#line 183 "grammar.y"
{ yyval.node = new ObjectLiteralNode(yyvsp[-1].node); ;
break;}
case 15:
-#line 186 "grammar.y"
+#line 187 "grammar.y"
{ yyval.node = new ArrayNode(yyvsp[-1].eli); ;
break;}
case 16:
-#line 187 "grammar.y"
+#line 188 "grammar.y"
{ yyval.node = new ArrayNode(yyvsp[-1].elm); ;
break;}
case 17:
-#line 188 "grammar.y"
+#line 189 "grammar.y"
{ yyval.node = new ArrayNode(yyvsp[-1].eli, yyvsp[-3].elm); ;
break;}
case 18:
-#line 192 "grammar.y"
+#line 193 "grammar.y"
{ yyval.elm = new ElementNode(yyvsp[-1].eli, yyvsp[0].node); ;
break;}
case 19:
-#line 194 "grammar.y"
+#line 195 "grammar.y"
{ yyval.elm = new ElementNode(yyvsp[-3].elm, yyvsp[-1].eli, yyvsp[0].node); ;
break;}
case 20:
-#line 198 "grammar.y"
+#line 199 "grammar.y"
{ yyval.eli = 0L; ;
break;}
case 22:
-#line 203 "grammar.y"
+#line 204 "grammar.y"
{ yyval.eli = new ElisionNode(0L); ;
break;}
case 23:
-#line 204 "grammar.y"
+#line 205 "grammar.y"
{ yyval.eli = new ElisionNode(yyvsp[-1].eli); ;
break;}
case 24:
-#line 208 "grammar.y"
+#line 209 "grammar.y"
{ yyval.node = new PropertyValueNode(yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 25:
-#line 210 "grammar.y"
+#line 211 "grammar.y"
{ yyval.node = new PropertyValueNode(yyvsp[-2].node, yyvsp[0].node, yyvsp[-4].node); ;
break;}
case 26:
-#line 214 "grammar.y"
-{ yyval.node = new PropertyNode(yyvsp[0].ustr);
- delete yyvsp[0].ustr; ;
+#line 215 "grammar.y"
+{ yyval.node = new PropertyNode(*yyvsp[0].ident); delete yyvsp[0].ident; ;
break;}
case 27:
#line 216 "grammar.y"
-{ yyval.node = new PropertyNode(yyvsp[0].ustr); delete yyvsp[0].ustr; ;
+{ yyval.node = new PropertyNode(Identifier(*yyvsp[0].ustr)); delete yyvsp[0].ustr; ;
break;}
case 28:
#line 217 "grammar.y"
@@ -1400,277 +1400,276 @@ case 31:
break;}
case 32:
#line 224 "grammar.y"
-{ yyval.node = new AccessorNode2(yyvsp[-2].node, yyvsp[0].ustr);
- delete yyvsp[0].ustr; ;
+{ yyval.node = new AccessorNode2(yyvsp[-2].node, *yyvsp[0].ident); delete yyvsp[0].ident; ;
break;}
case 33:
-#line 226 "grammar.y"
+#line 225 "grammar.y"
{ yyval.node = new NewExprNode(yyvsp[-1].node, yyvsp[0].args); ;
break;}
case 35:
-#line 231 "grammar.y"
+#line 230 "grammar.y"
{ yyval.node = new NewExprNode(yyvsp[0].node); ;
break;}
case 36:
-#line 235 "grammar.y"
+#line 234 "grammar.y"
{ yyval.node = new FunctionCallNode(yyvsp[-1].node, yyvsp[0].args); ;
break;}
case 37:
-#line 236 "grammar.y"
+#line 235 "grammar.y"
{ yyval.node = new FunctionCallNode(yyvsp[-1].node, yyvsp[0].args); ;
break;}
case 38:
-#line 237 "grammar.y"
+#line 236 "grammar.y"
{ yyval.node = new AccessorNode1(yyvsp[-3].node, yyvsp[-1].node); ;
break;}
case 39:
-#line 238 "grammar.y"
-{ yyval.node = new AccessorNode2(yyvsp[-2].node, yyvsp[0].ustr);
- delete yyvsp[0].ustr; ;
+#line 237 "grammar.y"
+{ yyval.node = new AccessorNode2(yyvsp[-2].node, *yyvsp[0].ident);
+ delete yyvsp[0].ident; ;
break;}
case 40:
-#line 243 "grammar.y"
+#line 242 "grammar.y"
{ yyval.args = new ArgumentsNode(0L); ;
break;}
case 41:
-#line 244 "grammar.y"
+#line 243 "grammar.y"
{ yyval.args = new ArgumentsNode(yyvsp[-1].alist); ;
break;}
case 42:
-#line 248 "grammar.y"
+#line 247 "grammar.y"
{ yyval.alist = new ArgumentListNode(yyvsp[0].node); ;
break;}
case 43:
-#line 250 "grammar.y"
+#line 249 "grammar.y"
{ yyval.alist = new ArgumentListNode(yyvsp[0].alist, yyvsp[-2].node); ;
break;}
case 47:
-#line 263 "grammar.y"
+#line 262 "grammar.y"
{ yyval.node = new PostfixNode(yyvsp[-1].node, OpPlusPlus); ;
break;}
case 48:
-#line 264 "grammar.y"
+#line 263 "grammar.y"
{ yyval.node = new PostfixNode(yyvsp[-1].node, OpMinusMinus); ;
break;}
case 50:
-#line 269 "grammar.y"
+#line 268 "grammar.y"
{ yyval.node = new DeleteNode(yyvsp[0].node); ;
break;}
case 51:
-#line 270 "grammar.y"
+#line 269 "grammar.y"
{ yyval.node = new VoidNode(yyvsp[0].node); ;
break;}
case 52:
-#line 271 "grammar.y"
+#line 270 "grammar.y"
{ yyval.node = new TypeOfNode(yyvsp[0].node); ;
break;}
case 53:
-#line 272 "grammar.y"
+#line 271 "grammar.y"
{ yyval.node = new PrefixNode(OpPlusPlus, yyvsp[0].node); ;
break;}
case 54:
-#line 273 "grammar.y"
+#line 272 "grammar.y"
{ yyval.node = new PrefixNode(OpPlusPlus, yyvsp[0].node); ;
break;}
case 55:
-#line 274 "grammar.y"
+#line 273 "grammar.y"
{ yyval.node = new PrefixNode(OpMinusMinus, yyvsp[0].node); ;
break;}
case 56:
-#line 275 "grammar.y"
+#line 274 "grammar.y"
{ yyval.node = new PrefixNode(OpMinusMinus, yyvsp[0].node); ;
break;}
case 57:
-#line 276 "grammar.y"
+#line 275 "grammar.y"
{ yyval.node = new UnaryPlusNode(yyvsp[0].node); ;
break;}
case 58:
-#line 277 "grammar.y"
+#line 276 "grammar.y"
{ yyval.node = new NegateNode(yyvsp[0].node); ;
break;}
case 59:
-#line 278 "grammar.y"
+#line 277 "grammar.y"
{ yyval.node = new BitwiseNotNode(yyvsp[0].node); ;
break;}
case 60:
-#line 279 "grammar.y"
+#line 278 "grammar.y"
{ yyval.node = new LogicalNotNode(yyvsp[0].node); ;
break;}
case 62:
-#line 284 "grammar.y"
+#line 283 "grammar.y"
{ yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, '*'); ;
break;}
case 63:
-#line 285 "grammar.y"
+#line 284 "grammar.y"
{ yyval.node = new MultNode(yyvsp[-2].node, yyvsp[0].node, '/'); ;
break;}
case 64:
-#line 286 "grammar.y"
+#line 285 "grammar.y"
{ yyval.node = new MultNode(yyvsp[-2].node,yyvsp[0].node,'%'); ;
break;}
case 66:
-#line 291 "grammar.y"
+#line 290 "grammar.y"
{ yyval.node = new AddNode(yyvsp[-2].node, yyvsp[0].node, '+'); ;
break;}
case 67:
-#line 292 "grammar.y"
+#line 291 "grammar.y"
{ yyval.node = new AddNode(yyvsp[-2].node, yyvsp[0].node, '-'); ;
break;}
case 69:
-#line 297 "grammar.y"
+#line 296 "grammar.y"
{ yyval.node = new ShiftNode(yyvsp[-2].node, OpLShift, yyvsp[0].node); ;
break;}
case 70:
-#line 298 "grammar.y"
+#line 297 "grammar.y"
{ yyval.node = new ShiftNode(yyvsp[-2].node, OpRShift, yyvsp[0].node); ;
break;}
case 71:
-#line 299 "grammar.y"
+#line 298 "grammar.y"
{ yyval.node = new ShiftNode(yyvsp[-2].node, OpURShift, yyvsp[0].node); ;
break;}
case 73:
-#line 305 "grammar.y"
+#line 304 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpLess, yyvsp[0].node); ;
break;}
case 74:
-#line 307 "grammar.y"
+#line 306 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpGreater, yyvsp[0].node); ;
break;}
case 75:
-#line 309 "grammar.y"
+#line 308 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpLessEq, yyvsp[0].node); ;
break;}
case 76:
-#line 311 "grammar.y"
+#line 310 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpGreaterEq, yyvsp[0].node); ;
break;}
case 77:
-#line 313 "grammar.y"
+#line 312 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpInstanceOf, yyvsp[0].node); ;
break;}
case 78:
-#line 315 "grammar.y"
+#line 314 "grammar.y"
{ yyval.node = new RelationalNode(yyvsp[-2].node, OpIn, yyvsp[0].node); ;
break;}
case 80:
-#line 320 "grammar.y"
+#line 319 "grammar.y"
{ yyval.node = new EqualNode(yyvsp[-2].node, OpEqEq, yyvsp[0].node); ;
break;}
case 81:
-#line 321 "grammar.y"
+#line 320 "grammar.y"
{ yyval.node = new EqualNode(yyvsp[-2].node, OpNotEq, yyvsp[0].node); ;
break;}
case 82:
-#line 322 "grammar.y"
+#line 321 "grammar.y"
{ yyval.node = new EqualNode(yyvsp[-2].node, OpStrEq, yyvsp[0].node); ;
break;}
case 83:
-#line 323 "grammar.y"
+#line 322 "grammar.y"
{ yyval.node = new EqualNode(yyvsp[-2].node, OpStrNEq, yyvsp[0].node);;
break;}
case 85:
-#line 328 "grammar.y"
+#line 327 "grammar.y"
{ yyval.node = new BitOperNode(yyvsp[-2].node, OpBitAnd, yyvsp[0].node); ;
break;}
case 87:
-#line 333 "grammar.y"
+#line 332 "grammar.y"
{ yyval.node = new BitOperNode(yyvsp[-2].node, OpBitXOr, yyvsp[0].node); ;
break;}
case 89:
-#line 338 "grammar.y"
+#line 337 "grammar.y"
{ yyval.node = new BitOperNode(yyvsp[-2].node, OpBitOr, yyvsp[0].node); ;
break;}
case 91:
-#line 344 "grammar.y"
+#line 343 "grammar.y"
{ yyval.node = new BinaryLogicalNode(yyvsp[-2].node, OpAnd, yyvsp[0].node); ;
break;}
case 93:
-#line 350 "grammar.y"
+#line 349 "grammar.y"
{ yyval.node = new BinaryLogicalNode(yyvsp[-2].node, OpOr, yyvsp[0].node); ;
break;}
case 95:
-#line 356 "grammar.y"
+#line 355 "grammar.y"
{ yyval.node = new ConditionalNode(yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 97:
-#line 362 "grammar.y"
+#line 361 "grammar.y"
{ yyval.node = new AssignNode(yyvsp[-2].node, yyvsp[-1].op, yyvsp[0].node);;
break;}
case 98:
-#line 366 "grammar.y"
+#line 365 "grammar.y"
{ yyval.op = OpEqual; ;
break;}
case 99:
-#line 367 "grammar.y"
+#line 366 "grammar.y"
{ yyval.op = OpPlusEq; ;
break;}
case 100:
-#line 368 "grammar.y"
+#line 367 "grammar.y"
{ yyval.op = OpMinusEq; ;
break;}
case 101:
-#line 369 "grammar.y"
+#line 368 "grammar.y"
{ yyval.op = OpMultEq; ;
break;}
case 102:
-#line 370 "grammar.y"
+#line 369 "grammar.y"
{ yyval.op = OpDivEq; ;
break;}
case 103:
-#line 371 "grammar.y"
+#line 370 "grammar.y"
{ yyval.op = OpLShift; ;
break;}
case 104:
-#line 372 "grammar.y"
+#line 371 "grammar.y"
{ yyval.op = OpRShift; ;
break;}
case 105:
-#line 373 "grammar.y"
+#line 372 "grammar.y"
{ yyval.op = OpURShift; ;
break;}
case 106:
-#line 374 "grammar.y"
+#line 373 "grammar.y"
{ yyval.op = OpAndEq; ;
break;}
case 107:
-#line 375 "grammar.y"
+#line 374 "grammar.y"
{ yyval.op = OpXOrEq; ;
break;}
case 108:
-#line 376 "grammar.y"
+#line 375 "grammar.y"
{ yyval.op = OpOrEq; ;
break;}
case 109:
-#line 377 "grammar.y"
+#line 376 "grammar.y"
{ yyval.op = OpModEq; ;
break;}
case 111:
-#line 382 "grammar.y"
+#line 381 "grammar.y"
{ yyval.node = new CommaNode(yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 126:
-#line 403 "grammar.y"
+#line 402 "grammar.y"
{ yyval.stat = new BlockNode(0L); DBG(yyval.stat, yylsp[0], yylsp[0]); ;
break;}
case 127:
-#line 404 "grammar.y"
+#line 403 "grammar.y"
{ yyval.stat = new BlockNode(yyvsp[-1].srcs); DBG(yyval.stat, yylsp[0], yylsp[0]); ;
break;}
case 128:
-#line 408 "grammar.y"
+#line 407 "grammar.y"
{ yyval.slist = new StatListNode(yyvsp[0].stat); ;
break;}
case 129:
-#line 409 "grammar.y"
+#line 408 "grammar.y"
{ yyval.slist = new StatListNode(yyvsp[-1].slist, yyvsp[0].stat); ;
break;}
case 130:
-#line 413 "grammar.y"
+#line 412 "grammar.y"
{ yyval.stat = new VarStatementNode(yyvsp[-1].vlist);
DBG(yyval.stat, yylsp[-2], yylsp[0]); ;
break;}
case 131:
-#line 415 "grammar.y"
+#line 414 "grammar.y"
{ if (automatic()) {
yyval.stat = new VarStatementNode(yyvsp[-1].vlist);
DBG(yyval.stat, yylsp[-2], yylsp[-1]);
@@ -1680,36 +1679,36 @@ case 131:
;
break;}
case 132:
-#line 425 "grammar.y"
+#line 424 "grammar.y"
{ yyval.vlist = new VarDeclListNode(yyvsp[0].decl); ;
break;}
case 133:
-#line 427 "grammar.y"
+#line 426 "grammar.y"
{ yyval.vlist = new VarDeclListNode(yyvsp[-2].vlist, yyvsp[0].decl); ;
break;}
case 134:
-#line 431 "grammar.y"
-{ yyval.decl = new VarDeclNode(yyvsp[0].ustr, 0); delete yyvsp[0].ustr; ;
+#line 430 "grammar.y"
+{ yyval.decl = new VarDeclNode(*yyvsp[0].ident, 0); delete yyvsp[0].ident; ;
break;}
case 135:
-#line 432 "grammar.y"
-{ yyval.decl = new VarDeclNode(yyvsp[-1].ustr, yyvsp[0].init); delete yyvsp[-1].ustr; ;
+#line 431 "grammar.y"
+{ yyval.decl = new VarDeclNode(*yyvsp[-1].ident, yyvsp[0].init); delete yyvsp[-1].ident; ;
break;}
case 136:
-#line 436 "grammar.y"
+#line 435 "grammar.y"
{ yyval.init = new AssignExprNode(yyvsp[0].node); ;
break;}
case 137:
-#line 440 "grammar.y"
+#line 439 "grammar.y"
{ yyval.stat = new EmptyStatementNode(); ;
break;}
case 138:
-#line 444 "grammar.y"
+#line 443 "grammar.y"
{ yyval.stat = new ExprStatementNode(yyvsp[-1].node);
DBG(yyval.stat, yylsp[-1], yylsp[0]); ;
break;}
case 139:
-#line 446 "grammar.y"
+#line 445 "grammar.y"
{ if (automatic()) {
yyval.stat = new ExprStatementNode(yyvsp[-1].node);
DBG(yyval.stat, yylsp[-1], yylsp[-1]);
@@ -1717,260 +1716,260 @@ case 139:
YYABORT; ;
break;}
case 140:
-#line 454 "grammar.y"
+#line 453 "grammar.y"
{ yyval.stat = new IfNode(yyvsp[-2].node,yyvsp[0].stat,0L);DBG(yyval.stat,yylsp[-4],yylsp[-1]); ;
break;}
case 141:
-#line 456 "grammar.y"
+#line 455 "grammar.y"
{ yyval.stat = new IfNode(yyvsp[-4].node,yyvsp[-2].stat,yyvsp[0].stat);DBG(yyval.stat,yylsp[-6],yylsp[-3]); ;
break;}
case 142:
-#line 460 "grammar.y"
+#line 459 "grammar.y"
{ yyval.stat=new DoWhileNode(yyvsp[-4].stat,yyvsp[-1].node);DBG(yyval.stat,yylsp[-5],yylsp[-3]);;
break;}
case 143:
-#line 461 "grammar.y"
+#line 460 "grammar.y"
{ yyval.stat = new WhileNode(yyvsp[-2].node,yyvsp[0].stat);DBG(yyval.stat,yylsp[-4],yylsp[-1]); ;
break;}
case 144:
-#line 463 "grammar.y"
+#line 462 "grammar.y"
{ yyval.stat = new ForNode(yyvsp[-6].node,yyvsp[-4].node,yyvsp[-2].node,yyvsp[0].stat);
DBG(yyval.stat,yylsp[-8],yylsp[-1]); ;
break;}
case 145:
-#line 466 "grammar.y"
+#line 465 "grammar.y"
{ yyval.stat = new ForNode(yyvsp[-6].vlist,yyvsp[-4].node,yyvsp[-2].node,yyvsp[0].stat);
DBG(yyval.stat,yylsp[-9],yylsp[-1]); ;
break;}
case 146:
-#line 469 "grammar.y"
+#line 468 "grammar.y"
{ yyval.stat = new ForInNode(yyvsp[-4].node, yyvsp[-2].node, yyvsp[0].stat);
DBG(yyval.stat,yylsp[-6],yylsp[-1]); ;
break;}
case 147:
-#line 472 "grammar.y"
-{ yyval.stat = new ForInNode(yyvsp[-4].ustr,0L,yyvsp[-2].node,yyvsp[0].stat);
+#line 471 "grammar.y"
+{ yyval.stat = new ForInNode(*yyvsp[-4].ident,0L,yyvsp[-2].node,yyvsp[0].stat);
DBG(yyval.stat,yylsp[-7],yylsp[-1]);
- delete yyvsp[-4].ustr; ;
+ delete yyvsp[-4].ident; ;
break;}
case 148:
-#line 476 "grammar.y"
-{ yyval.stat = new ForInNode(yyvsp[-5].ustr,yyvsp[-4].init,yyvsp[-2].node,yyvsp[0].stat);
+#line 475 "grammar.y"
+{ yyval.stat = new ForInNode(*yyvsp[-5].ident,yyvsp[-4].init,yyvsp[-2].node,yyvsp[0].stat);
DBG(yyval.stat,yylsp[-8],yylsp[-1]);
- delete yyvsp[-5].ustr; ;
+ delete yyvsp[-5].ident; ;
break;}
case 149:
-#line 482 "grammar.y"
+#line 481 "grammar.y"
{ yyval.node = 0L; ;
break;}
case 151:
-#line 487 "grammar.y"
+#line 486 "grammar.y"
{ yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]); ;
break;}
case 152:
-#line 488 "grammar.y"
+#line 487 "grammar.y"
{ if (automatic()) {
yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]);
} else
YYABORT; ;
break;}
case 153:
-#line 492 "grammar.y"
-{ yyval.stat = new ContinueNode(yyvsp[-1].ustr); DBG(yyval.stat,yylsp[-2],yylsp[0]);
- delete yyvsp[-1].ustr; ;
+#line 491 "grammar.y"
+{ yyval.stat = new ContinueNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[0]);
+ delete yyvsp[-1].ident; ;
break;}
case 154:
-#line 494 "grammar.y"
+#line 493 "grammar.y"
{ if (automatic()) {
- yyval.stat = new ContinueNode(yyvsp[-1].ustr);DBG(yyval.stat,yylsp[-2],yylsp[-1]);
- delete yyvsp[-1].ustr;
+ yyval.stat = new ContinueNode(*yyvsp[-1].ident);DBG(yyval.stat,yylsp[-2],yylsp[-1]);
+ delete yyvsp[-1].ident;
} else
YYABORT; ;
break;}
case 155:
-#line 502 "grammar.y"
+#line 501 "grammar.y"
{ yyval.stat = new BreakNode();DBG(yyval.stat,yylsp[-1],yylsp[0]); ;
break;}
case 156:
-#line 503 "grammar.y"
+#line 502 "grammar.y"
{ if (automatic()) {
yyval.stat = new BreakNode(); DBG(yyval.stat,yylsp[-1],yylsp[-1]);
} else
YYABORT; ;
break;}
case 157:
-#line 507 "grammar.y"
-{ yyval.stat = new BreakNode(yyvsp[-1].ustr); DBG(yyval.stat,yylsp[-2],yylsp[0]);
- delete yyvsp[-1].ustr; ;
+#line 506 "grammar.y"
+{ yyval.stat = new BreakNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[0]);
+ delete yyvsp[-1].ident; ;
break;}
case 158:
-#line 509 "grammar.y"
+#line 508 "grammar.y"
{ if (automatic()) {
- yyval.stat = new BreakNode(yyvsp[-1].ustr); DBG(yyval.stat,yylsp[-2],yylsp[-1]);
- delete yyvsp[-1].ustr;
+ yyval.stat = new BreakNode(*yyvsp[-1].ident); DBG(yyval.stat,yylsp[-2],yylsp[-1]);
+ delete yyvsp[-1].ident;
} else
YYABORT;
;
break;}
case 159:
-#line 518 "grammar.y"
+#line 517 "grammar.y"
{ yyval.stat = new ReturnNode(0L); DBG(yyval.stat,yylsp[-1],yylsp[0]); ;
break;}
case 160:
-#line 519 "grammar.y"
+#line 518 "grammar.y"
{ if (automatic()) {
yyval.stat = new ReturnNode(0L); DBG(yyval.stat,yylsp[-1],yylsp[-1]);
} else
YYABORT; ;
break;}
case 161:
-#line 523 "grammar.y"
+#line 522 "grammar.y"
{ yyval.stat = new ReturnNode(yyvsp[-1].node); ;
break;}
case 162:
-#line 524 "grammar.y"
+#line 523 "grammar.y"
{ if (automatic())
yyval.stat = new ReturnNode(yyvsp[-1].node);
else
YYABORT; ;
break;}
case 163:
-#line 531 "grammar.y"
+#line 530 "grammar.y"
{ yyval.stat = new WithNode(yyvsp[-2].node,yyvsp[0].stat);
DBG(yyval.stat, yylsp[-4], yylsp[-1]); ;
break;}
case 164:
-#line 536 "grammar.y"
+#line 535 "grammar.y"
{ yyval.stat = new SwitchNode(yyvsp[-2].node, yyvsp[0].cblk);
DBG(yyval.stat, yylsp[-4], yylsp[-1]); ;
break;}
case 165:
-#line 541 "grammar.y"
+#line 540 "grammar.y"
{ yyval.cblk = new CaseBlockNode(yyvsp[-1].clist, 0L, 0L); ;
break;}
case 166:
-#line 543 "grammar.y"
+#line 542 "grammar.y"
{ yyval.cblk = new CaseBlockNode(yyvsp[-3].clist, yyvsp[-2].ccl, yyvsp[-1].clist); ;
break;}
case 167:
-#line 547 "grammar.y"
+#line 546 "grammar.y"
{ yyval.clist = 0L; ;
break;}
case 169:
-#line 552 "grammar.y"
+#line 551 "grammar.y"
{ yyval.clist = new ClauseListNode(yyvsp[0].ccl); ;
break;}
case 170:
-#line 553 "grammar.y"
+#line 552 "grammar.y"
{ yyval.clist = yyvsp[-1].clist->append(yyvsp[0].ccl); ;
break;}
case 171:
-#line 557 "grammar.y"
+#line 556 "grammar.y"
{ yyval.ccl = new CaseClauseNode(yyvsp[-1].node, 0L); ;
break;}
case 172:
-#line 558 "grammar.y"
+#line 557 "grammar.y"
{ yyval.ccl = new CaseClauseNode(yyvsp[-2].node, yyvsp[0].slist); ;
break;}
case 173:
-#line 562 "grammar.y"
+#line 561 "grammar.y"
{ yyval.ccl = new CaseClauseNode(0L, 0L);; ;
break;}
case 174:
-#line 563 "grammar.y"
+#line 562 "grammar.y"
{ yyval.ccl = new CaseClauseNode(0L, yyvsp[0].slist); ;
break;}
case 175:
-#line 567 "grammar.y"
-{ yyvsp[0].stat->pushLabel(yyvsp[-2].ustr);
- yyval.stat = new LabelNode(yyvsp[-2].ustr, yyvsp[0].stat);
- delete yyvsp[-2].ustr; ;
+#line 566 "grammar.y"
+{ yyvsp[0].stat->pushLabel(*yyvsp[-2].ident);
+ yyval.stat = new LabelNode(*yyvsp[-2].ident, yyvsp[0].stat);
+ delete yyvsp[-2].ident; ;
break;}
case 176:
-#line 573 "grammar.y"
+#line 572 "grammar.y"
{ yyval.stat = new ThrowNode(yyvsp[-1].node); ;
break;}
case 177:
-#line 577 "grammar.y"
+#line 576 "grammar.y"
{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].node); ;
break;}
case 178:
-#line 578 "grammar.y"
+#line 577 "grammar.y"
{ yyval.stat = new TryNode(yyvsp[-1].stat, 0L, yyvsp[0].node); ;
break;}
case 179:
-#line 579 "grammar.y"
+#line 578 "grammar.y"
{ yyval.stat = new TryNode(yyvsp[-2].stat, yyvsp[-1].node, yyvsp[0].node); ;
break;}
case 180:
-#line 583 "grammar.y"
-{ yyval.node = new CatchNode(yyvsp[-2].ustr, yyvsp[0].stat); delete yyvsp[-2].ustr; ;
+#line 582 "grammar.y"
+{ yyval.node = new CatchNode(*yyvsp[-2].ident, yyvsp[0].stat); delete yyvsp[-2].ident; ;
break;}
case 181:
-#line 587 "grammar.y"
+#line 586 "grammar.y"
{ yyval.node = new FinallyNode(yyvsp[0].stat); ;
break;}
case 182:
-#line 591 "grammar.y"
-{ yyval.func = new FuncDeclNode(yyvsp[-3].ustr, 0L, yyvsp[0].body);
- delete yyvsp[-3].ustr; ;
+#line 590 "grammar.y"
+{ yyval.func = new FuncDeclNode(*yyvsp[-3].ident, 0L, yyvsp[0].body);
+ delete yyvsp[-3].ident; ;
break;}
case 183:
-#line 594 "grammar.y"
-{ yyval.func = new FuncDeclNode(yyvsp[-4].ustr, yyvsp[-2].param, yyvsp[0].body);
- delete yyvsp[-4].ustr; ;
+#line 593 "grammar.y"
+{ yyval.func = new FuncDeclNode(*yyvsp[-4].ident, yyvsp[-2].param, yyvsp[0].body);
+ delete yyvsp[-4].ident; ;
break;}
case 184:
-#line 598 "grammar.y"
+#line 597 "grammar.y"
{ yyval.node = new FuncExprNode(0L, yyvsp[0].body); ;
break;}
case 185:
-#line 600 "grammar.y"
+#line 599 "grammar.y"
{ yyval.node = new FuncExprNode(yyvsp[-2].param, yyvsp[0].body); ;
break;}
case 186:
-#line 605 "grammar.y"
-{ yyval.param = new ParameterNode(yyvsp[0].ustr); delete yyvsp[0].ustr; ;
+#line 604 "grammar.y"
+{ yyval.param = new ParameterNode(*yyvsp[0].ident); delete yyvsp[0].ident; ;
break;}
case 187:
-#line 606 "grammar.y"
-{ yyval.param = yyvsp[-2].param->append(yyvsp[0].ustr);
- delete yyvsp[0].ustr; ;
+#line 605 "grammar.y"
+{ yyval.param = yyvsp[-2].param->append(*yyvsp[0].ident);
+ delete yyvsp[0].ident; ;
break;}
case 188:
-#line 611 "grammar.y"
+#line 610 "grammar.y"
{ yyval.body = new FunctionBodyNode(0L);
DBG(yyval.body, yylsp[-1], yylsp[0]);;
break;}
case 189:
-#line 613 "grammar.y"
+#line 612 "grammar.y"
{ yyval.body = new FunctionBodyNode(yyvsp[-1].srcs);
DBG(yyval.body, yylsp[-2], yylsp[0]);;
break;}
case 190:
-#line 618 "grammar.y"
+#line 617 "grammar.y"
{ yyval.prog = new ProgramNode(0L);
Parser::progNode = yyval.prog; ;
break;}
case 191:
-#line 620 "grammar.y"
+#line 619 "grammar.y"
{ yyval.prog = new ProgramNode(yyvsp[0].srcs);
Parser::progNode = yyval.prog; ;
break;}
case 192:
-#line 625 "grammar.y"
+#line 624 "grammar.y"
{ yyval.srcs = new SourceElementsNode(yyvsp[0].src); ;
break;}
case 193:
-#line 627 "grammar.y"
+#line 626 "grammar.y"
{ yyval.srcs = new SourceElementsNode(yyvsp[0].srcs, yyvsp[-1].src); ;
break;}
case 194:
-#line 634 "grammar.y"
+#line 633 "grammar.y"
{ yyval.src = new SourceElementNode(yyvsp[0].stat); ;
break;}
case 195:
-#line 635 "grammar.y"
+#line 634 "grammar.y"
{ yyval.src = new SourceElementNode(yyvsp[0].func); ;
break;}
}
@@ -2195,7 +2194,7 @@ yyerrhandle:
}
return 1;
}
-#line 638 "grammar.y"
+#line 637 "grammar.y"
int yyerror (const char *) /* Called by yyparse on error */
diff --git a/JavaScriptCore/kjs/grammar.cpp.h b/JavaScriptCore/kjs/grammar.cpp.h
index ff02a0b..acea66b 100644
--- a/JavaScriptCore/kjs/grammar.cpp.h
+++ b/JavaScriptCore/kjs/grammar.cpp.h
@@ -2,6 +2,7 @@ typedef union {
int ival;
double dval;
UString *ustr;
+ Identifier *ident;
Node *node;
StatementNode *stat;
ParameterNode *param;
diff --git a/JavaScriptCore/kjs/grammar.h b/JavaScriptCore/kjs/grammar.h
index ff02a0b..acea66b 100644
--- a/JavaScriptCore/kjs/grammar.h
+++ b/JavaScriptCore/kjs/grammar.h
@@ -2,6 +2,7 @@ typedef union {
int ival;
double dval;
UString *ustr;
+ Identifier *ident;
Node *node;
StatementNode *stat;
ParameterNode *param;
diff --git a/JavaScriptCore/kjs/grammar.y b/JavaScriptCore/kjs/grammar.y
index 2899014..9aef96e 100644
--- a/JavaScriptCore/kjs/grammar.y
+++ b/JavaScriptCore/kjs/grammar.y
@@ -53,6 +53,7 @@ using namespace KJS;
int ival;
double dval;
UString *ustr;
+ Identifier *ident;
Node *node;
StatementNode *stat;
ParameterNode *param;
@@ -110,7 +111,7 @@ using namespace KJS;
/* terminal types */
%token <dval> NUMBER
%token <ustr> STRING
-%token <ustr> IDENT
+%token <ident> IDENT
/* automatically inserted semicolon */
%token AUTOPLUSPLUS AUTOMINUSMINUS
@@ -173,7 +174,7 @@ Literal:
PrimaryExpr:
THIS { $$ = new ThisNode(); }
- | IDENT { $$ = new ResolveNode($1);
+ | IDENT { $$ = new ResolveNode(*$1);
delete $1; }
| Literal
| ArrayLiteral
@@ -211,9 +212,8 @@ PropertyNameAndValueList:
;
PropertyName:
- IDENT { $$ = new PropertyNode($1);
- delete $1; }
- | STRING { $$ = new PropertyNode($1); delete $1; }
+ IDENT { $$ = new PropertyNode(*$1); delete $1; }
+ | STRING { $$ = new PropertyNode(Identifier(*$1)); delete $1; }
| NUMBER { $$ = new PropertyNode($1); }
;
@@ -221,8 +221,7 @@ MemberExpr:
PrimaryExpr
| FunctionExpr
| MemberExpr '[' Expr ']' { $$ = new AccessorNode1($1, $3); }
- | MemberExpr '.' IDENT { $$ = new AccessorNode2($1, $3);
- delete $3; }
+ | MemberExpr '.' IDENT { $$ = new AccessorNode2($1, *$3); delete $3; }
| NEW MemberExpr Arguments { $$ = new NewExprNode($2, $3); }
;
@@ -235,7 +234,7 @@ CallExpr:
MemberExpr Arguments { $$ = new FunctionCallNode($1, $2); }
| CallExpr Arguments { $$ = new FunctionCallNode($1, $2); }
| CallExpr '[' Expr ']' { $$ = new AccessorNode1($1, $3); }
- | CallExpr '.' IDENT { $$ = new AccessorNode2($1, $3);
+ | CallExpr '.' IDENT { $$ = new AccessorNode2($1, *$3);
delete $3; }
;
@@ -428,8 +427,8 @@ VariableDeclarationList:
;
VariableDeclaration:
- IDENT { $$ = new VarDeclNode($1, 0); delete $1; }
- | IDENT Initializer { $$ = new VarDeclNode($1, $2); delete $1; }
+ IDENT { $$ = new VarDeclNode(*$1, 0); delete $1; }
+ | IDENT Initializer { $$ = new VarDeclNode(*$1, $2); delete $1; }
;
Initializer:
@@ -469,11 +468,11 @@ IterationStatement:
Statement { $$ = new ForInNode($3, $5, $7);
DBG($$, at 1, at 6); }
| FOR '(' VAR IDENT IN Expr ')'
- Statement { $$ = new ForInNode($4,0L,$6,$8);
+ Statement { $$ = new ForInNode(*$4,0L,$6,$8);
DBG($$, at 1, at 7);
delete $4; }
| FOR '(' VAR IDENT Initializer IN Expr ')'
- Statement { $$ = new ForInNode($4,$5,$7,$9);
+ Statement { $$ = new ForInNode(*$4,$5,$7,$9);
DBG($$, at 1, at 8);
delete $4; }
;
@@ -489,10 +488,10 @@ ContinueStatement:
$$ = new ContinueNode(); DBG($$, at 1, at 2);
} else
YYABORT; }
- | CONTINUE IDENT ';' { $$ = new ContinueNode($2); DBG($$, at 1, at 3);
+ | CONTINUE IDENT ';' { $$ = new ContinueNode(*$2); DBG($$, at 1, at 3);
delete $2; }
| CONTINUE IDENT error { if (automatic()) {
- $$ = new ContinueNode($2);DBG($$, at 1, at 2);
+ $$ = new ContinueNode(*$2);DBG($$, at 1, at 2);
delete $2;
} else
YYABORT; }
@@ -504,10 +503,10 @@ BreakStatement:
$$ = new BreakNode(); DBG($$, at 1, at 1);
} else
YYABORT; }
- | BREAK IDENT ';' { $$ = new BreakNode($2); DBG($$, at 1, at 3);
+ | BREAK IDENT ';' { $$ = new BreakNode(*$2); DBG($$, at 1, at 3);
delete $2; }
| BREAK IDENT error { if (automatic()) {
- $$ = new BreakNode($2); DBG($$, at 1, at 2);
+ $$ = new BreakNode(*$2); DBG($$, at 1, at 2);
delete $2;
} else
YYABORT;
@@ -564,8 +563,8 @@ DefaultClause:
;
LabelledStatement:
- IDENT ':' Statement { $3->pushLabel($1);
- $$ = new LabelNode($1, $3);
+ IDENT ':' Statement { $3->pushLabel(*$1);
+ $$ = new LabelNode(*$1, $3);
delete $1; }
;
@@ -580,7 +579,7 @@ TryStatement:
;
Catch:
- CATCH '(' IDENT ')' Block { $$ = new CatchNode($3, $5); delete $3; }
+ CATCH '(' IDENT ')' Block { $$ = new CatchNode(*$3, $5); delete $3; }
;
Finally:
@@ -588,10 +587,10 @@ Finally:
;
FunctionDeclaration:
- FUNCTION IDENT '(' ')' FunctionBody { $$ = new FuncDeclNode($2, 0L, $5);
+ FUNCTION IDENT '(' ')' FunctionBody { $$ = new FuncDeclNode(*$2, 0L, $5);
delete $2; }
| FUNCTION IDENT '(' FormalParameterList ')' FunctionBody
- { $$ = new FuncDeclNode($2, $4, $6);
+ { $$ = new FuncDeclNode(*$2, $4, $6);
delete $2; }
FunctionExpr:
@@ -602,8 +601,8 @@ FunctionExpr:
;
FormalParameterList:
- IDENT { $$ = new ParameterNode($1); delete $1; }
- | FormalParameterList ',' IDENT { $$ = $1->append($3);
+ IDENT { $$ = new ParameterNode(*$1); delete $1; }
+ | FormalParameterList ',' IDENT { $$ = $1->append(*$3);
delete $3; }
;
diff --git a/JavaScriptCore/kjs/completion.cpp b/JavaScriptCore/kjs/identifier.cpp
similarity index 70%
copy from JavaScriptCore/kjs/completion.cpp
copy to JavaScriptCore/kjs/identifier.cpp
index 15fd4d0..96c0379 100644
--- a/JavaScriptCore/kjs/completion.cpp
+++ b/JavaScriptCore/kjs/identifier.cpp
@@ -1,8 +1,5 @@
-// -*- c-basic-offset: 2 -*-
/*
* This file is part of the KDE libraries
- * Copyright (C) 1999-2001 Harri Porten (porten at kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk at post.com)
* Copyright (C) 2002 Apple Computer, Inc
*
* This library is free software; you can redistribute it and/or
@@ -22,13 +19,5 @@
*
*/
-#include "completion.h"
+#include "identifier.h"
-using namespace KJS;
-
-// ------------------------------ Completion -----------------------------------
-
-Completion::Completion(ComplType c, const Value& v, const UString &t)
- : comp(c), val(v), tar(t)
-{
-}
diff --git a/JavaScriptCore/kjs/completion.cpp b/JavaScriptCore/kjs/identifier.h
similarity index 70%
copy from JavaScriptCore/kjs/completion.cpp
copy to JavaScriptCore/kjs/identifier.h
index 15fd4d0..ef606b0 100644
--- a/JavaScriptCore/kjs/completion.cpp
+++ b/JavaScriptCore/kjs/identifier.h
@@ -1,8 +1,5 @@
-// -*- c-basic-offset: 2 -*-
/*
* This file is part of the KDE libraries
- * Copyright (C) 1999-2001 Harri Porten (porten at kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk at post.com)
* Copyright (C) 2002 Apple Computer, Inc
*
* This library is free software; you can redistribute it and/or
@@ -22,13 +19,20 @@
*
*/
-#include "completion.h"
+#ifndef KJS_IDENTIFIER_H
+#define KJS_IDENTIFIER_H
-using namespace KJS;
+#include "ustring.h"
-// ------------------------------ Completion -----------------------------------
+namespace KJS {
+
+ class Identifier : public UString {
+ public:
+ Identifier() { }
+ Identifier(const char *s) : UString(s) { }
+ Identifier(const UString &s) : UString(s) { }
+ };
-Completion::Completion(ComplType c, const Value& v, const UString &t)
- : comp(c), val(v), tar(t)
-{
}
+
+#endif
diff --git a/JavaScriptCore/kjs/internal.cpp b/JavaScriptCore/kjs/internal.cpp
index 521b523..7daa191 100644
--- a/JavaScriptCore/kjs/internal.cpp
+++ b/JavaScriptCore/kjs/internal.cpp
@@ -282,7 +282,7 @@ LabelStack &LabelStack::operator=(const LabelStack &other)
return *this;
}
-bool LabelStack::push(const UString &id)
+bool LabelStack::push(const Identifier &id)
{
if (id.isEmpty() || contains(id))
return false;
@@ -294,7 +294,7 @@ bool LabelStack::push(const UString &id)
return true;
}
-bool LabelStack::contains(const UString &id) const
+bool LabelStack::contains(const Identifier &id) const
{
if (id.isEmpty())
return true;
diff --git a/JavaScriptCore/kjs/internal.h b/JavaScriptCore/kjs/internal.h
index f286cfd..79281f5 100644
--- a/JavaScriptCore/kjs/internal.h
+++ b/JavaScriptCore/kjs/internal.h
@@ -153,18 +153,18 @@ namespace KJS {
* If id is not empty and is not in the stack already, puts it on top of
* the stack and returns true, otherwise returns false
*/
- bool push(const UString &id);
+ bool push(const Identifier &id);
/**
* Is the id in the stack?
*/
- bool contains(const UString &id) const;
+ bool contains(const Identifier &id) const;
/**
* Removes from the stack the last pushed id (what else?)
*/
void pop();
private:
struct StackElem {
- UString id;
+ Identifier id;
StackElem *prev;
};
diff --git a/JavaScriptCore/kjs/lexer.cpp b/JavaScriptCore/kjs/lexer.cpp
index 687fb57..47d76b3 100644
--- a/JavaScriptCore/kjs/lexer.cpp
+++ b/JavaScriptCore/kjs/lexer.cpp
@@ -36,7 +36,7 @@
#include "interpreter.h"
#include "nodes.h"
#include "lexer.h"
-#include "ustring.h"
+#include "identifier.h"
#include "lookup.h"
#include "internal.h"
diff --git a/JavaScriptCore/kjs/lookup.cpp b/JavaScriptCore/kjs/lookup.cpp
index f5567c0..81b1a60 100644
--- a/JavaScriptCore/kjs/lookup.cpp
+++ b/JavaScriptCore/kjs/lookup.cpp
@@ -67,7 +67,7 @@ const HashEntry* Lookup::findEntry( const struct HashTable *table,
}
const HashEntry* Lookup::findEntry( const struct HashTable *table,
- const UString &s )
+ const Identifier &s )
{
return findEntry( table, s.data(), s.size() );
}
@@ -81,7 +81,7 @@ int Lookup::find(const struct HashTable *table,
return -1;
}
-int Lookup::find(const struct HashTable *table, const UString &s)
+int Lookup::find(const struct HashTable *table, const Identifier &s)
{
return find(table, s.data(), s.size());
}
@@ -96,7 +96,7 @@ unsigned int Lookup::hash(const UChar *c, unsigned int len)
return val;
}
-unsigned int Lookup::hash(const UString &key)
+unsigned int Lookup::hash(const Identifier &key)
{
return hash(key.data(), key.size());
}
diff --git a/JavaScriptCore/kjs/lookup.h b/JavaScriptCore/kjs/lookup.h
index 88819a2..47084db 100644
--- a/JavaScriptCore/kjs/lookup.h
+++ b/JavaScriptCore/kjs/lookup.h
@@ -22,7 +22,7 @@
#ifndef _KJSLOOKUP_H_
#define _KJSLOOKUP_H_
-#include "ustring.h"
+#include "identifier.h"
#include "value.h"
#include <stdio.h>
@@ -96,7 +96,7 @@ namespace KJS {
/**
* Find an entry in the table, and return its value (i.e. the value field of HashEntry)
*/
- static int find(const struct HashTable *table, const UString &s);
+ static int find(const struct HashTable *table, const Identifier &s);
static int find(const struct HashTable *table,
const UChar *c, unsigned int len);
@@ -106,14 +106,14 @@ namespace KJS {
* especially the attr field.
*/
static const HashEntry* findEntry(const struct HashTable *table,
- const UString &s);
+ const Identifier &s);
static const HashEntry* findEntry(const struct HashTable *table,
const UChar *c, unsigned int len);
/**
* Calculate the hash value for a given key
*/
- static unsigned int hash(const UString &key);
+ static unsigned int hash(const Identifier &key);
static unsigned int hash(const UChar *c, unsigned int len);
static unsigned int hash(const char *s);
};
@@ -125,7 +125,7 @@ namespace KJS {
* Helper for lookupFunction and lookupValueOrFunction
*/
template <class FuncImp>
- inline Value lookupOrCreateFunction(ExecState *exec, const UString &propertyName,
+ inline Value lookupOrCreateFunction(ExecState *exec, const Identifier &propertyName,
const ObjectImp *thisObj, int token, int params, int attr)
{
// Look for cached value in dynamic map of properties (in ObjectImp)
@@ -162,7 +162,7 @@ namespace KJS {
* @param thisObj "this"
*/
template <class FuncImp, class ThisImp, class ParentImp>
- inline Value lookupGet(ExecState *exec, const UString &propertyName,
+ inline Value lookupGet(ExecState *exec, const Identifier &propertyName,
const HashTable* table, const ThisImp* thisObj)
{
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -181,7 +181,7 @@ namespace KJS {
* Using this instead of lookupGet prevents 'this' from implementing a dummy getValueProperty.
*/
template <class FuncImp, class ParentImp>
- inline Value lookupGetFunction(ExecState *exec, const UString &propertyName,
+ inline Value lookupGetFunction(ExecState *exec, const Identifier &propertyName,
const HashTable* table, const ObjectImp* thisObj)
{
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -201,7 +201,7 @@ namespace KJS {
* Using this instead of lookupGet removes the need for a FuncImp class.
*/
template <class ThisImp, class ParentImp>
- inline Value lookupGetValue(ExecState *exec, const UString &propertyName,
+ inline Value lookupGetValue(ExecState *exec, const Identifier &propertyName,
const HashTable* table, const ThisImp* thisObj)
{
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -219,7 +219,7 @@ namespace KJS {
* Lookup hash entry for property to be set, and set the value.
*/
template <class ThisImp, class ParentImp>
- inline void lookupPut(ExecState *exec, const UString &propertyName,
+ inline void lookupPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr,
const HashTable* table, const ThisImp* thisObj)
{
diff --git a/JavaScriptCore/kjs/math_object.cpp b/JavaScriptCore/kjs/math_object.cpp
index 6ca32d6..fd2defc 100644
--- a/JavaScriptCore/kjs/math_object.cpp
+++ b/JavaScriptCore/kjs/math_object.cpp
@@ -81,7 +81,7 @@ MathObjectImp::MathObjectImp(ExecState * /*exec*/,
}
// ECMA 15.8
-Value MathObjectImp::get(ExecState *exec, const UString &propertyName) const
+Value MathObjectImp::get(ExecState *exec, const Identifier &propertyName) const
{
return lookupGet<MathFuncImp, MathObjectImp, ObjectImp>( exec, propertyName, &mathTable, this );
}
diff --git a/JavaScriptCore/kjs/math_object.h b/JavaScriptCore/kjs/math_object.h
index b0a4e2b..89c6807 100644
--- a/JavaScriptCore/kjs/math_object.h
+++ b/JavaScriptCore/kjs/math_object.h
@@ -31,7 +31,7 @@ namespace KJS {
public:
MathObjectImp(ExecState *exec,
ObjectPrototypeImp *objProto);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/JavaScriptCore/kjs/nodes.cpp b/JavaScriptCore/kjs/nodes.cpp
index 1ec868c..c353e52 100644
--- a/JavaScriptCore/kjs/nodes.cpp
+++ b/JavaScriptCore/kjs/nodes.cpp
@@ -1595,8 +1595,8 @@ Value AssignExprNode::evaluate(ExecState *exec)
// ------------------------------ VarDeclNode ----------------------------------
-VarDeclNode::VarDeclNode(const UString *id, AssignExprNode *in)
- : ident(*id), init(in)
+VarDeclNode::VarDeclNode(const Identifier &id, AssignExprNode *in)
+ : ident(id), init(in)
{
}
@@ -2031,12 +2031,12 @@ ForInNode::ForInNode(Node *l, Node *e, StatementNode *s)
{
}
-ForInNode::ForInNode(const UString *i, AssignExprNode *in, Node *e, StatementNode *s)
- : ident(*i), init(in), expr(e), statement(s)
+ForInNode::ForInNode(const Identifier &i, AssignExprNode *in, Node *e, StatementNode *s)
+ : ident(i), init(in), expr(e), statement(s)
{
// for( var foo = bar in baz )
- varDecl = new VarDeclNode(&ident, init);
- lexpr = new ResolveNode(&ident);
+ varDecl = new VarDeclNode(ident, init);
+ lexpr = new ResolveNode(ident);
}
void ForInNode::ref()
@@ -2090,7 +2090,7 @@ Completion ForInNode::execute(ExecState *exec)
ReferenceListIterator propIt = propList.begin();
while (propIt != propList.end()) {
- UString name = propIt->getPropertyName(exec);
+ Identifier name = propIt->getPropertyName(exec);
if (!v.hasProperty(exec,name)) {
propIt++;
continue;
@@ -2674,7 +2674,7 @@ bool ParameterNode::deref()
return Node::deref();
}
-ParameterNode* ParameterNode::append(const UString *i)
+ParameterNode* ParameterNode::append(const Identifier &i)
{
ParameterNode *p = this;
while (p->next)
@@ -2820,7 +2820,7 @@ bool FuncExprNode::deref()
Value FuncExprNode::evaluate(ExecState *exec)
{
const List sc = exec->context().scopeChain();
- FunctionImp *fimp = new DeclaredFunctionImp(exec, UString::null, body, sc);
+ FunctionImp *fimp = new DeclaredFunctionImp(exec, Identifier::null, body, sc);
Value ret(fimp);
List empty;
Value proto = exec->interpreter()->builtinObject().construct(exec,empty);
diff --git a/JavaScriptCore/kjs/nodes.h b/JavaScriptCore/kjs/nodes.h
index 60dffe4..171b08b 100644
--- a/JavaScriptCore/kjs/nodes.h
+++ b/JavaScriptCore/kjs/nodes.h
@@ -119,9 +119,7 @@ namespace KJS {
bool hitStatement(ExecState *exec);
bool abortStatement(ExecState *exec);
virtual Completion execute(ExecState *exec) = 0;
- void pushLabel(const UString *id) {
- if (id) ls.push(*id);
- }
+ void pushLabel(const Identifier &id) { ls.push(id); }
protected:
LabelStack ls;
private:
@@ -184,12 +182,12 @@ namespace KJS {
class ResolveNode : public Node {
public:
- ResolveNode(const UString *s) : ident(*s) { }
+ ResolveNode(const Identifier &s) : ident(s) { }
Value evaluate(ExecState *exec);
virtual Reference evaluateReference(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
};
class GroupNode : public Node {
@@ -272,12 +270,12 @@ namespace KJS {
class PropertyNode : public Node {
public:
PropertyNode(double d) : numeric(d) { }
- PropertyNode(const UString *s) : str(*s) { }
+ PropertyNode(const Identifier &s) : str(s) { }
Value evaluate(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
double numeric;
- UString str;
+ Identifier str;
};
class AccessorNode1 : public Node {
@@ -295,7 +293,7 @@ namespace KJS {
class AccessorNode2 : public Node {
public:
- AccessorNode2(Node *e, const UString *s) : expr(e), ident(*s) { }
+ AccessorNode2(Node *e, const Identifier &s) : expr(e), ident(s) { }
virtual void ref();
virtual bool deref();
Value evaluate(ExecState *exec);
@@ -303,7 +301,7 @@ namespace KJS {
virtual void streamTo(SourceStream &s) const;
private:
Node *expr;
- UString ident;
+ Identifier ident;
};
class ArgumentListNode : public Node {
@@ -616,14 +614,14 @@ namespace KJS {
class VarDeclNode : public Node {
public:
- VarDeclNode(const UString *id, AssignExprNode *in);
+ VarDeclNode(const Identifier &id, AssignExprNode *in);
virtual void ref();
virtual bool deref();
Value evaluate(ExecState *exec);
virtual void processVarDecls(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
AssignExprNode *init;
};
@@ -740,14 +738,14 @@ namespace KJS {
class ForInNode : public StatementNode {
public:
ForInNode(Node *l, Node *e, StatementNode *s);
- ForInNode(const UString *i, AssignExprNode *in, Node *e, StatementNode *s);
+ ForInNode(const Identifier &i, AssignExprNode *in, Node *e, StatementNode *s);
virtual void ref();
virtual bool deref();
virtual Completion execute(ExecState *exec);
virtual void processVarDecls(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
AssignExprNode *init;
Node *lexpr, *expr;
VarDeclNode *varDecl;
@@ -757,21 +755,21 @@ namespace KJS {
class ContinueNode : public StatementNode {
public:
ContinueNode() { }
- ContinueNode(const UString *i) : ident(*i) { }
+ ContinueNode(const Identifier &i) : ident(i) { }
virtual Completion execute(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
};
class BreakNode : public StatementNode {
public:
BreakNode() { }
- BreakNode(const UString *i) : ident(*i) { }
+ BreakNode(const Identifier &i) : ident(i) { }
virtual Completion execute(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
};
class ReturnNode : public StatementNode {
@@ -859,14 +857,14 @@ namespace KJS {
class LabelNode : public StatementNode {
public:
- LabelNode(const UString *l, StatementNode *s) : label(*l), statement(s) { }
+ LabelNode(const Identifier &l, StatementNode *s) : label(l), statement(s) { }
virtual void ref();
virtual bool deref();
virtual Completion execute(ExecState *exec);
virtual void processVarDecls(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString label;
+ Identifier label;
StatementNode *statement;
};
@@ -883,7 +881,7 @@ namespace KJS {
class CatchNode : public StatementNode {
public:
- CatchNode(const UString *i, StatementNode *b) : ident(*i), block(b) {}
+ CatchNode(const Identifier &i, StatementNode *b) : ident(i), block(b) {}
virtual void ref();
virtual bool deref();
virtual Completion execute(ExecState *exec);
@@ -891,7 +889,7 @@ namespace KJS {
virtual void processVarDecls(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
StatementNode *block;
};
@@ -924,16 +922,16 @@ namespace KJS {
class ParameterNode : public Node {
public:
- ParameterNode(const UString *i) : id(*i), next(0L) { }
- ParameterNode *append(const UString *i);
+ ParameterNode(const Identifier &i) : id(i), next(0L) { }
+ ParameterNode *append(const Identifier &i);
virtual void ref();
virtual bool deref();
Value evaluate(ExecState *exec);
- UString ident() { return id; }
+ Identifier ident() { return id; }
ParameterNode *nextParam() { return next; }
virtual void streamTo(SourceStream &s) const;
private:
- UString id;
+ Identifier id;
ParameterNode *next;
};
@@ -953,8 +951,8 @@ namespace KJS {
class FuncDeclNode : public StatementNode {
public:
- FuncDeclNode(const UString *i, ParameterNode *p, FunctionBodyNode *b)
- : ident(*i), param(p), body(b) { }
+ FuncDeclNode(const Identifier &i, ParameterNode *p, FunctionBodyNode *b)
+ : ident(i), param(p), body(b) { }
virtual void ref();
virtual bool deref();
Completion execute(ExecState */*exec*/)
@@ -962,7 +960,7 @@ namespace KJS {
void processFuncDecl(ExecState *exec);
virtual void streamTo(SourceStream &s) const;
private:
- UString ident;
+ Identifier ident;
ParameterNode *param;
FunctionBodyNode *body;
};
diff --git a/JavaScriptCore/kjs/number_object.cpp b/JavaScriptCore/kjs/number_object.cpp
index 8fe9e94..8fc7ccf 100644
--- a/JavaScriptCore/kjs/number_object.cpp
+++ b/JavaScriptCore/kjs/number_object.cpp
@@ -130,7 +130,7 @@ NumberObjectImp::NumberObjectImp(ExecState *exec,
put(exec,lengthPropertyName, Number(1), ReadOnly|DontDelete|DontEnum);
}
-Value NumberObjectImp::get(ExecState *exec, const UString &propertyName) const
+Value NumberObjectImp::get(ExecState *exec, const Identifier &propertyName) const
{
return lookupGetValue<NumberObjectImp, InternalFunctionImp>( exec, propertyName, &numberTable, this );
}
diff --git a/JavaScriptCore/kjs/number_object.h b/JavaScriptCore/kjs/number_object.h
index b6df986..5b49e23 100644
--- a/JavaScriptCore/kjs/number_object.h
+++ b/JavaScriptCore/kjs/number_object.h
@@ -84,7 +84,7 @@ namespace KJS {
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/JavaScriptCore/kjs/object.cpp b/JavaScriptCore/kjs/object.cpp
index 056178a..7a551a0 100644
--- a/JavaScriptCore/kjs/object.cpp
+++ b/JavaScriptCore/kjs/object.cpp
@@ -40,12 +40,12 @@
namespace KJS {
-extern const UString argumentsPropertyName("arguments");
-extern const UString lengthPropertyName("length");
-extern const UString prototypePropertyName("prototype");
-extern const UString specialPrototypePropertyName("__proto__");
-extern const UString toStringPropertyName("toString");
-extern const UString valueOfPropertyName("valueOf");
+extern const Identifier argumentsPropertyName("arguments");
+extern const Identifier lengthPropertyName("length");
+extern const Identifier prototypePropertyName("prototype");
+extern const Identifier specialPrototypePropertyName("__proto__");
+extern const Identifier toStringPropertyName("toString");
+extern const Identifier valueOfPropertyName("valueOf");
// ------------------------------ Object ---------------------------------------
@@ -137,7 +137,7 @@ UString ObjectImp::className() const
return "Object";
}
-Value ObjectImp::get(ExecState *exec, const UString &propertyName) const
+Value ObjectImp::get(ExecState *exec, const Identifier &propertyName) const
{
ValueImp *imp = getDirect(propertyName);
if ( imp )
@@ -156,20 +156,20 @@ Value ObjectImp::get(ExecState *exec, const UString &propertyName) const
Value ObjectImp::get(ExecState *exec, unsigned propertyName) const
{
- return get(exec, UString::from(propertyName));
+ return get(exec, Identifier::from(propertyName));
}
// This get method only looks at the property map.
// A bit like hasProperty(recursive=false), this doesn't go to the prototype.
// This is used e.g. by lookupOrCreateFunction (to cache a function, we don't want
// to look up in the prototype, it might already exist there)
-ValueImp* ObjectImp::getDirect(const UString& propertyName) const
+ValueImp* ObjectImp::getDirect(const Identifier& propertyName) const
{
return _prop.get(propertyName);
}
// ECMA 8.6.2.2
-void ObjectImp::put(ExecState *exec, const UString &propertyName,
+void ObjectImp::put(ExecState *exec, const Identifier &propertyName,
const Value &value, int attr)
{
assert(!value.isNull());
@@ -199,11 +199,11 @@ void ObjectImp::put(ExecState *exec, const UString &propertyName,
void ObjectImp::put(ExecState *exec, unsigned propertyName,
const Value &value, int attr)
{
- put(exec, UString::from(propertyName), value, attr);
+ put(exec, Identifier::from(propertyName), value, attr);
}
// ECMA 8.6.2.3
-bool ObjectImp::canPut(ExecState *, const UString &propertyName) const
+bool ObjectImp::canPut(ExecState *, const Identifier &propertyName) const
{
int attributes;
ValueImp *v = _prop.get(propertyName, attributes);
@@ -221,7 +221,7 @@ bool ObjectImp::canPut(ExecState *, const UString &propertyName) const
}
// ECMA 8.6.2.4
-bool ObjectImp::hasProperty(ExecState *exec, const UString &propertyName) const
+bool ObjectImp::hasProperty(ExecState *exec, const Identifier &propertyName) const
{
if (_prop.get(propertyName))
return true;
@@ -241,11 +241,11 @@ bool ObjectImp::hasProperty(ExecState *exec, const UString &propertyName) const
bool ObjectImp::hasProperty(ExecState *exec, unsigned propertyName) const
{
- return hasProperty(exec, UString::from(propertyName));
+ return hasProperty(exec, Identifier::from(propertyName));
}
// ECMA 8.6.2.5
-bool ObjectImp::deleteProperty(ExecState */*exec*/, const UString &propertyName)
+bool ObjectImp::deleteProperty(ExecState */*exec*/, const Identifier &propertyName)
{
int attributes;
ValueImp *v = _prop.get(propertyName, attributes);
@@ -265,7 +265,7 @@ bool ObjectImp::deleteProperty(ExecState */*exec*/, const UString &propertyName)
bool ObjectImp::deleteProperty(ExecState *exec, unsigned propertyName)
{
- return deleteProperty(exec, UString::from(propertyName));
+ return deleteProperty(exec, Identifier::from(propertyName));
}
void ObjectImp::deleteAllProperties( ExecState * )
@@ -328,7 +328,7 @@ Value ObjectImp::defaultValue(ExecState *exec, Type hint) const
return err;
}
-const HashEntry* ObjectImp::findPropertyHashEntry( const UString& propertyName ) const
+const HashEntry* ObjectImp::findPropertyHashEntry( const Identifier& propertyName ) const
{
const ClassInfo *info = classInfo();
while (info) {
diff --git a/JavaScriptCore/kjs/object.h b/JavaScriptCore/kjs/object.h
index 7d716da..10a5b60 100644
--- a/JavaScriptCore/kjs/object.h
+++ b/JavaScriptCore/kjs/object.h
@@ -136,7 +136,7 @@ namespace KJS {
*
* @return The specified property, or Undefined
*/
- Value get(ExecState *exec, const UString &propertyName) const;
+ Value get(ExecState *exec, const Identifier &propertyName) const;
Value get(ExecState *exec, unsigned propertyName) const;
/**
@@ -148,7 +148,7 @@ namespace KJS {
* @param propertyName The name of the property to set
* @param propertyValue The value to set
*/
- void put(ExecState *exec, const UString &propertyName,
+ void put(ExecState *exec, const Identifier &propertyName,
const Value &value, int attr = None);
void put(ExecState *exec, unsigned propertyName,
const Value &value, int attr = None);
@@ -163,7 +163,7 @@ namespace KJS {
* @param propertyName The name of the property
* @return true if the property can be set, otherwise false
*/
- bool canPut(ExecState *exec, const UString &propertyName) const;
+ bool canPut(ExecState *exec, const Identifier &propertyName) const;
/**
* Checks to see whether the object (or any object in it's prototype chain)
@@ -175,7 +175,7 @@ namespace KJS {
* @param propertyName The name of the property to check for
* @return true if the object has the property, otherwise false
*/
- bool hasProperty(ExecState *exec, const UString &propertyName) const;
+ bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
bool hasProperty(ExecState *exec, unsigned propertyName) const;
/**
@@ -189,7 +189,7 @@ namespace KJS {
* exist on the object. false if deleting the specified property is not
* allowed.
*/
- bool deleteProperty(ExecState *exec, const UString &propertyName);
+ bool deleteProperty(ExecState *exec, const Identifier &propertyName);
bool deleteProperty(ExecState *exec, unsigned propertyName);
/**
@@ -477,7 +477,7 @@ namespace KJS {
* @see Object::get()
*/
// [[Get]] - must be implemented by all Objects
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual Value get(ExecState *exec, unsigned propertyName) const;
/**
@@ -486,7 +486,7 @@ namespace KJS {
*
* @see Object::put()
*/
- virtual void put(ExecState *exec, const UString &propertyName,
+ virtual void put(ExecState *exec, const Identifier &propertyName,
const Value &value, int attr = None);
virtual void put(ExecState *exec, unsigned propertyName,
const Value &value, int attr = None);
@@ -497,7 +497,7 @@ namespace KJS {
*
* @see Object::canPut()
*/
- virtual bool canPut(ExecState *exec, const UString &propertyName) const;
+ virtual bool canPut(ExecState *exec, const Identifier &propertyName) const;
/**
* Implementation of the [[HasProperty]] internal property (implemented by
@@ -506,7 +506,7 @@ namespace KJS {
* @see Object::hasProperty()
*/
virtual bool hasProperty(ExecState *exec,
- const UString &propertyName) const;
+ const Identifier &propertyName) const;
virtual bool hasProperty(ExecState *exec, unsigned propertyName) const;
/**
@@ -516,7 +516,7 @@ namespace KJS {
* @see Object::deleteProperty()
*/
virtual bool deleteProperty(ExecState *exec,
- const UString &propertyName);
+ const Identifier &propertyName);
virtual bool deleteProperty(ExecState *exec, unsigned propertyName);
/**
@@ -579,9 +579,9 @@ namespace KJS {
UString toString(ExecState *exec) const;
Object toObject(ExecState *exec) const;
- ValueImp* getDirect(const UString& propertyName) const;
+ ValueImp* getDirect(const Identifier& propertyName) const;
private:
- const HashEntry* findPropertyHashEntry( const UString& propertyName ) const;
+ const HashEntry* findPropertyHashEntry( const Identifier& propertyName ) const;
PropertyMap _prop;
ValueImp *_proto;
ValueImp *_internalValue;
@@ -640,28 +640,28 @@ namespace KJS {
inline UString Object::className() const
{ return imp()->className(); }
- inline Value Object::get(ExecState *exec, const UString &propertyName) const
+ inline Value Object::get(ExecState *exec, const Identifier &propertyName) const
{ return imp()->get(exec,propertyName); }
inline Value Object::get(ExecState *exec, unsigned propertyName) const
{ return imp()->get(exec,propertyName); }
- inline void Object::put(ExecState *exec, const UString &propertyName, const Value &value, int attr)
+ inline void Object::put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr)
{ imp()->put(exec,propertyName,value,attr); }
inline void Object::put(ExecState *exec, unsigned propertyName, const Value &value, int attr)
{ imp()->put(exec,propertyName,value,attr); }
- inline bool Object::canPut(ExecState *exec, const UString &propertyName) const
+ inline bool Object::canPut(ExecState *exec, const Identifier &propertyName) const
{ return imp()->canPut(exec,propertyName); }
- inline bool Object::hasProperty(ExecState *exec, const UString &propertyName) const
+ inline bool Object::hasProperty(ExecState *exec, const Identifier &propertyName) const
{ return imp()->hasProperty(exec, propertyName); }
inline bool Object::hasProperty(ExecState *exec, unsigned propertyName) const
{ return imp()->hasProperty(exec, propertyName); }
- inline bool Object::deleteProperty(ExecState *exec, const UString &propertyName)
+ inline bool Object::deleteProperty(ExecState *exec, const Identifier &propertyName)
{ return imp()->deleteProperty(exec,propertyName); }
inline bool Object::deleteProperty(ExecState *exec, unsigned propertyName)
@@ -703,12 +703,12 @@ namespace KJS {
inline void Object::setInternalValue(const Value &v)
{ imp()->setInternalValue(v); }
- extern const UString argumentsPropertyName;
- extern const UString lengthPropertyName;
- extern const UString prototypePropertyName;
- extern const UString specialPrototypePropertyName;
- extern const UString toStringPropertyName;
- extern const UString valueOfPropertyName;
+ extern const Identifier argumentsPropertyName;
+ extern const Identifier lengthPropertyName;
+ extern const Identifier prototypePropertyName;
+ extern const Identifier specialPrototypePropertyName;
+ extern const Identifier toStringPropertyName;
+ extern const Identifier valueOfPropertyName;
}; // namespace
diff --git a/JavaScriptCore/kjs/property_map.cpp b/JavaScriptCore/kjs/property_map.cpp
index 5fa873e..3df4a2e 100644
--- a/JavaScriptCore/kjs/property_map.cpp
+++ b/JavaScriptCore/kjs/property_map.cpp
@@ -93,7 +93,7 @@ bool PropertyMap::keysMatch(const UString::Rep *a, const UString::Rep *b)
return true;
}
-ValueImp *PropertyMap::get(const UString &name, int &attributes) const
+ValueImp *PropertyMap::get(const Identifier &name, int &attributes) const
{
if (!_table) {
UString::Rep *key = _singleEntry.key;
@@ -115,7 +115,7 @@ ValueImp *PropertyMap::get(const UString &name, int &attributes) const
return 0;
}
-ValueImp *PropertyMap::get(const UString &name) const
+ValueImp *PropertyMap::get(const Identifier &name) const
{
if (!_table) {
UString::Rep *key = _singleEntry.key;
@@ -133,7 +133,7 @@ ValueImp *PropertyMap::get(const UString &name) const
return 0;
}
-void PropertyMap::put(const UString &name, ValueImp *value, int attributes)
+void PropertyMap::put(const Identifier &name, ValueImp *value, int attributes)
{
if (!_table) {
UString::Rep *key = _singleEntry.key;
@@ -209,7 +209,7 @@ void PropertyMap::expand()
free(oldTable);
}
-void PropertyMap::remove(const UString &name)
+void PropertyMap::remove(const Identifier &name)
{
UString::Rep *key;
@@ -269,11 +269,11 @@ void PropertyMap::addEnumerablesToReferenceList(ReferenceList &list, const Objec
{
UString::Rep *key = _singleEntry.key;
if (key && !(_singleEntry.attributes & DontEnum))
- list.append(Reference(base, key));
+ list.append(Reference(base, Identifier(key)));
for (int i = 0; i != _tableSize; ++i) {
UString::Rep *key = _table[i].key;
if (key && !(_table[i].attributes & DontEnum))
- list.append(Reference(base, key));
+ list.append(Reference(base, Identifier(key)));
}
}
diff --git a/JavaScriptCore/kjs/property_map.h b/JavaScriptCore/kjs/property_map.h
index 3b055ef..f117cfc 100644
--- a/JavaScriptCore/kjs/property_map.h
+++ b/JavaScriptCore/kjs/property_map.h
@@ -23,7 +23,7 @@
#ifndef _KJS_PROPERTY_MAP_H_
#define _KJS_PROPERTY_MAP_H_
-#include "ustring.h"
+#include "identifier.h"
namespace KJS {
@@ -46,10 +46,10 @@ namespace KJS {
void clear();
- void put(const UString &name, ValueImp *value, int attributes);
- void remove(const UString &name);
- ValueImp *get(const UString &name) const;
- ValueImp *get(const UString &name, int &attributes) const;
+ void put(const Identifier &name, ValueImp *value, int attributes);
+ void remove(const Identifier &name);
+ ValueImp *get(const Identifier &name) const;
+ ValueImp *get(const Identifier &name, int &attributes) const;
void mark() const;
void addEnumerablesToReferenceList(ReferenceList &, const Object &) const;
diff --git a/JavaScriptCore/kjs/reference.cpp b/JavaScriptCore/kjs/reference.cpp
index fe4fabd..6191ce2 100644
--- a/JavaScriptCore/kjs/reference.cpp
+++ b/JavaScriptCore/kjs/reference.cpp
@@ -27,7 +27,7 @@ using namespace KJS;
// ------------------------------ Reference ------------------------------------
-Reference::Reference(const Object& b, const UString& p)
+Reference::Reference(const Object& b, const Identifier& p)
: base(b),
baseIsValue(false),
propertyNameIsNumber(false),
@@ -43,7 +43,7 @@ Reference::Reference(const Object& b, unsigned p)
{
}
-Reference::Reference(const Null& b, const UString& p)
+Reference::Reference(const Null& b, const Identifier& p)
: base(b),
baseIsValue(false),
propertyNameIsNumber(false),
@@ -82,17 +82,17 @@ Value Reference::getBase(ExecState *exec) const
return base;
}
-UString Reference::getPropertyName(ExecState *exec) const
+Identifier Reference::getPropertyName(ExecState *exec) const
{
if (baseIsValue) {
// the spec wants a runtime error here. But getValue() and putValue()
// will catch this case on their own earlier. When returning a Null
// string we should be on the safe side.
- return UString();
+ return Identifier();
}
if (propertyNameIsNumber && prop.isNull())
- prop = UString::from(propertyNameAsNumber);
+ prop = Identifier::from(propertyNameAsNumber);
return prop;
}
diff --git a/JavaScriptCore/kjs/reference.h b/JavaScriptCore/kjs/reference.h
index 5887ed1..44b4cd6 100644
--- a/JavaScriptCore/kjs/reference.h
+++ b/JavaScriptCore/kjs/reference.h
@@ -23,6 +23,7 @@
#ifndef _KJS_REFERENCE_H_
#define _KJS_REFERENCE_H_
+#include "identifier.h"
#include "value.h"
namespace KJS {
@@ -31,9 +32,9 @@ namespace KJS {
friend class ReferenceList;
friend class ReferenceListIterator;
public:
- Reference(const Object& b, const UString& p);
+ Reference(const Object& b, const Identifier& p);
Reference(const Object& b, unsigned p);
- Reference(const Null& b, const UString& p);
+ Reference(const Null& b, const Identifier& p);
Reference(const Null& b, unsigned p);
static Reference makeValueReference(const Value& v);
@@ -49,7 +50,7 @@ namespace KJS {
* Performs the GetPropertyName type conversion operation on this value
* (ECMA 8.7)
*/
- UString getPropertyName(ExecState *exec) const;
+ Identifier getPropertyName(ExecState *exec) const;
/**
* Performs the GetValue type conversion operation on this value
@@ -73,7 +74,7 @@ namespace KJS {
unsigned propertyNameAsNumber;
bool baseIsValue;
bool propertyNameIsNumber;
- mutable UString prop;
+ mutable Identifier prop;
};
}
diff --git a/JavaScriptCore/kjs/regexp_object.cpp b/JavaScriptCore/kjs/regexp_object.cpp
index 1a1af57..81f030a 100644
--- a/JavaScriptCore/kjs/regexp_object.cpp
+++ b/JavaScriptCore/kjs/regexp_object.cpp
@@ -193,7 +193,7 @@ Object RegExpObjectImp::arrayOfMatches(ExecState *exec, const UString &result) c
return arr;
}
-Value RegExpObjectImp::get(ExecState *exec, const UString &p) const
+Value RegExpObjectImp::get(ExecState *exec, const Identifier &p) const
{
if (p[0] == '$' && lastOvector)
{
diff --git a/JavaScriptCore/kjs/regexp_object.h b/JavaScriptCore/kjs/regexp_object.h
index 12d1bff..998d4d2 100644
--- a/JavaScriptCore/kjs/regexp_object.h
+++ b/JavaScriptCore/kjs/regexp_object.h
@@ -72,7 +72,7 @@ namespace KJS {
virtual bool implementsCall() const;
virtual Value call(ExecState *exec, Object &thisObj, const List &args);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
int ** registerRegexp( const RegExp* re, const UString& s );
void setSubPatterns(int num) { lastNrSubPatterns = num; }
Object arrayOfMatches(ExecState *exec, const UString &result) const;
diff --git a/JavaScriptCore/kjs/string_object.cpp b/JavaScriptCore/kjs/string_object.cpp
index 3864ba0..d45dbb7 100644
--- a/JavaScriptCore/kjs/string_object.cpp
+++ b/JavaScriptCore/kjs/string_object.cpp
@@ -49,28 +49,28 @@ StringInstanceImp::StringInstanceImp(const Object &proto, const UString &string)
setInternalValue(String(string));
}
-Value StringInstanceImp::get(ExecState *exec, const UString &propertyName) const
+Value StringInstanceImp::get(ExecState *exec, const Identifier &propertyName) const
{
if (propertyName == lengthPropertyName)
return Number(internalValue().toString(exec).size());
return ObjectImp::get(exec, propertyName);
}
-void StringInstanceImp::put(ExecState *exec, const UString &propertyName, const Value &value, int attr)
+void StringInstanceImp::put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr)
{
if (propertyName == lengthPropertyName)
return;
ObjectImp::put(exec, propertyName, value, attr);
}
-bool StringInstanceImp::hasProperty(ExecState *exec, const UString &propertyName) const
+bool StringInstanceImp::hasProperty(ExecState *exec, const Identifier &propertyName) const
{
if (propertyName == lengthPropertyName)
return true;
return ObjectImp::hasProperty(exec, propertyName);
}
-bool StringInstanceImp::deleteProperty(ExecState *exec, const UString &propertyName)
+bool StringInstanceImp::deleteProperty(ExecState *exec, const Identifier &propertyName)
{
if (propertyName == lengthPropertyName)
return false;
@@ -127,7 +127,7 @@ StringPrototypeImp::StringPrototypeImp(ExecState *exec,
}
-Value StringPrototypeImp::get(ExecState *exec, const UString &propertyName) const
+Value StringPrototypeImp::get(ExecState *exec, const Identifier &propertyName) const
{
return lookupGetFunction<StringProtoFuncImp, StringInstanceImp>( exec, propertyName, &stringTable, this );
}
diff --git a/JavaScriptCore/kjs/string_object.h b/JavaScriptCore/kjs/string_object.h
index 1989a70..5eb6aa9 100644
--- a/JavaScriptCore/kjs/string_object.h
+++ b/JavaScriptCore/kjs/string_object.h
@@ -32,10 +32,10 @@ namespace KJS {
StringInstanceImp(const Object &proto);
StringInstanceImp(const Object &proto, const UString &string);
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual void put(ExecState *exec, const UString &propertyName, const Value &value, int attr = None);
- virtual bool hasProperty(ExecState *exec, const UString &propertyName) const;
- virtual bool deleteProperty(ExecState *exec, const UString &propertyName);
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual void put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
+ virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
+ virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName);
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
@@ -51,7 +51,7 @@ namespace KJS {
public:
StringPrototypeImp(ExecState *exec,
ObjectPrototypeImp *objProto);
- Value get(ExecState *exec, const UString &p) const;
+ Value get(ExecState *exec, const Identifier &p) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
};
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 1f4f9d6..b619d6c 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,31 @@
+2002-11-19 Darin Adler <darin at apple.com>
+
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * khtml/ecma/kjs_binding.cpp:
+ * khtml/ecma/kjs_binding.h:
+ * khtml/ecma/kjs_css.cpp:
+ * khtml/ecma/kjs_css.h:
+ * khtml/ecma/kjs_dom.cpp:
+ * khtml/ecma/kjs_dom.h:
+ * khtml/ecma/kjs_events.cpp:
+ * khtml/ecma/kjs_events.h:
+ * khtml/ecma/kjs_html.cpp:
+ * khtml/ecma/kjs_html.h:
+ * khtml/ecma/kjs_navigator.cpp:
+ * khtml/ecma/kjs_navigator.h:
+ * khtml/ecma/kjs_range.cpp:
+ * khtml/ecma/kjs_range.h:
+ * khtml/ecma/kjs_traversal.cpp:
+ * khtml/ecma/kjs_traversal.h:
+ * khtml/ecma/kjs_views.cpp:
+ * khtml/ecma/kjs_views.h:
+ * khtml/ecma/kjs_window.cpp:
+ * khtml/ecma/kjs_window.h:
+
2002-11-18 Darin Adler <darin at apple.com>
* force-js-clean-timestamp: Another Object change.
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1f4f9d6..b619d6c 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,31 @@
+2002-11-19 Darin Adler <darin at apple.com>
+
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * khtml/ecma/kjs_binding.cpp:
+ * khtml/ecma/kjs_binding.h:
+ * khtml/ecma/kjs_css.cpp:
+ * khtml/ecma/kjs_css.h:
+ * khtml/ecma/kjs_dom.cpp:
+ * khtml/ecma/kjs_dom.h:
+ * khtml/ecma/kjs_events.cpp:
+ * khtml/ecma/kjs_events.h:
+ * khtml/ecma/kjs_html.cpp:
+ * khtml/ecma/kjs_html.h:
+ * khtml/ecma/kjs_navigator.cpp:
+ * khtml/ecma/kjs_navigator.h:
+ * khtml/ecma/kjs_range.cpp:
+ * khtml/ecma/kjs_range.h:
+ * khtml/ecma/kjs_traversal.cpp:
+ * khtml/ecma/kjs_traversal.h:
+ * khtml/ecma/kjs_views.cpp:
+ * khtml/ecma/kjs_views.h:
+ * khtml/ecma/kjs_window.cpp:
+ * khtml/ecma/kjs_window.h:
+
2002-11-18 Darin Adler <darin at apple.com>
* force-js-clean-timestamp: Another Object change.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1f4f9d6..b619d6c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,31 @@
+2002-11-19 Darin Adler <darin at apple.com>
+
+ - a first step towards atomic identifiers in JavaScript
+
+ Most places that work with identifiers now use Identifier
+ instead of UString.
+
+ * khtml/ecma/kjs_binding.cpp:
+ * khtml/ecma/kjs_binding.h:
+ * khtml/ecma/kjs_css.cpp:
+ * khtml/ecma/kjs_css.h:
+ * khtml/ecma/kjs_dom.cpp:
+ * khtml/ecma/kjs_dom.h:
+ * khtml/ecma/kjs_events.cpp:
+ * khtml/ecma/kjs_events.h:
+ * khtml/ecma/kjs_html.cpp:
+ * khtml/ecma/kjs_html.h:
+ * khtml/ecma/kjs_navigator.cpp:
+ * khtml/ecma/kjs_navigator.h:
+ * khtml/ecma/kjs_range.cpp:
+ * khtml/ecma/kjs_range.h:
+ * khtml/ecma/kjs_traversal.cpp:
+ * khtml/ecma/kjs_traversal.h:
+ * khtml/ecma/kjs_views.cpp:
+ * khtml/ecma/kjs_views.h:
+ * khtml/ecma/kjs_window.cpp:
+ * khtml/ecma/kjs_window.h:
+
2002-11-18 Darin Adler <darin at apple.com>
* force-js-clean-timestamp: Another Object change.
diff --git a/WebCore/khtml/ecma/kjs_binding.cpp b/WebCore/khtml/ecma/kjs_binding.cpp
index a8dda08..4b214a2 100644
--- a/WebCore/khtml/ecma/kjs_binding.cpp
+++ b/WebCore/khtml/ecma/kjs_binding.cpp
@@ -38,7 +38,7 @@ using namespace KJS;
* these may be CSS exceptions - need to check - pmk
*/
-Value DOMObject::get(ExecState *exec, const UString &p) const
+Value DOMObject::get(ExecState *exec, const Identifier &p) const
{
Value result;
try {
@@ -60,7 +60,7 @@ Value DOMObject::get(ExecState *exec, const UString &p) const
return result;
}
-void DOMObject::put(ExecState *exec, const UString &propertyName,
+void DOMObject::put(ExecState *exec, const Identifier &propertyName,
const Value &value, int attr)
{
try {
@@ -80,7 +80,7 @@ UString DOMObject::toString(ExecState *) const
return "[object " + className() + "]";
}
-Value DOMFunction::get(ExecState *exec, const UString &propertyName) const
+Value DOMFunction::get(ExecState *exec, const Identifier &propertyName) const
{
Value result;
try {
diff --git a/WebCore/khtml/ecma/kjs_binding.h b/WebCore/khtml/ecma/kjs_binding.h
index 2072650..40f64a0 100644
--- a/WebCore/khtml/ecma/kjs_binding.h
+++ b/WebCore/khtml/ecma/kjs_binding.h
@@ -41,13 +41,13 @@ namespace KJS {
public:
DOMObject(const Object &proto) : ObjectImp(proto) {}
DOMObject() : ObjectImp() {}
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const
{ return ObjectImp::get(exec, propertyName); }
- virtual void put(ExecState *exec, const UString &propertyName,
+ virtual void put(ExecState *exec, const Identifier &propertyName,
const Value &value, int attr = None);
- virtual void tryPut(ExecState *exec, const UString &propertyName,
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr = None)
{ ObjectImp::put(exec,propertyName,value,attr); }
@@ -62,8 +62,8 @@ namespace KJS {
class DOMFunction : public ObjectImp {
public:
DOMFunction() : ObjectImp( /* proto? */ ) {}
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const
{ return ObjectImp::get(exec, propertyName); }
virtual bool implementsCall() const { return true; }
@@ -161,7 +161,7 @@ namespace KJS {
* we call tryGet instead of get, in DOMObjects.
*/
template <class FuncImp, class ThisImp, class ParentImp>
- inline Value DOMObjectLookupGet(ExecState *exec, const UString &propertyName,
+ inline Value DOMObjectLookupGet(ExecState *exec, const Identifier &propertyName,
const HashTable* table, const ThisImp* thisObj)
{
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -179,7 +179,7 @@ namespace KJS {
* functions, only "values".
*/
template <class ThisImp, class ParentImp>
- inline Value DOMObjectLookupGetValue(ExecState *exec, const UString &propertyName,
+ inline Value DOMObjectLookupGetValue(ExecState *exec, const Identifier &propertyName,
const HashTable* table, const ThisImp* thisObj)
{
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -197,7 +197,7 @@ namespace KJS {
* we call tryPut instead of put, in DOMObjects.
*/
template <class ThisImp, class ParentImp>
- inline void DOMObjectLookupPut(ExecState *exec, const UString &propertyName,
+ inline void DOMObjectLookupPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr,
const HashTable* table, ThisImp* thisObj)
{
@@ -225,7 +225,7 @@ namespace KJS {
* that cached object. Note that the object constructor must take 1 argument, exec.
*/
template <class ClassCtor>
- inline Object cacheGlobalObject(ExecState *exec, const UString &propertyName)
+ inline Object cacheGlobalObject(ExecState *exec, const Identifier &propertyName)
{
ValueImp *obj = static_cast<ObjectImp*>(exec->interpreter()->globalObject().imp())->getDirect(propertyName);
if (obj)
@@ -257,7 +257,7 @@ namespace KJS {
#define DEFINE_PROTOTYPE(ClassName,ClassProto) \
namespace KJS { \
class ClassProto : public ObjectImp { \
- friend Object cacheGlobalObject<ClassProto>(ExecState *exec, const UString &propertyName); \
+ friend Object cacheGlobalObject<ClassProto>(ExecState *exec, const Identifier &propertyName); \
public: \
static Object self(ExecState *exec) \
{ \
@@ -270,25 +270,25 @@ namespace KJS {
public: \
virtual const ClassInfo *classInfo() const { return &info; } \
static const ClassInfo info; \
- Value get(ExecState *exec, const UString &propertyName) const; \
- bool hasProperty(ExecState *exec, const UString &propertyName) const; \
+ Value get(ExecState *exec, const Identifier &propertyName) const; \
+ bool hasProperty(ExecState *exec, const Identifier &propertyName) const; \
}; \
const ClassInfo ClassProto::info = { ClassName, 0, &ClassProto##Table, 0 }; \
};
#define IMPLEMENT_PROTOTYPE(ClassProto,ClassFunc) \
- Value KJS::ClassProto::get(ExecState *exec, const UString &propertyName) const \
+ Value KJS::ClassProto::get(ExecState *exec, const Identifier &propertyName) const \
{ \
/*fprintf( stderr, "%sProto::get(%s) [in macro, no parent]\n", info.className, propertyName.ascii());*/ \
return lookupGetFunction<ClassFunc,ObjectImp>(exec, propertyName, &ClassProto##Table, this ); \
} \
- bool KJS::ClassProto::hasProperty(ExecState *exec, const UString &propertyName) const \
+ bool KJS::ClassProto::hasProperty(ExecState *exec, const Identifier &propertyName) const \
{ /*stupid but we need this to have a common macro for the declaration*/ \
return ObjectImp::hasProperty(exec, propertyName); \
}
#define IMPLEMENT_PROTOTYPE_WITH_PARENT(ClassProto,ClassFunc,ParentProto) \
- Value KJS::ClassProto::get(ExecState *exec, const UString &propertyName) const \
+ Value KJS::ClassProto::get(ExecState *exec, const Identifier &propertyName) const \
{ \
/*fprintf( stderr, "%sProto::get(%s) [in macro]\n", info.className, propertyName.ascii());*/ \
Value val = lookupGetFunction<ClassFunc,ObjectImp>(exec, propertyName, &ClassProto##Table, this ); \
@@ -296,7 +296,7 @@ namespace KJS {
/* Not found -> forward request to "parent" prototype */ \
return ParentProto::self(exec).get( exec, propertyName ); \
} \
- bool KJS::ClassProto::hasProperty(ExecState *exec, const UString &propertyName) const \
+ bool KJS::ClassProto::hasProperty(ExecState *exec, const Identifier &propertyName) const \
{ \
if (ObjectImp::hasProperty(exec, propertyName)) \
return true; \
diff --git a/WebCore/khtml/ecma/kjs_css.cpp b/WebCore/khtml/ecma/kjs_css.cpp
index 9a6d9cb..637c7d4 100644
--- a/WebCore/khtml/ecma/kjs_css.cpp
+++ b/WebCore/khtml/ecma/kjs_css.cpp
@@ -74,7 +74,7 @@ DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration()
ScriptInterpreter::forgetDOMObject(styleDecl.handle());
}
-bool DOMCSSStyleDeclaration::hasProperty(ExecState *exec, const UString &p) const
+bool DOMCSSStyleDeclaration::hasProperty(ExecState *exec, const Identifier &p) const
{
DOM::DOMString cssprop = jsNameToProp(p);
// strip pos- / pixel- prefix here?
@@ -84,7 +84,7 @@ bool DOMCSSStyleDeclaration::hasProperty(ExecState *exec, const UString &p) cons
return ObjectImp::hasProperty(exec, p);
}
-Value DOMCSSStyleDeclaration::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMCSSStyleDeclaration::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMCSSStyleDeclaration::tryGet " << propertyName.qstring() << endl;
@@ -147,9 +147,9 @@ Value DOMCSSStyleDeclaration::tryGet(ExecState *exec, const UString &propertyNam
}
-void DOMCSSStyleDeclaration::tryPut(ExecState *exec, const UString &pName, const Value& value, int )
+void DOMCSSStyleDeclaration::tryPut(ExecState *exec, const Identifier &pName, const Value& value, int )
{
- UString propertyName = pName;
+ Identifier propertyName = pName;
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMCSSStyleDeclaration::tryPut " << propertyName.qstring() << endl;
@@ -234,7 +234,7 @@ DOMStyleSheet::~DOMStyleSheet()
ScriptInterpreter::forgetDOMObject(styleSheet.handle());
}
-Value DOMStyleSheet::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMStyleSheet::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMStyleSheet,DOMObject>(exec,propertyName,&DOMStyleSheetTable,this);
}
@@ -260,7 +260,7 @@ Value DOMStyleSheet::getValueProperty(ExecState *exec, int token) const
return Value();
}
-void DOMStyleSheet::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMStyleSheet::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
if (propertyName == "disabled") {
styleSheet.setDisabled(value.toBoolean(exec));
@@ -307,7 +307,7 @@ DOMStyleSheetList::~DOMStyleSheetList()
ScriptInterpreter::forgetDOMObject(styleSheetList.handle());
}
-Value DOMStyleSheetList::tryGet(ExecState *exec, const UString &p) const
+Value DOMStyleSheetList::tryGet(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMStyleSheetList::tryGet " << p.qstring() << endl;
@@ -413,7 +413,7 @@ DOMMediaList::~DOMMediaList()
ScriptInterpreter::forgetDOMObject(mediaList.handle());
}
-Value DOMMediaList::tryGet(ExecState *exec, const UString &p) const
+Value DOMMediaList::tryGet(ExecState *exec, const Identifier &p) const
{
if (p == "mediaText")
return getString(mediaList.mediaText());
@@ -428,7 +428,7 @@ Value DOMMediaList::tryGet(ExecState *exec, const UString &p) const
return DOMObject::tryGet(exec, p);
}
-void DOMMediaList::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMMediaList::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
if (propertyName == "mediaText")
mediaList.setMediaText(value.toString(exec).string());
@@ -490,7 +490,7 @@ DOMCSSStyleSheet::~DOMCSSStyleSheet()
{
}
-Value DOMCSSStyleSheet::tryGet(ExecState *exec, const UString &p) const
+Value DOMCSSStyleSheet::tryGet(ExecState *exec, const Identifier &p) const
{
DOM::CSSStyleSheet cssStyleSheet = static_cast<DOM::CSSStyleSheet>(styleSheet);
if (p == "ownerRule")
@@ -541,7 +541,7 @@ DOMCSSRuleList::~DOMCSSRuleList()
ScriptInterpreter::forgetDOMObject(cssRuleList.handle());
}
-Value DOMCSSRuleList::tryGet(ExecState *exec, const UString &p) const
+Value DOMCSSRuleList::tryGet(ExecState *exec, const Identifier &p) const
{
Value result;
if (p == "length")
@@ -648,7 +648,7 @@ const ClassInfo* DOMCSSRule::classInfo() const
encoding DOMCSSRule::Charset_Encoding DontDelete
@end
*/
-Value DOMCSSRule::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMCSSRule::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMCSSRule::tryGet " << propertyName.qstring() << endl;
@@ -717,7 +717,7 @@ Value DOMCSSRule::getValueProperty(ExecState *exec, int token) const
return Undefined();
}
-void DOMCSSRule::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMCSSRule::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
const HashTable* table = classInfo()->propHashTable; // get the right hashtable
const HashEntry* entry = Lookup::findEntry(table, propertyName);
@@ -812,7 +812,7 @@ const ClassInfo CSSRuleConstructor::info = { "CSSRuleConstructor", 0, &CSSRuleCo
@end
*/
-Value CSSRuleConstructor::tryGet(ExecState *exec, const UString &p) const
+Value CSSRuleConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<CSSRuleConstructor,DOMObject>(exec,p,&CSSRuleConstructorTable,this);
}
@@ -858,7 +858,7 @@ DOMCSSValue::~DOMCSSValue()
ScriptInterpreter::forgetDOMObject(cssValue.handle());
}
-Value DOMCSSValue::tryGet(ExecState *exec, const UString &p) const
+Value DOMCSSValue::tryGet(ExecState *exec, const Identifier &p) const
{
if (p == "cssText")
return getString(cssValue.cssText());
@@ -867,7 +867,7 @@ Value DOMCSSValue::tryGet(ExecState *exec, const UString &p) const
return DOMObject::tryGet(exec,p);
}
-void DOMCSSValue::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMCSSValue::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
if (propertyName == "cssText")
cssValue.setCssText(value.toString(exec).string());
@@ -906,7 +906,7 @@ const ClassInfo CSSValueConstructor::info = { "CSSValueConstructor", 0, &CSSValu
CSS_CUSTOM CSSValueConstructor::CSS_CUSTOM DontDelete|ReadOnly
@end
*/
-Value CSSValueConstructor::tryGet(ExecState *exec, const UString &p) const
+Value CSSValueConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<CSSValueConstructor,DOMObject>(exec,p,&CSSValueConstructorTable,this);
}
@@ -955,7 +955,7 @@ IMPLEMENT_PROTOTYPE(DOMCSSPrimitiveValueProto,DOMCSSPrimitiveValueProtoFunc)
DOMCSSPrimitiveValue::DOMCSSPrimitiveValue(ExecState *exec, DOM::CSSPrimitiveValue v)
: DOMCSSValue(DOMCSSPrimitiveValueProto::self(exec), v) { }
-Value DOMCSSPrimitiveValue::tryGet(ExecState *exec, const UString &p) const
+Value DOMCSSPrimitiveValue::tryGet(ExecState *exec, const Identifier &p) const
{
if (p=="primitiveType")
return Number(static_cast<DOM::CSSPrimitiveValue>(cssValue).primitiveType());
@@ -1027,7 +1027,7 @@ const ClassInfo CSSPrimitiveValueConstructor::info = { "CSSPrimitiveValueConstru
@end
*/
-Value CSSPrimitiveValueConstructor::tryGet(ExecState *exec, const UString &p) const
+Value CSSPrimitiveValueConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<CSSPrimitiveValueConstructor,CSSValueConstructor>(exec,p,&CSSPrimitiveValueConstructorTable,this);
}
@@ -1058,7 +1058,7 @@ IMPLEMENT_PROTOFUNC(DOMCSSValueListFunc) // not really a proto, but doesn't matt
DOMCSSValueList::DOMCSSValueList(ExecState *exec, DOM::CSSValueList v)
: DOMCSSValue(exec, v) { }
-Value DOMCSSValueList::tryGet(ExecState *exec, const UString &p) const
+Value DOMCSSValueList::tryGet(ExecState *exec, const Identifier &p) const
{
Value result;
DOM::CSSValueList valueList = static_cast<DOM::CSSValueList>(cssValue);
@@ -1108,7 +1108,7 @@ DOMRGBColor::~DOMRGBColor()
//rgbColors.remove(rgbColor.handle());
}
-Value DOMRGBColor::tryGet(ExecState *exec, const UString &p) const
+Value DOMRGBColor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMRGBColor,DOMObject>(exec, p,
&DOMRGBColorTable,
@@ -1151,7 +1151,7 @@ DOMRect::~DOMRect()
ScriptInterpreter::forgetDOMObject(rect.handle());
}
-Value DOMRect::tryGet(ExecState *exec, const UString &p) const
+Value DOMRect::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMRect,DOMObject>(exec, p,
&DOMRectTable, this);
@@ -1183,9 +1183,9 @@ Value KJS::getDOMRect(ExecState *exec, DOM::Rect r)
const ClassInfo DOMCounter::info = { "Counter", 0, &DOMCounterTable, 0 };
/*
@begin DOMCounterTable 3
- identifier DOMCounter::Identifier DontDelete|ReadOnly
- listStyle DOMCounter::ListStyle DontDelete|ReadOnly
- separator DOMCounter::Separator DontDelete|ReadOnly
+ identifier DOMCounter::identifier DontDelete|ReadOnly
+ listStyle DOMCounter::listStyle DontDelete|ReadOnly
+ separator DOMCounter::separator DontDelete|ReadOnly
@end
*/
DOMCounter::~DOMCounter()
@@ -1193,7 +1193,7 @@ DOMCounter::~DOMCounter()
ScriptInterpreter::forgetDOMObject(counter.handle());
}
-Value DOMCounter::tryGet(ExecState *exec, const UString &p) const
+Value DOMCounter::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMCounter,DOMObject>(exec, p,
&DOMCounterTable, this);
@@ -1202,11 +1202,11 @@ Value DOMCounter::tryGet(ExecState *exec, const UString &p) const
Value DOMCounter::getValueProperty(ExecState *, int token) const
{
switch (token) {
- case Identifier:
+ case identifier:
return getString(counter.identifier());
- case ListStyle:
+ case listStyle:
return getString(counter.listStyle());
- case Separator:
+ case separator:
return getString(counter.separator());
default:
return Value();
diff --git a/WebCore/khtml/ecma/kjs_css.h b/WebCore/khtml/ecma/kjs_css.h
index d5bc6ac..f6b1706 100644
--- a/WebCore/khtml/ecma/kjs_css.h
+++ b/WebCore/khtml/ecma/kjs_css.h
@@ -36,9 +36,9 @@ namespace KJS {
public:
DOMCSSStyleDeclaration(ExecState *exec, DOM::CSSStyleDeclaration s);
virtual ~DOMCSSStyleDeclaration();
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
- virtual bool hasProperty(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
+ virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo *classInfo() const { return &info; }
static const ClassInfo info;
enum { CssText, Length, ParentRule,
@@ -58,9 +58,9 @@ namespace KJS {
// Constructor for inherited classes
DOMStyleSheet(Object proto, DOM::StyleSheet ss) : DOMObject(proto), styleSheet(ss) { }
virtual ~DOMStyleSheet();
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -76,7 +76,7 @@ namespace KJS {
DOMStyleSheetList(ExecState *, DOM::StyleSheetList ssl, DOM::Document doc)
: styleSheetList(ssl), m_doc(doc) { }
virtual ~DOMStyleSheetList();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
virtual bool toBoolean(ExecState* ) const { return true; }
@@ -95,8 +95,8 @@ namespace KJS {
public:
DOMMediaList(ExecState *, DOM::MediaList ml);
virtual ~DOMMediaList();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual const ClassInfo* classInfo() const { return &info; }
virtual bool toBoolean(ExecState* ) const { return true; }
static const ClassInfo info;
@@ -113,7 +113,7 @@ namespace KJS {
public:
DOMCSSStyleSheet(ExecState *exec, DOM::CSSStyleSheet ss);
virtual ~DOMCSSStyleSheet();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -126,7 +126,7 @@ namespace KJS {
public:
DOMCSSRuleList(ExecState *, DOM::CSSRuleList rl) : cssRuleList(rl) { }
virtual ~DOMCSSRuleList();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -142,9 +142,9 @@ namespace KJS {
public:
DOMCSSRule(ExecState *, DOM::CSSRule r) : cssRule(r) { }
virtual ~DOMCSSRule();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int attr);
virtual const ClassInfo* classInfo() const;
static const ClassInfo info;
@@ -170,7 +170,7 @@ namespace KJS {
class CSSRuleConstructor : public DOMObject {
public:
CSSRuleConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -185,8 +185,8 @@ namespace KJS {
DOMCSSValue(ExecState *, DOM::CSSValue v) : cssValue(v) { }
DOMCSSValue(Object proto, DOM::CSSValue v) : DOMObject(proto), cssValue(v) { }
virtual ~DOMCSSValue();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum { CssText, CssValueType };
@@ -200,7 +200,7 @@ namespace KJS {
class CSSValueConstructor : public DOMObject {
public:
CSSValueConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -213,7 +213,7 @@ namespace KJS {
class DOMCSSPrimitiveValue : public DOMCSSValue {
public:
DOMCSSPrimitiveValue(ExecState *exec, DOM::CSSPrimitiveValue v);
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -226,7 +226,7 @@ namespace KJS {
class CSSPrimitiveValueConstructor : public CSSValueConstructor {
public:
CSSPrimitiveValueConstructor(ExecState *exec) : CSSValueConstructor(exec) { }
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -238,7 +238,7 @@ namespace KJS {
class DOMCSSValueList : public DOMCSSValue {
public:
DOMCSSValueList(ExecState *exec, DOM::CSSValueList v);
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -250,7 +250,7 @@ namespace KJS {
public:
DOMRGBColor(DOM::RGBColor c) : rgbColor(c) { }
~DOMRGBColor();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -266,7 +266,7 @@ namespace KJS {
public:
DOMRect(ExecState *, DOM::Rect r) : rect(r) { }
~DOMRect();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -282,12 +282,12 @@ namespace KJS {
public:
DOMCounter(ExecState *, DOM::Counter c) : counter(c) { }
~DOMCounter();
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
- enum { Identifier, ListStyle, Separator };
+ enum { identifier, listStyle, separator };
protected:
DOM::Counter counter;
};
diff --git a/WebCore/khtml/ecma/kjs_dom.cpp b/WebCore/khtml/ecma/kjs_dom.cpp
index c0febb6..21c297d 100644
--- a/WebCore/khtml/ecma/kjs_dom.cpp
+++ b/WebCore/khtml/ecma/kjs_dom.cpp
@@ -140,7 +140,7 @@ bool DOMNode::toBoolean(ExecState *) const
scrollTop DOMNode::ScrollTop DontDelete|ReadOnly
@end
*/
-Value DOMNode::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMNode::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMNode::tryGet " << propertyName.qstring() << endl;
@@ -286,7 +286,7 @@ Value DOMNode::getValueProperty(ExecState *exec, int token) const
return Value();
}
-void DOMNode::tryPut(ExecState *exec, const UString& propertyName, const Value& value, int attr)
+void DOMNode::tryPut(ExecState *exec, const Identifier& propertyName, const Value& value, int attr)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMNode::tryPut " << propertyName.qstring() << endl;
@@ -487,14 +487,14 @@ DOMNodeList::~DOMNodeList()
// We have to implement hasProperty since we don't use a hashtable for 'length' and 'item'
// ## this breaks "for (..in..)" though.
-bool DOMNodeList::hasProperty(ExecState *exec, const UString &p) const
+bool DOMNodeList::hasProperty(ExecState *exec, const Identifier &p) const
{
if (p == "length" || p == "item")
return true;
return ObjectImp::hasProperty(exec, p);
}
-Value DOMNodeList::tryGet(ExecState *exec, const UString &p) const
+Value DOMNodeList::tryGet(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMNodeList::tryGet " << p.ascii() << endl;
@@ -599,7 +599,7 @@ const ClassInfo DOMAttr::info = { "Attr", &DOMNode::info, &DOMAttrTable, 0 };
ownerElement DOMAttr::OwnerElement DontDelete|ReadOnly
@end
*/
-Value DOMAttr::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMAttr::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMAttr::tryPut " << propertyName.qstring() << endl;
@@ -623,7 +623,7 @@ Value DOMAttr::getValueProperty(ExecState *exec, int token) const
return Value(); // not reached
}
-void DOMAttr::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMAttr::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMAttr::tryPut " << propertyName.qstring() << endl;
@@ -693,7 +693,7 @@ DOMDocument::DOMDocument(ExecState *exec, const DOM::Document &d)
DOMDocument::DOMDocument(const Object &proto, const DOM::Document &d)
: DOMNode(proto, d) { }
-Value DOMDocument::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMDocument::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMDocument::tryGet " << propertyName.qstring() << endl;
@@ -742,7 +742,7 @@ Value DOMDocument::getValueProperty(ExecState *exec, int token) const
}
}
-void DOMDocument::tryPut(ExecState *exec, const UString& propertyName, const Value& value, int attr)
+void DOMDocument::tryPut(ExecState *exec, const Identifier& propertyName, const Value& value, int attr)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMDocument::tryPut " << propertyName.qstring() << endl;
@@ -886,7 +886,7 @@ DOMElement::DOMElement(ExecState *exec, const DOM::Element &e)
DOMElement::DOMElement(const Object &proto, const DOM::Element &e)
: DOMNode(proto, e) { }
-Value DOMElement::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMElement::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMElement::tryGet " << propertyName.qstring() << endl;
@@ -1040,7 +1040,7 @@ const ClassInfo DOMDocumentType::info = { "DocumentType", &DOMNode::info, &DOMDo
DOMDocumentType::DOMDocumentType(ExecState *exec, const DOM::DocumentType &dt)
: DOMNode( /*### no proto yet*/exec, dt ) { }
-Value DOMDocumentType::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMDocumentType::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMDocumentType, DOMNode>(exec, propertyName, &DOMDocumentTypeTable, this);
}
@@ -1097,14 +1097,14 @@ DOMNamedNodeMap::~DOMNamedNodeMap()
// We have to implement hasProperty since we don't use a hashtable for 'length'
// ## this breaks "for (..in..)" though.
-bool DOMNamedNodeMap::hasProperty(ExecState *exec, const UString &p) const
+bool DOMNamedNodeMap::hasProperty(ExecState *exec, const Identifier &p) const
{
if (p == "length")
return true;
return DOMObject::hasProperty(exec, p);
}
-Value DOMNamedNodeMap::tryGet(ExecState* exec, const UString &p) const
+Value DOMNamedNodeMap::tryGet(ExecState* exec, const Identifier &p) const
{
if (p == "length")
return Number(map.length());
@@ -1161,7 +1161,7 @@ const ClassInfo DOMProcessingInstruction::info = { "ProcessingInstruction", &DOM
sheet DOMProcessingInstruction::Sheet DontDelete|ReadOnly
@end
*/
-Value DOMProcessingInstruction::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMProcessingInstruction::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMProcessingInstruction, DOMNode>(exec, propertyName, &DOMProcessingInstructionTable, this);
}
@@ -1181,7 +1181,7 @@ Value DOMProcessingInstruction::getValueProperty(ExecState *exec, int token) con
}
}
-void DOMProcessingInstruction::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMProcessingInstruction::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
// Not worth using the hashtable for this one ;)
if (propertyName == "data")
@@ -1200,7 +1200,7 @@ const ClassInfo DOMNotation::info = { "Notation", &DOMNode::info, &DOMNotationTa
systemId DOMNotation::SystemId DontDelete|ReadOnly
@end
*/
-Value DOMNotation::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMNotation::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMNotation, DOMNode>(exec, propertyName, &DOMNotationTable, this);
}
@@ -1229,7 +1229,7 @@ const ClassInfo DOMEntity::info = { "Entity", &DOMNode::info, 0, 0 };
notationName DOMEntity::NotationName DontDelete|ReadOnly
@end
*/
-Value DOMEntity::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMEntity::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMEntity, DOMNode>(exec, propertyName, &DOMEntityTable, this);
}
@@ -1343,7 +1343,7 @@ const ClassInfo NodeConstructor::info = { "NodeConstructor", 0, &NodeConstructor
NOTATION_NODE DOM::Node::NOTATION_NODE DontDelete|ReadOnly
@end
*/
-Value NodeConstructor::tryGet(ExecState *exec, const UString &propertyName) const
+Value NodeConstructor::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<NodeConstructor, DOMObject>(exec, propertyName, &NodeConstructorTable, this);
}
@@ -1414,7 +1414,7 @@ const ClassInfo DOMExceptionConstructor::info = { "DOMExceptionConstructor", 0,
@end
*/
-Value DOMExceptionConstructor::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMExceptionConstructor::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<DOMExceptionConstructor, DOMObject>(exec, propertyName, &DOMExceptionConstructorTable, this);
}
@@ -1478,7 +1478,7 @@ DOMNamedNodesCollection::DOMNamedNodesCollection(ExecState *, const QValueList<D
// Maybe we should ref (and deref in the dtor) the nodes, though ?
}
-Value DOMNamedNodesCollection::tryGet(ExecState *exec, const UString &propertyName) const
+Value DOMNamedNodesCollection::tryGet(ExecState *exec, const Identifier &propertyName) const
{
if (propertyName == "length")
return Number(m_nodes.count());
@@ -1519,7 +1519,7 @@ DOMCharacterData::DOMCharacterData(ExecState *exec, const DOM::CharacterData &d)
DOMCharacterData::DOMCharacterData(const Object &proto, const DOM::CharacterData &d)
: DOMNode(proto, d) {}
-Value DOMCharacterData::tryGet(ExecState *exec, const UString &p) const
+Value DOMCharacterData::tryGet(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070)<<"DOMCharacterData::tryGet "<<p.string().string()<<endl;
@@ -1541,7 +1541,7 @@ Value DOMCharacterData::getValueProperty(ExecState *, int token) const
}
}
-void DOMCharacterData::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void DOMCharacterData::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
if (propertyName == "data")
static_cast<DOM::CharacterData>(node).setData(value.toString(exec).string());
@@ -1597,7 +1597,7 @@ IMPLEMENT_PROTOTYPE_WITH_PARENT(DOMTextProto,DOMTextProtoFunc,DOMCharacterDataPr
DOMText::DOMText(ExecState *exec, const DOM::Text &t)
: DOMCharacterData(DOMTextProto::self(exec), t) { }
-Value DOMText::tryGet(ExecState *exec, const UString &p) const
+Value DOMText::tryGet(ExecState *exec, const Identifier &p) const
{
if (p == "")
return Undefined(); // ### TODO
diff --git a/WebCore/khtml/ecma/kjs_dom.h b/WebCore/khtml/ecma/kjs_dom.h
index 7758764..7463db4 100644
--- a/WebCore/khtml/ecma/kjs_dom.h
+++ b/WebCore/khtml/ecma/kjs_dom.h
@@ -38,10 +38,10 @@ namespace KJS {
DOMNode(const Object &proto, const DOM::Node &n);
~DOMNode();
virtual bool toBoolean(ExecState *) const;
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int attr);
virtual DOM::Node toNode() const { return node; }
virtual const ClassInfo* classInfo() const { return &info; }
@@ -74,8 +74,8 @@ namespace KJS {
public:
DOMNodeList(ExecState *, const DOM::NodeList &l) : list(l) { }
~DOMNodeList();
- virtual bool hasProperty(ExecState *exec, const UString &p) const;
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &p) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
virtual Value call(ExecState *exec, Object &thisObj, const List&args);
virtual Value tryCall(ExecState *exec, Object &thisObj, const List&args);
virtual bool implementsCall() const { return true; }
@@ -104,9 +104,9 @@ namespace KJS {
DOMDocument(ExecState *exec, const DOM::Document &d);
// Constructor for inherited classes
DOMDocument(const Object &proto, const DOM::Document &d);
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int attr);
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -124,8 +124,8 @@ namespace KJS {
class DOMAttr : public DOMNode {
public:
DOMAttr(ExecState *exec, const DOM::Attr &a) : DOMNode(exec, a) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
Value getValueProperty(ExecState *exec, int token) const;
void putValue(ExecState *exec, int token, const Value& value, int attr);
virtual const ClassInfo* classInfo() const { return &info; }
@@ -139,7 +139,7 @@ namespace KJS {
DOMElement(ExecState *exec, const DOM::Element &e);
// Constructor for inherited classes
DOMElement(const Object &proto, const DOM::Element &e);
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -169,7 +169,7 @@ namespace KJS {
public:
// Build a DOMDocumentType
DOMDocumentType(ExecState *exec, const DOM::DocumentType &dt);
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -181,8 +181,8 @@ namespace KJS {
public:
DOMNamedNodeMap(ExecState *, const DOM::NamedNodeMap &m);
~DOMNamedNodeMap();
- virtual bool hasProperty(ExecState *exec, const UString &p) const;
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &p) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
virtual bool toBoolean(ExecState *) const { return true; }
@@ -197,9 +197,9 @@ namespace KJS {
class DOMProcessingInstruction : public DOMNode {
public:
DOMProcessingInstruction(ExecState *exec, const DOM::ProcessingInstruction &pi) : DOMNode(exec, pi) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum { Target, Data, Sheet };
@@ -208,7 +208,7 @@ namespace KJS {
class DOMNotation : public DOMNode {
public:
DOMNotation(ExecState *exec, const DOM::Notation &n) : DOMNode(exec, n) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -219,7 +219,7 @@ namespace KJS {
class DOMEntity : public DOMNode {
public:
DOMEntity(ExecState *exec, const DOM::Entity &e) : DOMNode(exec, e) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -231,7 +231,7 @@ namespace KJS {
class NodeConstructor : public DOMObject {
public:
NodeConstructor(ExecState *) : DOMObject() { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -242,7 +242,7 @@ namespace KJS {
class DOMExceptionConstructor : public DOMObject {
public:
DOMExceptionConstructor(ExecState *) : DOMObject() { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -261,7 +261,7 @@ namespace KJS {
class DOMNamedNodesCollection : public DOMObject {
public:
DOMNamedNodesCollection(ExecState *exec, const QValueList<DOM::Node>& nodes );
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
private:
QValueList<DOM::Node> m_nodes;
};
@@ -272,9 +272,9 @@ namespace KJS {
DOMCharacterData(ExecState *exec, const DOM::CharacterData &d);
// Constructor for inherited classes
DOMCharacterData(const Object &proto, const DOM::CharacterData &d);
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
DOM::CharacterData toData() const { return static_cast<DOM::CharacterData>(node); }
@@ -285,7 +285,7 @@ namespace KJS {
class DOMText : public DOMCharacterData {
public:
DOMText(ExecState *exec, const DOM::Text &t);
- virtual Value tryGet(ExecState *exec,const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &propertyName) const;
Value getValueProperty(ExecState *, int token) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/WebCore/khtml/ecma/kjs_events.cpp b/WebCore/khtml/ecma/kjs_events.cpp
index 1a20c8a..ad9a9aa 100644
--- a/WebCore/khtml/ecma/kjs_events.cpp
+++ b/WebCore/khtml/ecma/kjs_events.cpp
@@ -156,7 +156,7 @@ const ClassInfo EventConstructor::info = { "EventConstructor", 0, &EventConstruc
@end
*/
-Value EventConstructor::tryGet(ExecState *exec, const UString &p) const
+Value EventConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<EventConstructor, DOMObject>(exec,p,&EventConstructorTable,this);
}
@@ -206,7 +206,7 @@ DOMEvent::~DOMEvent()
ScriptInterpreter::forgetDOMObject(event.handle());
}
-Value DOMEvent::tryGet(ExecState *exec, const UString &p) const
+Value DOMEvent::tryGet(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug() << "KJS::DOMEvent::tryGet " << p.qstring() << endl;
@@ -239,7 +239,7 @@ Value DOMEvent::getValueProperty(ExecState *exec, int token) const
}
}
-void DOMEvent::tryPut(ExecState *exec, const UString &propertyName,
+void DOMEvent::tryPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr)
{
DOMObjectLookupPut<DOMEvent, DOMObject>(exec, propertyName, value, attr,
@@ -325,7 +325,7 @@ const ClassInfo EventExceptionConstructor::info = { "EventExceptionConstructor",
UNSPECIFIED_EVENT_TYPE_ERR DOM::EventException::UNSPECIFIED_EVENT_TYPE_ERR DontDelete|ReadOnly
@end
*/
-Value EventExceptionConstructor::tryGet(ExecState *exec, const UString &p) const
+Value EventExceptionConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<EventExceptionConstructor, DOMObject>(exec,p,&EventExceptionConstructorTable,this);
}
@@ -361,7 +361,7 @@ DOMUIEvent::~DOMUIEvent()
{
}
-Value DOMUIEvent::tryGet(ExecState *exec, const UString &p) const
+Value DOMUIEvent::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMUIEvent,DOMEvent>(exec,p,&DOMUIEventTable,this);
}
@@ -436,7 +436,7 @@ DOMMouseEvent::~DOMMouseEvent()
{
}
-Value DOMMouseEvent::tryGet(ExecState *exec, const UString &p) const
+Value DOMMouseEvent::tryGet(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "DOMMouseEvent::tryGet " << p.qstring() << endl;
@@ -550,7 +550,7 @@ const ClassInfo MutationEventConstructor::info = { "MutationEventConstructor", 0
REMOVAL DOM::MutationEvent::REMOVAL DontDelete|ReadOnly
@end
*/
-Value MutationEventConstructor::tryGet(ExecState *exec, const UString &p) const
+Value MutationEventConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<MutationEventConstructor,DOMObject>(exec,p,&MutationEventConstructorTable,this);
}
@@ -589,7 +589,7 @@ DOMMutationEvent::~DOMMutationEvent()
{
}
-Value DOMMutationEvent::tryGet(ExecState *exec, const UString &p) const
+Value DOMMutationEvent::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMMutationEvent,DOMEvent>(exec,p,&DOMMutationEventTable,this);
}
diff --git a/WebCore/khtml/ecma/kjs_events.h b/WebCore/khtml/ecma/kjs_events.h
index 2dbdfbf..39479ba 100644
--- a/WebCore/khtml/ecma/kjs_events.h
+++ b/WebCore/khtml/ecma/kjs_events.h
@@ -48,7 +48,7 @@ namespace KJS {
class EventConstructor : public DOMObject {
public:
EventConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -61,9 +61,9 @@ namespace KJS {
public:
DOMEvent(ExecState *exec, DOM::Event e);
~DOMEvent();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName,
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int);
virtual const ClassInfo* classInfo() const { return &info; }
@@ -88,7 +88,7 @@ namespace KJS {
class EventExceptionConstructor : public DOMObject {
public:
EventExceptionConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -101,7 +101,7 @@ namespace KJS {
public:
DOMUIEvent(ExecState *exec, DOM::UIEvent ue) : DOMEvent(exec, ue) {}
~DOMUIEvent();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -114,7 +114,7 @@ namespace KJS {
public:
DOMMouseEvent(ExecState *exec, DOM::MouseEvent me) : DOMUIEvent(exec, me) {}
~DOMMouseEvent();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -130,7 +130,7 @@ namespace KJS {
class MutationEventConstructor : public DOMObject {
public:
MutationEventConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -143,7 +143,7 @@ namespace KJS {
public:
DOMMutationEvent(ExecState *exec, DOM::MutationEvent me) : DOMEvent(exec, me) {}
~DOMMutationEvent();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
diff --git a/WebCore/khtml/ecma/kjs_html.cpp b/WebCore/khtml/ecma/kjs_html.cpp
index 2c58de6..038da03 100644
--- a/WebCore/khtml/ecma/kjs_html.cpp
+++ b/WebCore/khtml/ecma/kjs_html.cpp
@@ -134,7 +134,7 @@ const ClassInfo KJS::HTMLDocument::info =
# ids
@end
*/
-bool KJS::HTMLDocument::hasProperty(ExecState *exec, const UString &p) const
+bool KJS::HTMLDocument::hasProperty(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
//kdDebug(6070) << "KJS::HTMLDocument::hasProperty " << p.qstring() << endl;
@@ -145,7 +145,7 @@ bool KJS::HTMLDocument::hasProperty(ExecState *exec, const UString &p) const
return DOMDocument::hasProperty(exec, p);
}
-Value KJS::HTMLDocument::tryGet(ExecState *exec, const UString &propertyName) const
+Value KJS::HTMLDocument::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "KJS::HTMLDocument::tryGet " << propertyName.qstring() << endl;
@@ -264,7 +264,7 @@ Value KJS::HTMLDocument::tryGet(ExecState *exec, const UString &propertyName) co
return Undefined();
}
-void KJS::HTMLDocument::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void KJS::HTMLDocument::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "KJS::HTMLDocument::tryPut " << propertyName.qstring() << endl;
@@ -972,7 +972,7 @@ const ClassInfo* KJS::HTMLElement::classInfo() const
@end
*/
-Value KJS::HTMLElement::tryGet(ExecState *exec, const UString &propertyName) const
+Value KJS::HTMLElement::tryGet(ExecState *exec, const Identifier &propertyName) const
{
DOM::HTMLElement element = static_cast<DOM::HTMLElement>(node);
#ifdef KJS_VERBOSE
@@ -1698,7 +1698,7 @@ Value KJS::HTMLElement::getValueProperty(ExecState *exec, int token) const
return Undefined();
}
-bool KJS::HTMLElement::hasProperty(ExecState *exec, const UString &propertyName) const
+bool KJS::HTMLElement::hasProperty(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
//kdDebug(6070) << "HTMLElement::hasProperty " << propertyName.qstring() << endl;
@@ -1911,7 +1911,7 @@ Value KJS::HTMLElementFunction::tryCall(ExecState *exec, Object &thisObj, const
return Undefined();
}
-void KJS::HTMLElement::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void KJS::HTMLElement::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
#ifdef KJS_VERBOSE
DOM::DOMString str = value.isA(NullType) ? DOM::DOMString() : value.toString(exec).string();
@@ -2653,14 +2653,14 @@ HTMLCollection::~HTMLCollection()
// We have to implement hasProperty since we don't use a hashtable for 'selectedIndex' and 'length'
// ## this breaks "for (..in..)" though.
-bool KJS::HTMLCollection::hasProperty(ExecState *exec, const UString &p) const
+bool KJS::HTMLCollection::hasProperty(ExecState *exec, const Identifier &p) const
{
if (p == "selectedIndex" || p == "length")
return true;
return DOMObject::hasProperty(exec, p);
}
-Value KJS::HTMLCollection::tryGet(ExecState *exec, const UString &propertyName) const
+Value KJS::HTMLCollection::tryGet(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug() << "KJS::HTMLCollection::tryGet " << propertyName.ascii() << endl;
@@ -2757,7 +2757,7 @@ Value KJS::HTMLCollection::tryCall(ExecState *exec, Object &, const List &args)
return Undefined();
}
-Value KJS::HTMLCollection::getNamedItems(ExecState *exec, const UString &propertyName) const
+Value KJS::HTMLCollection::getNamedItems(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "KJS::HTMLCollection::getNamedItems " << propertyName.ascii() << endl;
@@ -2829,13 +2829,13 @@ Value KJS::HTMLCollectionProtoFunc::tryCall(ExecState *exec, Object &thisObj, co
return getDOMNodeList(exec, list);
}
case KJS::HTMLCollection::NamedItem:
- return static_cast<HTMLCollection *>(thisObj.imp())->getNamedItems(exec,args[0].toString(exec).string());
+ return static_cast<HTMLCollection *>(thisObj.imp())->getNamedItems(exec, args[0].toString(exec));
default:
return Undefined();
}
}
-Value KJS::HTMLSelectCollection::tryGet(ExecState *exec, const UString &p) const
+Value KJS::HTMLSelectCollection::tryGet(ExecState *exec, const Identifier &p) const
{
if (p == "selectedIndex")
return Number(element.selectedIndex());
@@ -2843,7 +2843,7 @@ Value KJS::HTMLSelectCollection::tryGet(ExecState *exec, const UString &p) const
return HTMLCollection::tryGet(exec, p);
}
-void KJS::HTMLSelectCollection::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int)
+void KJS::HTMLSelectCollection::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "KJS::HTMLSelectCollection::tryPut " << propertyName.qstring() << endl;
@@ -2973,7 +2973,7 @@ const ClassInfo KJS::Image::info = { "Image", 0, &ImageTable, 0 };
@end
*/
-Value Image::tryGet(ExecState *exec, const UString &propertyName) const
+Value Image::tryGet(ExecState *exec, const Identifier &propertyName) const
{
return DOMObjectLookupGetValue<Image,DOMObject>(exec, propertyName, &ImageTable, this);
}
@@ -2991,7 +2991,7 @@ Value Image::getValueProperty(ExecState *, int token) const
}
}
-void Image::tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr)
+void Image::tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr)
{
// Not worth using the hashtable
if (propertyName == "src") {
diff --git a/WebCore/khtml/ecma/kjs_html.h b/WebCore/khtml/ecma/kjs_html.h
index 0c34548..660180d 100644
--- a/WebCore/khtml/ecma/kjs_html.h
+++ b/WebCore/khtml/ecma/kjs_html.h
@@ -39,10 +39,10 @@ namespace KJS {
class HTMLDocument : public DOMDocument {
public:
HTMLDocument(ExecState *exec, const DOM::HTMLDocument &d) : DOMDocument(exec, d) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int /*attr*/);
- virtual bool hasProperty(ExecState *exec, const UString &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
enum { Title, Referrer, Domain, URL, Body, Location, Cookie,
@@ -55,11 +55,11 @@ namespace KJS {
class HTMLElement : public DOMElement {
public:
HTMLElement(ExecState *exec, const DOM::HTMLElement &e) : DOMElement(exec, e) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
void putValue(ExecState *exec, int token, const Value& value, int);
- virtual bool hasProperty(ExecState *exec, const UString &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
virtual UString toString(ExecState *exec) const;
virtual List eventHandlerScope(ExecState *exec) const;
virtual const ClassInfo* classInfo() const;
@@ -163,14 +163,14 @@ namespace KJS {
public:
HTMLCollection(ExecState *exec, const DOM::HTMLCollection &c);
~HTMLCollection();
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
virtual Value call(ExecState *exec, Object &thisObj, const List&args);
virtual Value tryCall(ExecState *exec, Object &thisObj, const List&args);
virtual bool implementsCall() const { return true; }
virtual bool toBoolean(ExecState *) const { return true; }
- virtual bool hasProperty(ExecState *exec, const UString &p) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &p) const;
enum { Item, NamedItem, Tags };
- Value getNamedItems(ExecState *exec, const UString &propertyName) const;
+ Value getNamedItems(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
DOM::HTMLCollection toCollection() const { return collection; }
@@ -182,8 +182,8 @@ namespace KJS {
public:
HTMLSelectCollection(ExecState *exec, const DOM::HTMLCollection &c, const DOM::HTMLSelectElement &e)
: HTMLCollection(exec, c), element(e) { }
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
private:
DOM::HTMLSelectElement element;
};
@@ -214,9 +214,9 @@ namespace KJS {
public:
Image(const DOM::Document &d);
~Image();
- virtual Value tryGet(ExecState *exec, const UString &propertyName) const;
+ virtual Value tryGet(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName, const Value& value, int attr = None);
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName, const Value& value, int attr = None);
virtual bool toBoolean(ExecState *) const { return true; }
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/WebCore/khtml/ecma/kjs_navigator.cpp b/WebCore/khtml/ecma/kjs_navigator.cpp
index 3304dd7..bb8dfca 100644
--- a/WebCore/khtml/ecma/kjs_navigator.cpp
+++ b/WebCore/khtml/ecma/kjs_navigator.cpp
@@ -78,7 +78,7 @@ namespace KJS {
class Plugins : public PluginBase {
public:
Plugins(ExecState *exec) : PluginBase(exec) {};
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
private:
@@ -89,7 +89,7 @@ namespace KJS {
class MimeTypes : public PluginBase {
public:
MimeTypes(ExecState *exec) : PluginBase(exec) { };
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
private:
@@ -109,7 +109,7 @@ namespace KJS {
: ObjectImp(exec->interpreter()->builtinObjectPrototype() )
{ m_info = info; };
#endif
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
private:
@@ -130,7 +130,7 @@ namespace KJS {
: ObjectImp(exec->interpreter()->builtinObjectPrototype() )
{ m_info = info; };
#endif
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
private:
@@ -167,7 +167,7 @@ IMPLEMENT_PROTOFUNC(NavigatorFunc)
Navigator::Navigator(ExecState *exec, KHTMLPart *p)
: ObjectImp(exec->interpreter()->builtinObjectPrototype()), m_part(p) { }
-Value Navigator::get(ExecState *exec, const UString &propertyName) const
+Value Navigator::get(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Navigator::get " << propertyName.ascii() << endl;
@@ -366,7 +366,7 @@ void PluginBase::unref()
/*******************************************************************/
IMPLEMENT_PROTOFUNC(PluginsFunc)
-Value Plugins::get(ExecState *exec, const UString &propertyName) const
+Value Plugins::get(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Plugins::get " << propertyName.qstring() << endl;
@@ -395,7 +395,7 @@ Value Plugins::get(ExecState *exec, const UString &propertyName) const
/*******************************************************************/
-Value MimeTypes::get(ExecState *exec, const UString &propertyName) const
+Value MimeTypes::get(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "MimeTypes::get " << propertyName.qstring() << endl;
@@ -425,7 +425,7 @@ Value MimeTypes::get(ExecState *exec, const UString &propertyName) const
/************************************************************************/
-Value Plugin::get(ExecState *exec, const UString &propertyName) const
+Value Plugin::get(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Plugin::get " << propertyName.qstring() << endl;
@@ -465,7 +465,7 @@ Value Plugin::get(ExecState *exec, const UString &propertyName) const
/*****************************************************************************/
-Value MimeType::get(ExecState *exec, const UString &propertyName) const
+Value MimeType::get(ExecState *exec, const Identifier &propertyName) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "MimeType::get " << propertyName.qstring() << endl;
diff --git a/WebCore/khtml/ecma/kjs_navigator.h b/WebCore/khtml/ecma/kjs_navigator.h
index bd306e9..5a930ec 100644
--- a/WebCore/khtml/ecma/kjs_navigator.h
+++ b/WebCore/khtml/ecma/kjs_navigator.h
@@ -30,7 +30,7 @@ namespace KJS {
class Navigator : public ObjectImp {
public:
Navigator(ExecState *exec, KHTMLPart *p);
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/WebCore/khtml/ecma/kjs_range.cpp b/WebCore/khtml/ecma/kjs_range.cpp
index bcf27a5..84e4723 100644
--- a/WebCore/khtml/ecma/kjs_range.cpp
+++ b/WebCore/khtml/ecma/kjs_range.cpp
@@ -69,7 +69,7 @@ DOMRange::~DOMRange()
ScriptInterpreter::forgetDOMObject(range.handle());
}
-Value DOMRange::tryGet(ExecState *exec, const UString &p) const
+Value DOMRange::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMRange,DOMObject>(exec,p,&DOMRangeTable,this);
}
@@ -196,7 +196,7 @@ const ClassInfo RangeConstructor::info = { "RangeConstructor", 0, &RangeConstruc
END_TO_START DOM::Range::END_TO_START DontDelete|ReadOnly
@end
*/
-Value RangeConstructor::tryGet(ExecState *exec, const UString &p) const
+Value RangeConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<RangeConstructor,DOMObject>(exec,p,&RangeConstructorTable,this);
}
diff --git a/WebCore/khtml/ecma/kjs_range.h b/WebCore/khtml/ecma/kjs_range.h
index 476ab57..b5a2ac5 100644
--- a/WebCore/khtml/ecma/kjs_range.h
+++ b/WebCore/khtml/ecma/kjs_range.h
@@ -30,7 +30,7 @@ namespace KJS {
public:
DOMRange(ExecState *exec, DOM::Range r);
~DOMRange();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -51,7 +51,7 @@ namespace KJS {
class RangeConstructor : public DOMObject {
public:
RangeConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
diff --git a/WebCore/khtml/ecma/kjs_traversal.cpp b/WebCore/khtml/ecma/kjs_traversal.cpp
index 5d60b91..408d9cd 100644
--- a/WebCore/khtml/ecma/kjs_traversal.cpp
+++ b/WebCore/khtml/ecma/kjs_traversal.cpp
@@ -57,7 +57,7 @@ DOMNodeIterator::~DOMNodeIterator()
ScriptInterpreter::forgetDOMObject(nodeIterator.handle());
}
-Value DOMNodeIterator::tryGet(ExecState *exec, const UString &p) const
+Value DOMNodeIterator::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMNodeIterator,DOMObject>(exec,p,&DOMNodeIteratorTable,this);
}
@@ -129,7 +129,7 @@ const ClassInfo NodeFilterConstructor::info = { "NodeFilterConstructor", 0, &Nod
SHOW_NOTATION DOM::NodeFilter::SHOW_NOTATION DontDelete|ReadOnly
@end
*/
-Value NodeFilterConstructor::tryGet(ExecState *exec, const UString &p) const
+Value NodeFilterConstructor::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<NodeFilterConstructor,DOMObject>(exec,p,&NodeFilterConstructorTable,this);
}
@@ -218,7 +218,7 @@ DOMTreeWalker::~DOMTreeWalker()
ScriptInterpreter::forgetDOMObject(treeWalker.handle());
}
-Value DOMTreeWalker::tryGet(ExecState *exec, const UString &p) const
+Value DOMTreeWalker::tryGet(ExecState *exec, const Identifier &p) const
{
return DOMObjectLookupGetValue<DOMTreeWalker,DOMObject>(exec,p,&DOMTreeWalkerTable,this);
}
@@ -243,7 +243,7 @@ Value DOMTreeWalker::getValueProperty(ExecState *exec, int token) const
}
}
-void DOMTreeWalker::tryPut(ExecState *exec, const UString &propertyName,
+void DOMTreeWalker::tryPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr)
{
if (propertyName == "currentNode") {
diff --git a/WebCore/khtml/ecma/kjs_traversal.h b/WebCore/khtml/ecma/kjs_traversal.h
index a47b887..d8cc376 100644
--- a/WebCore/khtml/ecma/kjs_traversal.h
+++ b/WebCore/khtml/ecma/kjs_traversal.h
@@ -30,7 +30,7 @@ namespace KJS {
public:
DOMNodeIterator(ExecState *exec, DOM::NodeIterator ni);
~DOMNodeIterator();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -46,7 +46,7 @@ namespace KJS {
class NodeFilterConstructor : public DOMObject {
public:
NodeFilterConstructor(ExecState *) { }
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
@@ -70,9 +70,9 @@ namespace KJS {
public:
DOMTreeWalker(ExecState *exec, DOM::TreeWalker tw);
~DOMTreeWalker();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
Value getValueProperty(ExecState *exec, int token) const;
- virtual void tryPut(ExecState *exec, const UString &propertyName,
+ virtual void tryPut(ExecState *exec, const Identifier &propertyName,
const Value& value, int attr = None);
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/WebCore/khtml/ecma/kjs_views.cpp b/WebCore/khtml/ecma/kjs_views.cpp
index 880b534..d88cbdc 100644
--- a/WebCore/khtml/ecma/kjs_views.cpp
+++ b/WebCore/khtml/ecma/kjs_views.cpp
@@ -40,7 +40,7 @@ DOMAbstractView::~DOMAbstractView()
ScriptInterpreter::forgetDOMObject(abstractView.handle());
}
-Value DOMAbstractView::tryGet(ExecState *exec, const UString &p) const
+Value DOMAbstractView::tryGet(ExecState *exec, const Identifier &p) const
{
if ( p == "document" )
return getDOMNode(exec,abstractView.document());
diff --git a/WebCore/khtml/ecma/kjs_views.h b/WebCore/khtml/ecma/kjs_views.h
index 9029182..da21fdf 100644
--- a/WebCore/khtml/ecma/kjs_views.h
+++ b/WebCore/khtml/ecma/kjs_views.h
@@ -31,7 +31,7 @@ namespace KJS {
public:
DOMAbstractView(ExecState *, DOM::AbstractView av) : abstractView(av) {}
~DOMAbstractView();
- virtual Value tryGet(ExecState *exec,const UString &p) const;
+ virtual Value tryGet(ExecState *exec,const Identifier &p) const;
// no put - all read-only
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index 378e08b..2666972 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -64,7 +64,7 @@ namespace KJS {
public:
History(ExecState *exec, KHTMLPart *p)
: ObjectImp(exec->interpreter()->builtinObjectPrototype()), part(p) { }
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
@@ -77,7 +77,7 @@ namespace KJS {
public:
FrameArray(ExecState *exec, KHTMLPart *p)
: ObjectImp(exec->interpreter()->builtinObjectPrototype()), part(p) { }
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
private:
QGuardedPtr<KHTMLPart> part;
};
@@ -120,7 +120,7 @@ const ClassInfo Screen::info = { "Screen", 0, &ScreenTable, 0 };
Screen::Screen(ExecState *exec)
: ObjectImp(exec->interpreter()->builtinObjectPrototype()) {}
-Value Screen::get(ExecState *exec, const UString &p) const
+Value Screen::get(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Screen::get " << p.qstring() << endl;
@@ -339,7 +339,7 @@ void Window::mark()
loc->mark();
}
-bool Window::hasProperty(ExecState * /*exec*/, const UString &/*p*/) const
+bool Window::hasProperty(ExecState * /*exec*/, const Identifier &/*p*/) const
{
//fprintf( stderr, "Window::hasProperty: always saying true\n" );
@@ -354,7 +354,7 @@ UString Window::toString(ExecState *) const
return "[object Window]";
}
-Value Window::get(ExecState *exec, const UString &p) const
+Value Window::get(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Window("<<this<<")::get " << p.qstring() << endl;
@@ -688,7 +688,7 @@ Value Window::get(ExecState *exec, const UString &p) const
return Undefined();
}
-void Window::put(ExecState* exec, const UString &propertyName, const Value &value, int attr)
+void Window::put(ExecState* exec, const Identifier &propertyName, const Value &value, int attr)
{
// Called by an internal KJS call (e.g. InterpreterImp's constructor) ?
// If yes, save time and jump directly to ObjectImp.
@@ -843,7 +843,7 @@ bool Window::toBoolean(ExecState *) const
return !m_part.isNull();
}
-int Window::installTimeout(const UString &handler, int t, bool singleShot)
+int Window::installTimeout(const Identifier &handler, int t, bool singleShot)
{
return winq->installTimeout(handler, t, singleShot);
}
@@ -1452,7 +1452,7 @@ void WindowQObject::parentDestroyed()
scheduledActions.clear();
}
-int WindowQObject::installTimeout(const UString &handler, int t, bool singleShot)
+int WindowQObject::installTimeout(const Identifier &handler, int t, bool singleShot)
{
//kdDebug(6070) << "WindowQObject::installTimeout " << this << " " << handler.ascii() << endl;
int id = startTimer(t);
@@ -1520,7 +1520,7 @@ void WindowQObject::timeoutClose()
}
}
-Value FrameArray::get(ExecState *exec, const UString &p) const
+Value FrameArray::get(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "FrameArray::get " << p.qstring() << " part=" << (void*)part << endl;
@@ -1589,7 +1589,7 @@ Location::~Location()
//kdDebug(6070) << "Location::~Location " << this << " m_part=" << (void*)m_part << endl;
}
-Value Location::get(ExecState *exec, const UString &p) const
+Value Location::get(ExecState *exec, const Identifier &p) const
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Location::get " << p.qstring() << " m_part=" << (void*)m_part << endl;
@@ -1648,7 +1648,7 @@ Value Location::get(ExecState *exec, const UString &p) const
return Undefined();
}
-void Location::put(ExecState *exec, const UString &p, const Value &v, int attr)
+void Location::put(ExecState *exec, const Identifier &p, const Value &v, int attr)
{
#ifdef KJS_VERBOSE
kdDebug(6070) << "Location::put " << p.qstring() << " m_part=" << (void*)m_part << endl;
@@ -1759,7 +1759,7 @@ const ClassInfo History::info = { "History", 0, 0, 0 };
*/
IMPLEMENT_PROTOFUNC(HistoryFunc)
-Value History::get(ExecState *exec, const UString &p) const
+Value History::get(ExecState *exec, const Identifier &p) const
{
return lookupGet<HistoryFunc,History,ObjectImp>(exec,p,&HistoryTable,this);
}
@@ -1851,14 +1851,14 @@ Value HistoryFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
const ClassInfo Konqueror::info = { "Konqueror", 0, 0, 0 };
-bool Konqueror::hasProperty(ExecState *exec, const UString &p) const
+bool Konqueror::hasProperty(ExecState *exec, const Identifier &p) const
{
if ( p.qstring().startsWith( "goHistory" ) ) return false;
return true;
}
-Value Konqueror::get(ExecState *exec, const UString &p) const
+Value Konqueror::get(ExecState *exec, const Identifier &p) const
{
if ( p == "goHistory" || part->url().protocol() != "http" || part->url().host() != "localhost" )
return Undefined();
diff --git a/WebCore/khtml/ecma/kjs_window.h b/WebCore/khtml/ecma/kjs_window.h
index 74ba384..027e3ce 100644
--- a/WebCore/khtml/ecma/kjs_window.h
+++ b/WebCore/khtml/ecma/kjs_window.h
@@ -48,7 +48,7 @@ namespace KJS {
Height, Width, ColorDepth, PixelDepth, AvailLeft, AvailTop, AvailHeight,
AvailWidth
};
- virtual Value get(ExecState *exec, const UString &propertyName) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
Value getValueProperty(ExecState *exec, int token) const;
private:
KHTMLView *view;
@@ -83,11 +83,11 @@ namespace KJS {
static Window *retrieveActive(ExecState *exec);
QGuardedPtr<KHTMLPart> part() const { return m_part; }
virtual void mark();
- virtual bool hasProperty(ExecState *exec, const UString &p) const;
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual void put(ExecState *exec, const UString &propertyName, const Value &value, int attr = None);
+ virtual bool hasProperty(ExecState *exec, const Identifier &p) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual void put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
virtual bool toBoolean(ExecState *exec) const;
- int installTimeout(const UString &handler, int t, bool singleShot);
+ int installTimeout(const Identifier &handler, int t, bool singleShot);
void clearTimeout(int timerId);
void scheduleClose();
bool isSafeScript(ExecState *exec) const;
@@ -152,7 +152,7 @@ namespace KJS {
public:
WindowQObject(Window *w);
~WindowQObject();
- int installTimeout(const UString &handler, int t, bool singleShot);
+ int installTimeout(const Identifier &handler, int t, bool singleShot);
int installTimeout(const Value &func, List args, int t, bool singleShot);
void clearTimeout(int timerId, bool delAction = true);
public slots:
@@ -170,8 +170,8 @@ namespace KJS {
class Location : public ObjectImp {
public:
~Location();
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual void put(ExecState *exec, const UString &propertyName, const Value &value, int attr = None);
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual void put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
virtual Value toPrimitive(ExecState *exec, Type preferred) const;
virtual UString toString(ExecState *exec) const;
enum { Hash, Href, Hostname, Host, Pathname, Port, Protocol, Search, EqualEqual,
@@ -190,8 +190,8 @@ namespace KJS {
friend class KonquerorFunc;
public:
Konqueror(KHTMLPart *p) : part(p) { }
- virtual Value get(ExecState *exec, const UString &propertyName) const;
- virtual bool hasProperty(ExecState *exec, const UString &p) const;
+ virtual Value get(ExecState *exec, const Identifier &propertyName) const;
+ virtual bool hasProperty(ExecState *exec, const Identifier &p) const;
virtual UString toString(ExecState *exec) const;
virtual const ClassInfo* classInfo() const { return &info; }
static const ClassInfo info;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list