1 <?xml version="1.0" ?>
\r
2 <!-- native methods in the IBM Windows DK 1.3.1 -->
\r
4 <classloader name="Primordial">
\r
6 <package name="com/ibm/wala/model">
\r
7 <class name="SyntheticFactory">
\r
8 <method name="getObject"
\r
9 descriptor="()Ljava/lang/Object;" factory="true" static="true">
\r
10 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
11 <return value="x" />
\r
16 <package name="com/ibm/jvm">
\r
17 <class name="ExtendedSystem">
\r
18 <method name="isResettableJVM" descriptor="()Z"
\r
21 <method name="setJVMUnresettableConditionally"
\r
22 descriptor="(ILjava/lang/String;)V" static="true">
\r
24 <method name="resizeArray"
\r
25 descriptor="(ILjava/lang/Object;II)Ljava/lang/Object;"
\r
26 factory="true" static="true">
\r
27 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
28 <return value="x" />
\r
34 <package name="java/io">
\r
35 <class name="FileDescriptor">
\r
36 <method name="sync" descriptor="()V"></method>
\r
38 <class name="FileInputStream">
\r
39 <method name="available" descriptor="()I">
\r
40 <constant name="yes" type="int" value="1" />
\r
41 <constant name="no" type="int" value="0" />
\r
42 <return value="yes" />
\r
43 <return value="no" />
\r
44 <new def="x" class="Ljava/io/IOException" />
\r
47 <method name="close" descriptor="()V">
\r
48 <new def="x" class="Ljava/io/IOException" />
\r
52 descriptor="(Ljava/lang/String;)V">
\r
53 <new def="x" class="Ljava/io/IOException" />
\r
56 <method name="read" descriptor="()I">
\r
57 <constant name="yes" type="int" value="1" />
\r
58 <constant name="no" type="int" value="0" />
\r
59 <return value="yes" />
\r
60 <return value="no" />
\r
61 <new def="x" class="Ljava/io/IOException" />
\r
64 <method name="readBytes" descriptor="([BII)I">
\r
65 <constant name="yes" type="int" value="1" />
\r
66 <constant name="no" type="int" value="0" />
\r
67 <return value="yes" />
\r
68 <return value="no" />
\r
69 <new def="x" class="Ljava/io/IOException" />
\r
72 <method name="readBytes"
\r
73 descriptor="([BIILjava/io/FileDescriptor;)I">
\r
74 <constant name="yes" type="int" value="1" />
\r
75 <constant name="no" type="int" value="0" />
\r
76 <return value="yes" />
\r
77 <return value="no" />
\r
78 <new def="x" class="Ljava/io/IOException" />
\r
81 <method name="skip" descriptor="(J)J">
\r
82 <constant name="yes" type="int" value="1" />
\r
83 <constant name="no" type="int" value="0" />
\r
84 <return value="yes" />
\r
85 <return value="no" />
\r
86 <new def="x" class="Ljava/io/IOException" />
\r
90 <class name="FileOutputStream">
\r
91 <method name="close" descriptor="()V"></method>
\r
93 descriptor="(Ljava/lang/String;)V">
\r
95 <method name="openAppend"
\r
96 descriptor="(Ljava/lang/String;)V">
\r
98 <method name="write" descriptor="(I)V"></method>
\r
99 <method name="writeBytes" descriptor="([BII)V"></method>
\r
101 <class name="ObjectOutputStream">
\r
102 <method name="doublesToBytes" descriptor="([DI[BII)V"
\r
104 <method name="floatsToBytes" descriptor="([FI[BII)V"
\r
107 <class name="ObjectStreamClass">
\r
108 <method name="hasStaticInitializer"
\r
109 descriptor="(Ljava/lang/Class;)Z" static="true">
\r
112 <class name="RandomAccessFile">
\r
113 <method name="close" descriptor="()V"></method>
\r
114 <method name="getFilePointer" descriptor="()J"></method>
\r
115 <method name="length" descriptor="()J"></method>
\r
116 <method name="open"
\r
117 descriptor="(Ljava/lang/String;Z)V">
\r
119 <method name="open"
\r
120 descriptor="(Ljava/lang/String;I)V">
\r
122 <method name="read" descriptor="()I"></method>
\r
123 <method name="readBytes"
\r
124 descriptor="([BIILjava/io/FileDescriptor;)I">
\r
126 <method name="seek" descriptor="(J)V"></method>
\r
127 <method name="write" descriptor="(I)V"></method>
\r
128 <method name="writeBytes"
\r
129 descriptor="([BIILjava/io/FileDescriptor;)V">
\r
131 <method name="writeBytes" descriptor="([BII)V"></method>
\r
135 <package name="java/lang">
\r
136 <class name="Class">
\r
137 <method name="forName"
\r
138 descriptor="(Ljava/lang/String;)Ljava/lang/Class;"
\r
140 <new def="x" class="Ljava/lang/Class" />
\r
141 <return value="x" />
\r
143 class="Ljava/lang/ClassNotFoundException" />
\r
144 <throw value="y" />
\r
145 <new def="z" class="Ljava/lang/ClassFormatError" />
\r
146 <throw value="z" />
\r
148 <method name="forName0"
\r
149 descriptor="(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;"
\r
151 <new def="x" class="Ljava/lang/Class" />
\r
152 <return value="x" />
\r
154 class="Ljava/lang/ClassNotFoundException" />
\r
155 <throw value="y" />
\r
156 <new def="z" class="Ljava/lang/ClassFormatError" />
\r
157 <throw value="z" />
\r
159 <method name="forName1"
\r
160 descriptor="(Ljava/lang/String;)Ljava/lang/Class;" static="true">
\r
161 <new def="x" class="Ljava/lang/Class" />
\r
162 <return value="x" />
\r
164 class="Ljava/lang/ClassNotFoundException" />
\r
165 <throw value="y" />
\r
166 <new def="z" class="Ljava/lang/ClassFormatError" />
\r
167 <throw value="z" />
\r
169 <method name="getClassLoader0"
\r
170 descriptor="()Ljava/lang/ClassLoader;">
\r
171 <new def="x" class="Ljava/lang/ClassLoader" />
\r
172 <return value="x" />
\r
174 <method name="getComponentType"
\r
175 descriptor="()Ljava/lang/Class;">
\r
176 <new def="x" class="Ljava/lang/Class" />
\r
177 <return value="x" />
\r
179 <method name="getConstructor0"
\r
180 descriptor="([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;">
\r
181 <new def="x" class="Ljava/lang/reflect/Constructor" />
\r
182 <return value="x" />
\r
184 <method name="getField0"
\r
185 descriptor="(Ljava/lang/String;I)Ljava/lang/reflect/Field;">
\r
186 <new def="x" class="Ljava/lang/reflect/Field" />
\r
187 <return value="x" />
\r
189 <method name="getInterfaces"
\r
190 descriptor="()[Ljava/lang/Class;">
\r
191 <constant name="size" type="int" value="1" />
\r
192 <new def="x" class="[Ljava/lang/Class" size="size" />
\r
193 <new def="y" class="Ljava/lang/Class" />
\r
194 <aastore ref="x" value="y" index="0" />
\r
195 <return value="x" />
\r
197 <method name="getMethod0"
\r
198 descriptor="(Ljava/lang/String;[Ljava/lang/Class;I)Ljava/lang/reflect/Method;">
\r
199 <new def="x" class="Ljava/lang/reflect/Method" />
\r
200 <return value="x" />
\r
202 <method name="getMethods0"
\r
203 descriptor="(I)[Ljava/lang/reflect/Method;">
\r
204 <constant name="size" type="int" value="1" />
\r
205 <new def="x" class="[Ljava/lang/reflect/Method"
\r
207 <new def="y" class="Ljava/lang/reflect/Method" />
\r
208 <aastore ref="x" value="y" index="0" />
\r
209 <return value="x" />
\r
211 <method name="getModifiers" descriptor="()I"></method>
\r
212 <method name="getName"
\r
213 descriptor="()Ljava/lang/String;">
\r
214 <new def="x" class="Ljava/lang/String" />
\r
215 <return value="x" />
\r
217 <method name="getPrimitiveClass"
\r
218 descriptor="(Ljava/lang/String;)Ljava/lang/Class;" static="true">
\r
219 <new def="x" class="Ljava/lang/Class" />
\r
220 <return value="x" />
\r
222 <method name="getSigners"
\r
223 descriptor="()[Ljava/lang/Object;">
\r
224 <constant name="size" type="int" value="1" />
\r
225 <new def="x" class="[Ljava/lang/Object" size="size" />
\r
226 <new def="y" class="Ljava/lang/Class" />
\r
227 <aastore ref="x" value="y" index="0" />
\r
228 <return value="x" />
\r
230 <method name="getSuperclass"
\r
231 descriptor="()Ljava/lang/Class;">
\r
232 <new def="x" class="Ljava/lang/Class" />
\r
233 <return value="x" />
\r
235 <method name="getFields"
\r
236 descriptor="()[Ljava/lang/reflect/Field;">
\r
237 <constant name="size" type="int" value="1" />
\r
238 <new def="x" class="[Ljava/lang/reflect/Field" size="size"/>
\r
239 <new def="y" class="Ljava/lang/reflect/Field" />
\r
240 <aastore ref="x" value="y" index="0" />
\r
241 <return value="x" />
\r
243 <method name="getConstructors"
\r
244 descriptor="()[Ljava/lang/reflect/Constructor;">
\r
245 <constant name="size" type="int" value="1" />
\r
247 class="[Ljava/lang/reflect/Constructor" size="size"/>
\r
248 <new def="y" class="Ljava/lang/reflect/Constructor" />
\r
249 <aastore ref="x" value="y" index="0" />
\r
250 <return value="x" />
\r
252 <method name="isAssignableFrom"
\r
253 descriptor="(Ljava/lang/Class;)Z">
\r
255 <method name="isArray" descriptor="()Z"></method>
\r
256 <method name="isInstance"
\r
257 descriptor="(Ljava/lang/Object;)Z">
\r
259 <method name="isInterface" descriptor="()Z"></method>
\r
260 <method name="isPrimitive" descriptor="()Z"></method>
\r
261 <method name="newInstance"
\r
262 descriptor="()Ljava/lang/Object;" factory="true">
\r
263 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
264 <return value="x" />
\r
267 <class name="ClassLoader" allocatable="true">
\r
268 <method name="findBootstrapClass"
\r
269 descriptor="(Ljava/lang/String;)Ljava/lang/Class;">
\r
270 <new def="x" class="Ljava/lang/Class" />
\r
271 <return value="x" />
\r
273 <method name="findLoadedClass"
\r
274 descriptor="(Ljava/lang/String;)Ljava/lang/Class;">
\r
275 <new def="x" class="Ljava/lang/Class" />
\r
276 <return value="x" />
\r
278 <method name="getCallerClassLoader"
\r
279 descriptor="()Ljava/lang/ClassLoader;" static="true">
\r
280 <new def="x" class="Ljava/lang/ClassLoader" />
\r
281 <return value="x" />
\r
284 <class name="Double">
\r
285 <method name="doubleToLongBits" descriptor="(D)J"
\r
288 <method name="longBitsToDouble" descriptor="(J)D"
\r
292 <class name="Float">
\r
293 <method name="floatToIntBits" descriptor="(F)I"
\r
296 <method name="intBitsToFloat" descriptor="(I)F"
\r
300 <class name="Object">
\r
301 <method name="clone"
\r
302 descriptor="()Ljava/lang/Object;">
\r
303 <return value="null" />
\r
304 <!-- Note that propagation-style builders should intercept calls to clone, and this model is OK for RTA -->
\r
306 <method name="getClass"
\r
307 descriptor="()Ljava/lang/Class;">
\r
308 <new def="x" class="Ljava/lang/Class" />
\r
309 <return value="x" />
\r
311 <method name="hashCode" descriptor="()I"></method>
\r
312 <method name="notify" descriptor="()V"></method>
\r
313 <method name="notifyAll" descriptor="()V"></method>
\r
314 <method name="wait" descriptor="(J)V"></method>
\r
316 <class name="Runtime">
\r
317 <method name="freeMemory" descriptor="()J"></method>
\r
318 <method name="gc" descriptor="()V"></method>
\r
319 <method name="totalMemory" descriptor="()J"></method>
\r
321 <class name="SecurityManager">
\r
322 <method name="getClassContext"
\r
323 descriptor="()[Ljava/lang/Class;">
\r
324 <constant name="size" type="int" value="1" />
\r
325 <new def="x" class="[Ljava/lang/Class" size="size"/>
\r
326 <new def="y" class="Ljava/lang/Class" />
\r
327 <aastore ref="x" value="y" index="0" />
\r
328 <return value="x" />
\r
331 <class name="StrictMath">
\r
332 <method name="ceil" descriptor="(D)D" static="true"></method>
\r
333 <method name="exp" descriptor="(D)D" static="true"></method>
\r
334 <method name="floor" descriptor="(D)D" static="true"></method>
\r
335 <method name="pow" descriptor="(DD)D" static="true"></method>
\r
337 <class name="String">
\r
338 <method name="intern"
\r
339 descriptor="()Ljava/lang/String;">
\r
340 <new def="x" class="Ljava/lang/String" />
\r
341 <return value="x" />
\r
343 reason="questionable model of java/lang/String/intern()"
\r
347 <class name="System">
\r
348 <method name="<clinit>" static="true"
\r
351 class="Ljava/lang/SecurityManager" />
\r
352 <putstatic class="Ljava/lang/System"
\r
353 field="security" fieldType="Ljava/lang/SecurityManager"
\r
355 <call type="static" name="initializeSystemClass"
\r
356 class="Ljava/lang/System" descriptor="()V" />
\r
359 <method name="initializeSystemClass" descriptor="()V"
\r
361 <new def="x" class="Ljava/util/Properties" />
\r
362 <call type="special" name="<init>"
\r
363 class="Ljava/util/Properties" descriptor="()V" arg0="x" />
\r
364 <new def="key" class="Ljava/lang/String" />
\r
365 <new def="value" class="Ljava/lang/String" />
\r
366 <call type="virtual" name="put"
\r
367 class="Ljava/util/Hashtable"
\r
368 descriptor="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
\r
369 arg0="x" arg1="key" arg2="value" def="ignore" />
\r
371 <new def="in" class="Ljava/io/FileInputStream" />
\r
372 <call type="special" name="<init>"
\r
373 class="Ljava/io/FileInputStream" descriptor="()V" arg0="in" />
\r
375 <new def="o" class="Ljava/io/FileOutputStream" />
\r
376 <call type="special" name="<init>"
\r
377 class="Ljava/io/FileOutputStream" descriptor="()V" arg0="o" />
\r
378 <new def="e" class="Ljava/io/FileOutputStream" />
\r
379 <call type="special" name="<init>"
\r
380 class="Ljava/io/FileOutputStream" descriptor="()V" arg0="e" />
\r
382 <new def="out" class="Ljava/io/PrintStream" />
\r
383 <call type="special" name="<init>"
\r
384 class="Ljava/io/PrintStream"
\r
385 descriptor="(Ljava/io/OutputStream;)V" arg0="out" arg1="o" />
\r
386 <new def="err" class="Ljava/io/PrintStream" />
\r
387 <call type="special" name="<init>"
\r
388 class="Ljava/io/PrintStream"
\r
389 descriptor="(Ljava/io/OutputStream;)V" arg0="err" arg1="e" />
\r
391 <putstatic class="Ljava/lang/System" field="in"
\r
392 fieldType="Ljava/io/InputStream" value="in" />
\r
393 <putstatic class="Ljava/lang/System" field="out"
\r
394 fieldType="Ljava/io/PrintStream" value="out" />
\r
395 <putstatic class="Ljava/lang/System" field="err"
\r
396 fieldType="Ljava/io/PrintStream" value="err" />
\r
398 <method name="arraycopy"
\r
399 descriptor="(Ljava/lang/Object;ILjava/lang/Object;II)V"
\r
401 <call type="static" name="arraycopy"
\r
402 class="Lcom/ibm/wala/model/java/lang/System"
\r
403 descriptor="(Ljava/lang/Object;Ljava/lang/Object;)V" arg0="arg0"
\r
407 <method name="currentTimeMillis" descriptor="()J"
\r
410 <method name="getCallerClass"
\r
411 descriptor="()Ljava/lang/Class;" static="true">
\r
412 <new def="x" class="Ljava/lang/Class" />
\r
413 <return value="x" />
\r
415 <method name="identityHashCode"
\r
416 descriptor="(Ljava/lang/Object;)I" static="true">
\r
418 <method name="initProperties"
\r
419 descriptor="(Ljava/util/Properties;)Ljava/util/Properties;"
\r
421 <new def="dummy1" class="Ljava/lang/Object" />
\r
422 <new def="dummy2" class="Ljava/lang/Object" />
\r
423 <call type="virtual" name="put"
\r
424 class="Ljava/util/Properties"
\r
425 descriptor="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
\r
426 arg0="arg0" arg1="dummy1" arg2="dummy2" def="ignore" />
\r
427 <new def="x" class="Ljava/util/Properties" />
\r
428 <return value="x" />
\r
430 <method name="mapLibraryName"
\r
431 descriptor="(Ljava/lang/String;)Ljava/lang/String;"
\r
433 <return value="arg0" />
\r
435 <method name="setErr0"
\r
436 descriptor="(Ljava/io/PrintStream;)V" static="true">
\r
438 <method name="setIn0"
\r
439 descriptor="(Ljava/io/InputStream;)V" static="true">
\r
441 <method name="setOut0"
\r
442 descriptor="(Ljava/io/PrintStream;)V" static="true">
\r
445 <class name="Thread">
\r
446 <method name="currentThread"
\r
447 descriptor="()Ljava/lang/Thread;" static="true">
\r
448 <new def="x" class="Ljava/lang/Thread" />
\r
449 <return value="x" />
\r
451 <method name="interrupt0" descriptor="()V"></method>
\r
452 <method name="<init>" descriptor="()V">
\r
453 <putfield class="Ljava/lang/Thread" field="runnable"
\r
454 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg0" />
\r
455 <putfield class="Ljava/lang/Thread" field="target"
\r
456 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg0" />
\r
458 <method name="<init>"
\r
459 descriptor="(Ljava/lang/Runnable;)V">
\r
460 <putfield class="Ljava/lang/Thread" field="runnable"
\r
461 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg1" />
\r
462 <putfield class="Ljava/lang/Thread" field="target"
\r
463 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg1" />
\r
465 <method name="isAlive" descriptor="()Z"></method>
\r
466 <method name="resume0" descriptor="()V" />
\r
467 <method name="sleep" descriptor="(J)V" static="true">
\r
469 class="Ljava/lang/InterruptedException" />
\r
470 <throw value="x" />
\r
472 <method name="start" descriptor="()V">
\r
473 <putfield class="Ljava/lang/Thread" field="runnable"
\r
474 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg0" />
\r
475 <getfield class="Ljava/lang/Thread" field="runnable"
\r
476 fieldType="Ljava/lang/Runnable" def="x" ref="arg0" />
\r
477 <call type="interface" name="run"
\r
478 class="Ljava/lang/Runnable" descriptor="()V" arg0="x" />
\r
479 <putfield class="Ljava/lang/Thread" field="target"
\r
480 fieldType="Ljava/lang/Runnable" ref="arg0" value="arg0" />
\r
481 <getfield class="Ljava/lang/Thread" field="target"
\r
482 fieldType="Ljava/lang/Runnable" def="y" ref="arg0" />
\r
483 <call type="interface" name="run"
\r
484 class="Ljava/lang/Runnable" descriptor="()V" arg0="y" />
\r
486 <method name="stop0" descriptor="()V" />
\r
487 <method name="yield" descriptor="()V" static="true" />
\r
489 <class name="Throwable">
\r
490 <method name="fillInStackTrace"
\r
491 descriptor="()Ljava/lang/Throwable;">
\r
492 <return value="arg0" />
\r
494 <method name="getStackTraceElement"
\r
495 descriptor="(I)Ljava/lang/StackTraceElement;">
\r
496 <new def="x" class="Ljava/lang/StackTraceElement" />
\r
497 <return value="x" />
\r
499 <method name="printStackTrace0"
\r
500 descriptor="(Ljava/lang/Object;)V" />
\r
501 <method name="getStackTraceDepth" descriptor="()I" />
\r
505 <package name="java/lang/reflect">
\r
506 <class name="Array">
\r
507 <method name="get" descriptor="(Ljava/lang/Object;I)Ljava/lang/Object;" static="true">
\r
508 <call type="static" name="get"
\r
509 class="Lcom/ibm/wala/model/java/lang/reflect/Array"
\r
510 descriptor="(Ljava/lang/Object;I)Ljava/lang/Object;" arg0="arg0"
\r
511 arg1="arg1" def="x"/>
\r
512 <return value="x" />
\r
514 <method name="getByte"
\r
515 descriptor="(Ljava/lang/Object;I)B" static="true">
\r
517 <method name="getLength"
\r
518 descriptor="(Ljava/lang/Object;)I" static="true">
\r
520 <method name="multiNewArray"
\r
521 descriptor="(Ljava/lang/Class;[I)Ljava/lang/Object;" static="true"
\r
523 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
524 <return value="x" />
\r
526 <!-- THIS KIND OF TREATMENT OF ARRAYS IS BOGUS and TOO IMPRECISE. TODO: FIX THIS.
\r
527 <method name="newArray"
\r
528 descriptor="(Ljava/lang/Class;I)Ljava/lang/Object;" static="true"
\r
530 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
531 <return value="x" />
\r
533 <method name="newInstance"
\r
534 descriptor="(Ljava/lang/Class;I)Ljava/lang/Object;" static="true"
\r
536 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
537 <return value="x" />
\r
541 descriptor="(Ljava/lang/Object;ILjava/lang/Object;)V"
\r
544 <method name="setByte"
\r
545 descriptor="(Ljava/lang/Object;IB)V" static="true">
\r
548 <class name="Constructor">
\r
549 <method name="newInstance"
\r
550 descriptor="([Ljava/lang/Object;)Ljava/lang/Object;" factory="true">
\r
551 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
552 <return value="x" />
\r
555 <class name="Field">
\r
557 descriptor="(Ljava/lang/Object;)Ljava/lang/Object;"
\r
559 <new def="x" class="Lcom/ibm/wala/Malleable" />
\r
560 <return value="x" />
\r
562 reason="bogus model of java/lang/reflect/Field/get"
\r
565 <method name="getBoolean"
\r
566 descriptor="(Ljava/lang/Object;)Z">
\r
568 <method name="getByte"
\r
569 descriptor="(Ljava/lang/Object;)B">
\r
571 <method name="getChar"
\r
572 descriptor="(Ljava/lang/Object;)C">
\r
574 <method name="getDouble"
\r
575 descriptor="(Ljava/lang/Object;)D">
\r
577 <method name="getFloat"
\r
578 descriptor="(Ljava/lang/Object;)F">
\r
580 <method name="getInt"
\r
581 descriptor="(Ljava/lang/Object;)I">
\r
583 <method name="getLong"
\r
584 descriptor="(Ljava/lang/Object;)J">
\r
586 <method name="getShort"
\r
587 descriptor="(Ljava/lang/Object;)S">
\r
590 descriptor="(Ljava/lang/Object;Ljava/lang/Object;)V">
\r
592 <method name="setBoolean"
\r
593 descriptor="(Ljava/lang/Object;Z)V">
\r
595 <method name="setByte"
\r
596 descriptor="(Ljava/lang/Object;B)V">
\r
598 <method name="setChar"
\r
599 descriptor="(Ljava/lang/Object;C)V">
\r
601 <method name="setDouble"
\r
602 descriptor="(Ljava/lang/Object;D)V">
\r
604 <method name="setFloat"
\r
605 descriptor="(Ljava/lang/Object;F)V">
\r
607 <method name="setInt"
\r
608 descriptor="(Ljava/lang/Object;I)V">
\r
610 <method name="setLong"
\r
611 descriptor="(Ljava/lang/Object;J)V">
\r
613 <method name="setShort"
\r
614 descriptor="(Ljava/lang/Object;S)V">
\r
619 <package name="java/net">
\r
620 <class name="PlainDatagramSocketImpl">
\r
621 <method name="bind"
\r
622 descriptor="(ILjava/net/InetAddress;)V">
\r
625 <class name="PlainSocketImpl">
\r
626 <method name="initProto" descriptor="()V" static="true" />
\r
627 <method name="socketAvailable" descriptor="()I" />
\r
628 <method name="socketBind"
\r
629 descriptor="(Ljava/net/InetAddress;I)V" />
\r
630 <method name="socketClose0" descriptor="(Z)V" />
\r
631 <method name="socketConnect"
\r
632 descriptor="(Ljava/net/InetAddress;II)V" />
\r
633 <method name="socketCreate" descriptor="(Z)V" />
\r
634 <method name="socketGetOption"
\r
635 descriptor="(ILjava/lang/Object;)I" />
\r
636 <method name="socketListen" descriptor="(I)V" />
\r
637 <method name="socketSetOption"
\r
638 descriptor="(IZLjava/lang/Object;)V" />
\r
640 <class name="SocketInputStream">
\r
641 <method name="init" descriptor="()V" static="true" />
\r
642 <method name="socketRead0"
\r
643 descriptor="(Ljava/io/FileDescriptor;[BIII)I" />
\r
645 <class name="SocketOutputStream">
\r
646 <method name="init" descriptor="()V" static="true" />
\r
647 <method name="socketWrite0"
\r
648 descriptor="(Ljava/io/FileDescriptor;[BII)V" />
\r
652 <package name="java/security">
\r
653 <class name="AccessControlContext">
\r
654 <method name="getInheritedAccessControlContext"
\r
655 descriptor="()Ljava/security/AccessControlContext;">
\r
656 <new def="x" class="Ljava/lang/Object" />
\r
657 <return value="x" />
\r
659 reason="questionable model of java/security/AccessControlContext/getInheritedAccessControlContext"
\r
660 level="moderate" />
\r
663 <class name="AccessController">
\r
664 <method name="doPrivileged"
\r
665 descriptor="(Ljava/security/PrivilegedAction;)Ljava/lang/Object;"
\r
667 <call type="interface" name="run"
\r
668 class="Ljava/security/PrivilegedAction"
\r
669 descriptor="()Ljava/lang/Object;" def="x" arg0="arg0" />
\r
670 <return value="x" />
\r
672 class="Ljava/security/PrivilegedActionException" />
\r
673 <throw value="y" />
\r
675 reason="incorrect model of java/security/AccessController/doPrivileged"
\r
678 <method name="doPrivileged"
\r
679 descriptor="(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;"
\r
681 <call type="interface" name="run"
\r
682 class="Ljava/security/PrivilegedExceptionAction"
\r
683 descriptor="()Ljava/lang/Object;" def="x" arg0="arg0" />
\r
684 <return value="x" />
\r
686 class="Ljava/security/PrivilegedActionException" />
\r
687 <throw value="y" />
\r
689 reason="incorrect model of java/security/AccessController/doPrivileged"
\r
692 <method name="doPrivileged"
\r
693 descriptor="(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"
\r
695 <call type="interface" name="run"
\r
696 class="Ljava/security/PrivilegedAction"
\r
697 descriptor="()Ljava/lang/Object;" def="x" arg0="arg0" />
\r
698 <return value="x" />
\r
700 class="Ljava/security/PrivilegedActionException" />
\r
701 <throw value="y" />
\r
703 reason="incorrect model of java/security/AccessController/doPrivileged"
\r
706 <method name="doPrivileged"
\r
707 descriptor="(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"
\r
709 <call type="interface" name="run"
\r
710 class="Ljava/security/PrivilegedExceptionAction"
\r
711 descriptor="()Ljava/lang/Object;" def="x" arg0="arg0" />
\r
712 <return value="x" />
\r
714 class="Ljava/security/PrivilegedActionException" />
\r
715 <throw value="y" />
\r
717 reason="incorrect model of java/security/AccessController/doPrivileged"
\r
720 <method name="getStackAccessControlContext"
\r
721 descriptor="()Ljava/security/AccessControlContext;"
\r
724 class="Ljava/security/AccessControlContext" />
\r
725 <return value="x" />
\r
727 reason="questionable model of java/security/AccessController/getStackAccessControlContext"
\r
728 level="moderate" />
\r
733 <package name="java/util">
\r
734 <class name="TimeZone">
\r
735 <method name="getSystemTimeZoneID"
\r
736 descriptor="(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"
\r
738 <new def="x" class="Ljava/lang/String" />
\r
739 <return value="x" />
\r
744 <package name="java/util/logging">
\r
745 <class name="FileHandler">
\r
746 <method name="isSetUID" descriptor="()Z" static="true" />
\r
750 <package name="java/util/prefs">
\r
751 <class name="FileSystemPreferences">
\r
752 <method name="chmod" descriptor="(Ljava/lang/String;I)I"
\r
754 <method name="lockFile0"
\r
755 descriptor="(Ljava/lang/String;IZ)[I" static="true">
\r
756 <constant name="size" type="int" value="1" />
\r
757 <new def="x" class="[I" size="size"/>
\r
758 <return value="x" />
\r
760 <method name="unlockFile0" descriptor="(I)I"
\r
765 <package name="sun/misc">
\r
766 <class name="AtomicLongCSImpl">
\r
767 <method name="attemptUpdate" descriptor="(JJ)Z" />
\r
769 <class name="AtomicLong">
\r
770 <method name="VMSupportsCS8" descriptor="()Z"
\r
773 <class name="Signal">
\r
774 <method name="handle0" descriptor="(IJ)J" static="true" />
\r
775 <method name="findSignal"
\r
776 descriptor="(Ljava/lang/String;)I" static="true" />
\r
778 <class name="Unsafe" allocatable="true">
\r
779 <method name="getUnsafe" descriptor="()Lsun/misc/Unsafe"
\r
781 <new def="x" class="Lsun/misc/Unsafe" />
\r
782 <return value="x" />
\r
784 <method name="allocateMemory" descriptor="(J)J" />
\r
785 <method name="copyMemory" descriptor="(JJJ)V" />
\r
786 <method name="freeMemory" descriptor="(J)V" />
\r
787 <method name="objectFieldOffset"
\r
788 descriptor="(Ljava/lang/reflect/Field;)J" />
\r
789 <method name="getBoolean" descriptor="(J)Z" />
\r
790 <method name="getByte" descriptor="(J)B" />
\r
791 <method name="getChar" descriptor="(J)C" />
\r
792 <method name="getDouble" descriptor="(J)D" />
\r
793 <method name="getFloat" descriptor="(J)F" />
\r
794 <method name="getInt" descriptor="(J)I" />
\r
795 <method name="getLong" descriptor="(J)J" />
\r
796 <method name="getShort" descriptor="(J)S" />
\r
797 <method name="getBoolean"
\r
798 descriptor="(Ljava/lang/Object;J)Z" />
\r
799 <method name="getByte"
\r
800 descriptor="(Ljava/lang/Object;J)B" />
\r
801 <method name="getChar"
\r
802 descriptor="(Ljava/lang/Object;J)C" />
\r
803 <method name="getDouble"
\r
804 descriptor="(Ljava/lang/Object;J)D" />
\r
805 <method name="getFloat"
\r
806 descriptor="(Ljava/lang/Object;J)F" />
\r
807 <method name="getInt"
\r
808 descriptor="(Ljava/lang/Object;J)I" />
\r
809 <method name="getLong"
\r
810 descriptor="(Ljava/lang/Object;J)J" />
\r
811 <method name="getShort"
\r
812 descriptor="(Ljava/lang/Object;J)S" />
\r
813 <method name="putBoolean" descriptor="(JZ)V" />
\r
814 <method name="putByte" descriptor="(JB)V" />
\r
815 <method name="putChar" descriptor="(JC)V" />
\r
816 <method name="putDouble" descriptor="(JD)V" />
\r
817 <method name="putFloat" descriptor="(JF)V" />
\r
818 <method name="putInt" descriptor="(JI)V" />
\r
819 <method name="putLong" descriptor="(JJ)V" />
\r
820 <method name="putShort" descriptor="(JS)V" />
\r
821 <method name="registerNatives" descriptor="()V"
\r
826 <package name="sun/nio/ch">
\r
827 <class name="IOUtil">
\r
828 <method name="initIDs" descriptor="()V" static="true" />
\r
830 <class name="FileDispatcher">
\r
831 <method name="init" descriptor="()V" static="true" />
\r
833 <class name="FileChannelImpl">
\r
834 <method name="lock0"
\r
835 descriptor="(Ljava/io/FileDescriptor;ZJJZ)I" />
\r
836 <method name="initIDs" descriptor="()J" static="true" />
\r