|
1 /* |
|
2 * Copyright (C) 2003, 2007, 2009 Apple Inc. All rights reserved. |
|
3 * |
|
4 * This library is free software; you can redistribute it and/or |
|
5 * modify it under the terms of the GNU Library General Public |
|
6 * License as published by the Free Software Foundation; either |
|
7 * version 2 of the License, or (at your option) any later version. |
|
8 * |
|
9 * This library is distributed in the hope that it will be useful, |
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
12 * Library General Public License for more details. |
|
13 * |
|
14 * You should have received a copy of the GNU Library General Public License |
|
15 * along with this library; see the file COPYING.LIB. If not, write to |
|
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
|
17 * Boston, MA 02110-1301, USA. |
|
18 * |
|
19 */ |
|
20 |
|
21 #ifndef CommonIdentifiers_h |
|
22 #define CommonIdentifiers_h |
|
23 |
|
24 #include "Identifier.h" |
|
25 #include <wtf/Noncopyable.h> |
|
26 |
|
27 // MarkedArgumentBuffer of property names, passed to a macro so we can do set them up various |
|
28 // ways without repeating the list. |
|
29 #define JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \ |
|
30 macro(__defineGetter__) \ |
|
31 macro(__defineSetter__) \ |
|
32 macro(__lookupGetter__) \ |
|
33 macro(__lookupSetter__) \ |
|
34 macro(apply) \ |
|
35 macro(arguments) \ |
|
36 macro(call) \ |
|
37 macro(callee) \ |
|
38 macro(caller) \ |
|
39 macro(compile) \ |
|
40 macro(configurable) \ |
|
41 macro(constructor) \ |
|
42 macro(create) \ |
|
43 macro(defineProperty) \ |
|
44 macro(defineProperties) \ |
|
45 macro(enumerable) \ |
|
46 macro(eval) \ |
|
47 macro(exec) \ |
|
48 macro(fromCharCode) \ |
|
49 macro(global) \ |
|
50 macro(get) \ |
|
51 macro(getPrototypeOf) \ |
|
52 macro(getOwnPropertyDescriptor) \ |
|
53 macro(getOwnPropertyNames) \ |
|
54 macro(hasOwnProperty) \ |
|
55 macro(ignoreCase) \ |
|
56 macro(index) \ |
|
57 macro(input) \ |
|
58 macro(isArray) \ |
|
59 macro(isPrototypeOf) \ |
|
60 macro(keys) \ |
|
61 macro(length) \ |
|
62 macro(message) \ |
|
63 macro(multiline) \ |
|
64 macro(name) \ |
|
65 macro(now) \ |
|
66 macro(parse) \ |
|
67 macro(propertyIsEnumerable) \ |
|
68 macro(prototype) \ |
|
69 macro(set) \ |
|
70 macro(source) \ |
|
71 macro(test) \ |
|
72 macro(toExponential) \ |
|
73 macro(toFixed) \ |
|
74 macro(toISOString) \ |
|
75 macro(toJSON) \ |
|
76 macro(toLocaleString) \ |
|
77 macro(toPrecision) \ |
|
78 macro(toString) \ |
|
79 macro(UTC) \ |
|
80 macro(value) \ |
|
81 macro(valueOf) \ |
|
82 macro(writable) \ |
|
83 macro(displayName) |
|
84 |
|
85 namespace JSC { |
|
86 |
|
87 class CommonIdentifiers : public Noncopyable { |
|
88 private: |
|
89 CommonIdentifiers(JSGlobalData*); |
|
90 friend class JSGlobalData; |
|
91 |
|
92 public: |
|
93 const Identifier nullIdentifier; |
|
94 const Identifier emptyIdentifier; |
|
95 const Identifier underscoreProto; |
|
96 const Identifier thisIdentifier; |
|
97 |
|
98 #define JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL(name) const Identifier name; |
|
99 JSC_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL) |
|
100 #undef JSC_IDENTIFIER_DECLARE_PROPERTY_NAME_GLOBAL |
|
101 }; |
|
102 |
|
103 } // namespace JSC |
|
104 |
|
105 #endif // CommonIdentifiers_h |