1 {% from "macros.tmpl" import license %}
6 #include "{{namespace}}{{suffix}}Names.h"
8 #include "wtf/StdLibExtras.h"
11 {% for entry in in_files|sort %}
16 namespace {{namespace}}Names {
20 const int k{{suffix}}NameCount = {{entries|length}};
22 void* {{suffix}}NamesStorage[k{{suffix}}NameCount * ((sizeof(AtomicString) + sizeof(void *) - 1) / sizeof(void *))];
24 {% for entry in entries|sort(attribute='name', case_sensitive=True) %}
25 {% filter enable_conditional(entry.Conditional) %}
26 const AtomicString& {{entry|symbol}} = reinterpret_cast<AtomicString*>(&{{suffix}}NamesStorage)[{{loop.index0}}];
38 static const NameEntry kNames[] = {
39 {% for entry in entries|sort(attribute='name', case_sensitive=True) %}
40 { "{{entry|cpp_name}}", {{entry|cpp_name|hash}}, {{entry|cpp_name|length}} },
44 for (size_t i = 0; i < WTF_ARRAY_LENGTH(kNames); i++) {
45 StringImpl* stringImpl = StringImpl::createStatic(kNames[i].name, kNames[i].length, kNames[i].hash);
46 void* address = reinterpret_cast<AtomicString*>(&{{suffix}}NamesStorage) + i;
47 new (address) AtomicString(stringImpl);
51 } // {{namespace}}Names