1 #include "xmlvm.h"
2 
3 #include "java_io_FileDescriptor.h"
4 
5 #define XMLVM_CURRENT_CLASS_NAME FileDescriptor
6 #define XMLVM_CURRENT_PKG_CLASS_NAME java_io_FileDescriptor
7 
8 __TIB_DEFINITION_java_io_FileDescriptor __TIB_java_io_FileDescriptor = {
9     0, // classInitializationBegan
10     0, // classInitialized
11     -1, // initializerThreadId
12     __INIT_java_io_FileDescriptor, // classInitializer
13     "java.io.FileDescriptor", // className
14     "java.io", // package
15     JAVA_NULL, // enclosingClassName
16     JAVA_NULL, // enclosingMethodName
17     JAVA_NULL, // signature
18     (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
19     sizeof(java_io_FileDescriptor), // sizeInstance
20     XMLVM_TYPE_CLASS};
21 
22 JAVA_OBJECT __CLASS_java_io_FileDescriptor;
23 JAVA_OBJECT __CLASS_java_io_FileDescriptor_1ARRAY;
24 JAVA_OBJECT __CLASS_java_io_FileDescriptor_2ARRAY;
25 JAVA_OBJECT __CLASS_java_io_FileDescriptor_3ARRAY;
26 //XMLVM_BEGIN_IMPLEMENTATION
27 //XMLVM_END_IMPLEMENTATION
28 
29 static JAVA_OBJECT _STATIC_java_io_FileDescriptor_in;
30 static JAVA_OBJECT _STATIC_java_io_FileDescriptor_out;
31 static JAVA_OBJECT _STATIC_java_io_FileDescriptor_err;
32 
33 #include "xmlvm-reflection.h"
34 
35 static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
36 };
37 
38 static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
39 };
40 
constructor_dispatcher(JAVA_OBJECT constructor,JAVA_OBJECT arguments)41 static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
42 {
43     XMLVM_NOT_IMPLEMENTED();
44 }
45 
46 static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
47 };
48 
method_dispatcher(JAVA_OBJECT method,JAVA_OBJECT receiver,JAVA_OBJECT arguments)49 static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
50 {
51     XMLVM_NOT_IMPLEMENTED();
52 }
53 
__INIT_java_io_FileDescriptor()54 void __INIT_java_io_FileDescriptor()
55 {
56     staticInitializerLock(&__TIB_java_io_FileDescriptor);
57 
58     // While the static initializer mutex is locked, locally store the value of
59     // whether class initialization began or not
60     int initBegan = __TIB_java_io_FileDescriptor.classInitializationBegan;
61 
62     // Whether or not class initialization had already began, it has begun now
63     __TIB_java_io_FileDescriptor.classInitializationBegan = 1;
64 
65     staticInitializerUnlock(&__TIB_java_io_FileDescriptor);
66 
67     JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
68     if (initBegan) {
69         if (__TIB_java_io_FileDescriptor.initializerThreadId != curThreadId) {
70             // Busy wait until the other thread finishes initializing this class
71             while (!__TIB_java_io_FileDescriptor.classInitialized) {
72                 // do nothing
73             }
74         }
75     } else {
76         __TIB_java_io_FileDescriptor.initializerThreadId = curThreadId;
77         XMLVM_CLASS_USED("java.io.FileDescriptor")
78         __INIT_IMPL_java_io_FileDescriptor();
79     }
80 }
81 
__INIT_IMPL_java_io_FileDescriptor()82 void __INIT_IMPL_java_io_FileDescriptor()
83 {
84     // Initialize base class if necessary
85     XMLVM_CLASS_INIT(java_lang_Object)
86     __TIB_java_io_FileDescriptor.newInstanceFunc = __NEW_INSTANCE_java_io_FileDescriptor;
87     // Copy vtable from base class
88     XMLVM_MEMCPY(__TIB_java_io_FileDescriptor.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
89     // Initialize vtable for this class
90     // Initialize interface information
91     __TIB_java_io_FileDescriptor.numImplementedInterfaces = 0;
92     __TIB_java_io_FileDescriptor.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
93 
94     // Initialize interfaces if necessary and assign tib to implementedInterfaces
95     _STATIC_java_io_FileDescriptor_in = (java_io_FileDescriptor*) JAVA_NULL;
96     _STATIC_java_io_FileDescriptor_out = (java_io_FileDescriptor*) JAVA_NULL;
97     _STATIC_java_io_FileDescriptor_err = (java_io_FileDescriptor*) JAVA_NULL;
98 
99     __TIB_java_io_FileDescriptor.declaredFields = &__field_reflection_data[0];
100     __TIB_java_io_FileDescriptor.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
101     __TIB_java_io_FileDescriptor.constructorDispatcherFunc = constructor_dispatcher;
102     __TIB_java_io_FileDescriptor.declaredConstructors = &__constructor_reflection_data[0];
103     __TIB_java_io_FileDescriptor.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
104     __TIB_java_io_FileDescriptor.methodDispatcherFunc = method_dispatcher;
105     __TIB_java_io_FileDescriptor.declaredMethods = &__method_reflection_data[0];
106     __TIB_java_io_FileDescriptor.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
107     __CLASS_java_io_FileDescriptor = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_FileDescriptor);
108     __TIB_java_io_FileDescriptor.clazz = __CLASS_java_io_FileDescriptor;
109     __TIB_java_io_FileDescriptor.baseType = JAVA_NULL;
110     __CLASS_java_io_FileDescriptor_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor);
111     __CLASS_java_io_FileDescriptor_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor_1ARRAY);
112     __CLASS_java_io_FileDescriptor_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor_2ARRAY);
113     java_io_FileDescriptor___CLINIT_();
114     //XMLVM_BEGIN_WRAPPER[__INIT_java_io_FileDescriptor]
115     //XMLVM_END_WRAPPER
116 
117     __TIB_java_io_FileDescriptor.classInitialized = 1;
118 }
119 
__DELETE_java_io_FileDescriptor(void * me,void * client_data)120 void __DELETE_java_io_FileDescriptor(void* me, void* client_data)
121 {
122     //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_FileDescriptor]
123     //XMLVM_END_WRAPPER
124 }
125 
__INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(JAVA_OBJECT me,int derivedClassWillRegisterFinalizer)126 void __INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
127 {
128     __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
129     ((java_io_FileDescriptor*) me)->fields.java_io_FileDescriptor.descriptor_ = 0;
130     ((java_io_FileDescriptor*) me)->fields.java_io_FileDescriptor.readOnly_ = 0;
131     //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_FileDescriptor]
132     //XMLVM_END_WRAPPER
133 }
134 
__NEW_java_io_FileDescriptor()135 JAVA_OBJECT __NEW_java_io_FileDescriptor()
136 {    XMLVM_CLASS_INIT(java_io_FileDescriptor)
137 java_io_FileDescriptor* me = (java_io_FileDescriptor*) XMLVM_MALLOC(sizeof(java_io_FileDescriptor));
138     me->tib = &__TIB_java_io_FileDescriptor;
139     __INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(me, 0);
140     //XMLVM_BEGIN_WRAPPER[__NEW_java_io_FileDescriptor]
141     //XMLVM_END_WRAPPER
142     return me;
143 }
144 
__NEW_INSTANCE_java_io_FileDescriptor()145 JAVA_OBJECT __NEW_INSTANCE_java_io_FileDescriptor()
146 {
147     JAVA_OBJECT me = JAVA_NULL;
148     me = __NEW_java_io_FileDescriptor();
149     java_io_FileDescriptor___INIT___(me);
150     return me;
151 }
152 
java_io_FileDescriptor_GET_in()153 JAVA_OBJECT java_io_FileDescriptor_GET_in()
154 {
155     XMLVM_CLASS_INIT(java_io_FileDescriptor)
156     return _STATIC_java_io_FileDescriptor_in;
157 }
158 
java_io_FileDescriptor_PUT_in(JAVA_OBJECT v)159 void java_io_FileDescriptor_PUT_in(JAVA_OBJECT v)
160 {
161     XMLVM_CLASS_INIT(java_io_FileDescriptor)
162 _STATIC_java_io_FileDescriptor_in = v;
163 }
164 
java_io_FileDescriptor_GET_out()165 JAVA_OBJECT java_io_FileDescriptor_GET_out()
166 {
167     XMLVM_CLASS_INIT(java_io_FileDescriptor)
168     return _STATIC_java_io_FileDescriptor_out;
169 }
170 
java_io_FileDescriptor_PUT_out(JAVA_OBJECT v)171 void java_io_FileDescriptor_PUT_out(JAVA_OBJECT v)
172 {
173     XMLVM_CLASS_INIT(java_io_FileDescriptor)
174 _STATIC_java_io_FileDescriptor_out = v;
175 }
176 
java_io_FileDescriptor_GET_err()177 JAVA_OBJECT java_io_FileDescriptor_GET_err()
178 {
179     XMLVM_CLASS_INIT(java_io_FileDescriptor)
180     return _STATIC_java_io_FileDescriptor_err;
181 }
182 
java_io_FileDescriptor_PUT_err(JAVA_OBJECT v)183 void java_io_FileDescriptor_PUT_err(JAVA_OBJECT v)
184 {
185     XMLVM_CLASS_INIT(java_io_FileDescriptor)
186 _STATIC_java_io_FileDescriptor_err = v;
187 }
188 
java_io_FileDescriptor___CLINIT_()189 void java_io_FileDescriptor___CLINIT_()
190 {
191     //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor___CLINIT___]
192     XMLVM_ENTER_METHOD("java.io.FileDescriptor", "<clinit>", "?")
193     XMLVMElem _r0;
194     XMLVMElem _r1;
195     XMLVMElem _r2;
196     XMLVM_SOURCE_POSITION("FileDescriptor.java", 43)
197     _r0.o = __NEW_java_io_FileDescriptor();
198     XMLVM_CHECK_NPE(0)
199     java_io_FileDescriptor___INIT___(_r0.o);
200     java_io_FileDescriptor_PUT_in( _r0.o);
201     XMLVM_SOURCE_POSITION("FileDescriptor.java", 48)
202     _r0.o = __NEW_java_io_FileDescriptor();
203     XMLVM_CHECK_NPE(0)
204     java_io_FileDescriptor___INIT___(_r0.o);
205     java_io_FileDescriptor_PUT_out( _r0.o);
206     XMLVM_SOURCE_POSITION("FileDescriptor.java", 53)
207     _r0.o = __NEW_java_io_FileDescriptor();
208     XMLVM_CHECK_NPE(0)
209     java_io_FileDescriptor___INIT___(_r0.o);
210     java_io_FileDescriptor_PUT_err( _r0.o);
211     XMLVM_SOURCE_POSITION("FileDescriptor.java", 66)
212     _r0.o = java_io_FileDescriptor_GET_in();
213     _r1.l = 0;
214     XMLVM_CHECK_NPE(0)
215     ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
216     XMLVM_SOURCE_POSITION("FileDescriptor.java", 67)
217     _r0.o = java_io_FileDescriptor_GET_out();
218     _r1.l = 1;
219     XMLVM_CHECK_NPE(0)
220     ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
221     XMLVM_SOURCE_POSITION("FileDescriptor.java", 68)
222     _r0.o = java_io_FileDescriptor_GET_err();
223     _r1.l = 2;
224     XMLVM_CHECK_NPE(0)
225     ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
226     XMLVM_SOURCE_POSITION("FileDescriptor.java", 70)
227     java_io_FileDescriptor_oneTimeInitialization__();
228     XMLVM_SOURCE_POSITION("FileDescriptor.java", 38)
229     XMLVM_EXIT_METHOD()
230     return;
231     //XMLVM_END_WRAPPER
232 }
233 
234 //XMLVM_NATIVE[void java_io_FileDescriptor_oneTimeInitialization__()]
235 
java_io_FileDescriptor___INIT___(JAVA_OBJECT me)236 void java_io_FileDescriptor___INIT___(JAVA_OBJECT me)
237 {
238     //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor___INIT___]
239     XMLVM_ENTER_METHOD("java.io.FileDescriptor", "<init>", "?")
240     XMLVMElem _r0;
241     XMLVMElem _r1;
242     XMLVMElem _r2;
243     _r2.o = me;
244     XMLVM_SOURCE_POSITION("FileDescriptor.java", 78)
245     XMLVM_CHECK_NPE(2)
246     java_lang_Object___INIT___(_r2.o);
247     XMLVM_SOURCE_POSITION("FileDescriptor.java", 59)
248     _r0.l = -1;
249     XMLVM_CHECK_NPE(2)
250     ((java_io_FileDescriptor*) _r2.o)->fields.java_io_FileDescriptor.descriptor_ = _r0.l;
251     XMLVM_SOURCE_POSITION("FileDescriptor.java", 61)
252     _r0.i = 0;
253     XMLVM_CHECK_NPE(2)
254     ((java_io_FileDescriptor*) _r2.o)->fields.java_io_FileDescriptor.readOnly_ = _r0.i;
255     XMLVM_SOURCE_POSITION("FileDescriptor.java", 79)
256     XMLVM_EXIT_METHOD()
257     return;
258     //XMLVM_END_WRAPPER
259 }
260 
java_io_FileDescriptor_sync__(JAVA_OBJECT me)261 void java_io_FileDescriptor_sync__(JAVA_OBJECT me)
262 {
263     //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor_sync__]
264     XMLVM_ENTER_METHOD("java.io.FileDescriptor", "sync", "?")
265     XMLVMElem _r0;
266     XMLVMElem _r1;
267     _r1.o = me;
268     XMLVM_SOURCE_POSITION("FileDescriptor.java", 90)
269     XMLVM_CHECK_NPE(1)
270     _r0.i = ((java_io_FileDescriptor*) _r1.o)->fields.java_io_FileDescriptor.readOnly_;
271     if (_r0.i != 0) goto label7;
272     XMLVM_SOURCE_POSITION("FileDescriptor.java", 91)
273     XMLVM_CHECK_NPE(1)
274     java_io_FileDescriptor_syncImpl__(_r1.o);
275     label7:;
276     XMLVM_SOURCE_POSITION("FileDescriptor.java", 93)
277     XMLVM_EXIT_METHOD()
278     return;
279     //XMLVM_END_WRAPPER
280 }
281 
282 //XMLVM_NATIVE[void java_io_FileDescriptor_syncImpl__(JAVA_OBJECT me)]
283 
java_io_FileDescriptor_valid__(JAVA_OBJECT me)284 JAVA_BOOLEAN java_io_FileDescriptor_valid__(JAVA_OBJECT me)
285 {
286     //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor_valid__]
287     XMLVM_ENTER_METHOD("java.io.FileDescriptor", "valid", "?")
288     XMLVMElem _r0;
289     XMLVMElem _r1;
290     XMLVMElem _r2;
291     XMLVMElem _r3;
292     XMLVMElem _r4;
293     _r4.o = me;
294     XMLVM_SOURCE_POSITION("FileDescriptor.java", 104)
295     XMLVM_CHECK_NPE(4)
296     _r0.l = ((java_io_FileDescriptor*) _r4.o)->fields.java_io_FileDescriptor.descriptor_;
297     _r2.l = -1;
298     _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
299     if (_r0.i == 0) goto label10;
300     _r0.i = 1;
301     label9:;
302     XMLVM_EXIT_METHOD()
303     return _r0.i;
304     label10:;
305     _r0.i = 0;
306     goto label9;
307     //XMLVM_END_WRAPPER
308 }
309 
310