1 #include "xmlvm.h"
2 #include "java_lang_NullPointerException.h"
3 #include "java_lang_Object.h"
4 #include "java_lang_String.h"
5 #include "java_lang_StringBuilder.h"
6
7 #include "java_util_Hashtable_Entry.h"
8
9 #define XMLVM_CURRENT_CLASS_NAME Hashtable_Entry
10 #define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Hashtable_Entry
11
12 __TIB_DEFINITION_java_util_Hashtable_Entry __TIB_java_util_Hashtable_Entry = {
13 0, // classInitializationBegan
14 0, // classInitialized
15 -1, // initializerThreadId
16 __INIT_java_util_Hashtable_Entry, // classInitializer
17 "java.util.Hashtable$Entry", // className
18 "java.util", // package
19 JAVA_NULL, // enclosingClassName
20 JAVA_NULL, // enclosingMethodName
21 "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/MapEntry<TK;TV;>;", // signature
22 (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_MapEntry, // extends
23 sizeof(java_util_Hashtable_Entry), // sizeInstance
24 XMLVM_TYPE_CLASS};
25
26 JAVA_OBJECT __CLASS_java_util_Hashtable_Entry;
27 JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_1ARRAY;
28 JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_2ARRAY;
29 JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_3ARRAY;
30 //XMLVM_BEGIN_IMPLEMENTATION
31 //XMLVM_END_IMPLEMENTATION
32
33
34 #include "xmlvm-reflection.h"
35
36 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
37 };
38
39 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
40 };
41
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)42 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
43 {
44 XMLVM_NOT_IMPLEMENTED();
45 }
46
47 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
48 };
49
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)50 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
51 {
52 XMLVM_NOT_IMPLEMENTED();
53 }
54
__INIT_java_util_Hashtable_Entry()55 void __INIT_java_util_Hashtable_Entry()
56 {
57 staticInitializerLock(&__TIB_java_util_Hashtable_Entry);
58
59 // While the static initializer mutex is locked, locally store the value of
60 // whether class initialization began or not
61 int initBegan = __TIB_java_util_Hashtable_Entry.classInitializationBegan;
62
63 // Whether or not class initialization had already began, it has begun now
64 __TIB_java_util_Hashtable_Entry.classInitializationBegan = 1;
65
66 staticInitializerUnlock(&__TIB_java_util_Hashtable_Entry);
67
68 JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
69 if (initBegan) {
70 if (__TIB_java_util_Hashtable_Entry.initializerThreadId != curThreadId) {
71 // Busy wait until the other thread finishes initializing this class
72 while (!__TIB_java_util_Hashtable_Entry.classInitialized) {
73 // do nothing
74 }
75 }
76 } else {
77 __TIB_java_util_Hashtable_Entry.initializerThreadId = curThreadId;
78 XMLVM_CLASS_USED("java.util.Hashtable$Entry")
79 __INIT_IMPL_java_util_Hashtable_Entry();
80 }
81 }
82
__INIT_IMPL_java_util_Hashtable_Entry()83 void __INIT_IMPL_java_util_Hashtable_Entry()
84 {
85 // Initialize base class if necessary
86 XMLVM_CLASS_INIT(java_util_MapEntry)
87 __TIB_java_util_Hashtable_Entry.newInstanceFunc = __NEW_INSTANCE_java_util_Hashtable_Entry;
88 // Copy vtable from base class
89 XMLVM_MEMCPY(__TIB_java_util_Hashtable_Entry.vtable, __TIB_java_util_MapEntry.vtable, sizeof(__TIB_java_util_MapEntry.vtable));
90 // Initialize vtable for this class
91 __TIB_java_util_Hashtable_Entry.vtable[0] = (VTABLE_PTR) &java_util_Hashtable_Entry_clone__;
92 __TIB_java_util_Hashtable_Entry.vtable[8] = (VTABLE_PTR) &java_util_Hashtable_Entry_setValue___java_lang_Object;
93 __TIB_java_util_Hashtable_Entry.vtable[5] = (VTABLE_PTR) &java_util_Hashtable_Entry_toString__;
94 // Initialize interface information
95 __TIB_java_util_Hashtable_Entry.numImplementedInterfaces = 2;
96 __TIB_java_util_Hashtable_Entry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
97
98 // Initialize interfaces if necessary and assign tib to implementedInterfaces
99
100 XMLVM_CLASS_INIT(java_lang_Cloneable)
101
102 __TIB_java_util_Hashtable_Entry.implementedInterfaces[0][0] = &__TIB_java_lang_Cloneable;
103
104 XMLVM_CLASS_INIT(java_util_Map_Entry)
105
106 __TIB_java_util_Hashtable_Entry.implementedInterfaces[0][1] = &__TIB_java_util_Map_Entry;
107 // Initialize itable for this class
108 __TIB_java_util_Hashtable_Entry.itableBegin = &__TIB_java_util_Hashtable_Entry.itable[0];
109 __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_Hashtable_Entry.vtable[1];
110 __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_Hashtable_Entry.vtable[6];
111 __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_Hashtable_Entry.vtable[7];
112 __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_Hashtable_Entry.vtable[4];
113 __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_Hashtable_Entry.vtable[8];
114
115
116 __TIB_java_util_Hashtable_Entry.declaredFields = &__field_reflection_data[0];
117 __TIB_java_util_Hashtable_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
118 __TIB_java_util_Hashtable_Entry.constructorDispatcherFunc = constructor_dispatcher;
119 __TIB_java_util_Hashtable_Entry.declaredConstructors = &__constructor_reflection_data[0];
120 __TIB_java_util_Hashtable_Entry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
121 __TIB_java_util_Hashtable_Entry.methodDispatcherFunc = method_dispatcher;
122 __TIB_java_util_Hashtable_Entry.declaredMethods = &__method_reflection_data[0];
123 __TIB_java_util_Hashtable_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
124 __CLASS_java_util_Hashtable_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Hashtable_Entry);
125 __TIB_java_util_Hashtable_Entry.clazz = __CLASS_java_util_Hashtable_Entry;
126 __TIB_java_util_Hashtable_Entry.baseType = JAVA_NULL;
127 __CLASS_java_util_Hashtable_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry);
128 __CLASS_java_util_Hashtable_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry_1ARRAY);
129 __CLASS_java_util_Hashtable_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry_2ARRAY);
130 //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Hashtable_Entry]
131 //XMLVM_END_WRAPPER
132
133 __TIB_java_util_Hashtable_Entry.classInitialized = 1;
134 }
135
__DELETE_java_util_Hashtable_Entry(void * me,void * client_data)136 void __DELETE_java_util_Hashtable_Entry(void* me, void* client_data)
137 {
138 //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Hashtable_Entry]
139 //XMLVM_END_WRAPPER
140 }
141
__INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)142 void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
143 {
144 __INIT_INSTANCE_MEMBERS_java_util_MapEntry(me, 0 || derivedClassWillRegisterFinalizer);
145 ((java_util_Hashtable_Entry*) me)->fields.java_util_Hashtable_Entry.next_ = (java_util_Hashtable_Entry*) JAVA_NULL;
146 ((java_util_Hashtable_Entry*) me)->fields.java_util_Hashtable_Entry.hashcode_ = 0;
147 //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry]
148 //XMLVM_END_WRAPPER
149 }
150
__NEW_java_util_Hashtable_Entry()151 JAVA_OBJECT __NEW_java_util_Hashtable_Entry()
152 { XMLVM_CLASS_INIT(java_util_Hashtable_Entry)
153 java_util_Hashtable_Entry* me = (java_util_Hashtable_Entry*) XMLVM_MALLOC(sizeof(java_util_Hashtable_Entry));
154 me->tib = &__TIB_java_util_Hashtable_Entry;
155 __INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(me, 0);
156 //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Hashtable_Entry]
157 //XMLVM_END_WRAPPER
158 return me;
159 }
160
__NEW_INSTANCE_java_util_Hashtable_Entry()161 JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_Entry()
162 {
163 JAVA_OBJECT me = JAVA_NULL;
164 return me;
165 }
166
java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_OBJECT n2)167 void java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
168 {
169 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object]
170 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "<init>", "?")
171 XMLVMElem _r0;
172 XMLVMElem _r1;
173 XMLVMElem _r2;
174 XMLVMElem _r3;
175 _r1.o = me;
176 _r2.o = n1;
177 _r3.o = n2;
178 XMLVM_SOURCE_POSITION("Hashtable.java", 95)
179 XMLVM_CHECK_NPE(1)
180 java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
181 XMLVM_SOURCE_POSITION("Hashtable.java", 96)
182 //java_lang_Object_hashCode__[4]
183 XMLVM_CHECK_NPE(2)
184 _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
185 XMLVM_CHECK_NPE(1)
186 ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.hashcode_ = _r0.i;
187 XMLVM_SOURCE_POSITION("Hashtable.java", 97)
188 XMLVM_EXIT_METHOD()
189 return;
190 //XMLVM_END_WRAPPER
191 }
192
java_util_Hashtable_Entry_clone__(JAVA_OBJECT me)193 JAVA_OBJECT java_util_Hashtable_Entry_clone__(JAVA_OBJECT me)
194 {
195 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_clone__]
196 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "clone", "?")
197 XMLVMElem _r0;
198 XMLVMElem _r1;
199 XMLVMElem _r2;
200 _r2.o = me;
201 XMLVM_SOURCE_POSITION("Hashtable.java", 102)
202 XMLVM_CHECK_NPE(2)
203 _r0.o = java_util_MapEntry_clone__(_r2.o);
204 _r0.o = _r0.o;
205 XMLVM_SOURCE_POSITION("Hashtable.java", 103)
206 XMLVM_CHECK_NPE(2)
207 _r1.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
208 if (_r1.o == JAVA_NULL) goto label20;
209 XMLVM_SOURCE_POSITION("Hashtable.java", 104)
210 XMLVM_CHECK_NPE(2)
211 _r1.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
212 //java_util_Hashtable_Entry_clone__[0]
213 XMLVM_CHECK_NPE(1)
214 _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable_Entry*) _r1.o)->tib->vtable[0])(_r1.o);
215 _r2.o = _r2.o;
216 XMLVM_CHECK_NPE(0)
217 ((java_util_Hashtable_Entry*) _r0.o)->fields.java_util_Hashtable_Entry.next_ = _r2.o;
218 label20:;
219 XMLVM_SOURCE_POSITION("Hashtable.java", 106)
220 XMLVM_EXIT_METHOD()
221 return _r0.o;
222 //XMLVM_END_WRAPPER
223 }
224
java_util_Hashtable_Entry_setValue___java_lang_Object(JAVA_OBJECT me,JAVA_OBJECT n1)225 JAVA_OBJECT java_util_Hashtable_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
226 {
227 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_setValue___java_lang_Object]
228 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "setValue", "?")
229 XMLVMElem _r0;
230 XMLVMElem _r1;
231 XMLVMElem _r2;
232 _r1.o = me;
233 _r2.o = n1;
234 XMLVM_SOURCE_POSITION("Hashtable.java", 111)
235 if (_r2.o != JAVA_NULL) goto label8;
236 XMLVM_SOURCE_POSITION("Hashtable.java", 112)
237 _r0.o = __NEW_java_lang_NullPointerException();
238 XMLVM_CHECK_NPE(0)
239 java_lang_NullPointerException___INIT___(_r0.o);
240 XMLVM_THROW_CUSTOM(_r0.o)
241 label8:;
242 XMLVM_SOURCE_POSITION("Hashtable.java", 114)
243 XMLVM_CHECK_NPE(1)
244 _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
245 XMLVM_SOURCE_POSITION("Hashtable.java", 115)
246 XMLVM_CHECK_NPE(1)
247 ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_ = _r2.o;
248 XMLVM_SOURCE_POSITION("Hashtable.java", 116)
249 XMLVM_EXIT_METHOD()
250 return _r0.o;
251 //XMLVM_END_WRAPPER
252 }
253
java_util_Hashtable_Entry_getKeyHash__(JAVA_OBJECT me)254 JAVA_INT java_util_Hashtable_Entry_getKeyHash__(JAVA_OBJECT me)
255 {
256 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_getKeyHash__]
257 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "getKeyHash", "?")
258 XMLVMElem _r0;
259 XMLVMElem _r1;
260 _r1.o = me;
261 XMLVM_SOURCE_POSITION("Hashtable.java", 120)
262 XMLVM_CHECK_NPE(1)
263 _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
264 //java_lang_Object_hashCode__[4]
265 XMLVM_CHECK_NPE(0)
266 _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[4])(_r0.o);
267 XMLVM_EXIT_METHOD()
268 return _r0.i;
269 //XMLVM_END_WRAPPER
270 }
271
java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(JAVA_OBJECT me,JAVA_OBJECT n1,JAVA_INT n2)272 JAVA_BOOLEAN java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
273 {
274 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_equalsKey___java_lang_Object_int]
275 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "equalsKey", "?")
276 XMLVMElem _r0;
277 XMLVMElem _r1;
278 XMLVMElem _r2;
279 XMLVMElem _r3;
280 XMLVMElem _r4;
281 _r2.o = me;
282 _r3.o = n1;
283 _r4.i = n2;
284 XMLVM_SOURCE_POSITION("Hashtable.java", 124)
285 XMLVM_CHECK_NPE(2)
286 _r0.i = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.hashcode_;
287 //java_lang_Object_hashCode__[4]
288 XMLVM_CHECK_NPE(3)
289 _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[4])(_r3.o);
290 if (_r0.i != _r1.i) goto label18;
291 XMLVM_CHECK_NPE(2)
292 _r0.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
293 //java_lang_Object_equals___java_lang_Object[1]
294 XMLVM_CHECK_NPE(0)
295 _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r3.o);
296 if (_r0.i == 0) goto label18;
297 _r0.i = 1;
298 label17:;
299 XMLVM_EXIT_METHOD()
300 return _r0.i;
301 label18:;
302 _r0.i = 0;
303 goto label17;
304 //XMLVM_END_WRAPPER
305 }
306
java_util_Hashtable_Entry_toString__(JAVA_OBJECT me)307 JAVA_OBJECT java_util_Hashtable_Entry_toString__(JAVA_OBJECT me)
308 {
309 //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_toString__]
310 XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "toString", "?")
311 XMLVMElem _r0;
312 XMLVMElem _r1;
313 XMLVMElem _r2;
314 _r2.o = me;
315 XMLVM_SOURCE_POSITION("Hashtable.java", 129)
316 _r0.o = __NEW_java_lang_StringBuilder();
317 XMLVM_CHECK_NPE(0)
318 java_lang_StringBuilder___INIT___(_r0.o);
319 XMLVM_CHECK_NPE(2)
320 _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
321 XMLVM_CHECK_NPE(0)
322 _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
323 // "="
324 _r1.o = xmlvm_create_java_string_from_pool(648);
325 XMLVM_CHECK_NPE(0)
326 _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
327 XMLVM_CHECK_NPE(2)
328 _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
329 XMLVM_CHECK_NPE(0)
330 _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
331 //java_lang_StringBuilder_toString__[5]
332 XMLVM_CHECK_NPE(0)
333 _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
334 XMLVM_EXIT_METHOD()
335 return _r0.o;
336 //XMLVM_END_WRAPPER
337 }
338
339