1881 lines
64 KiB
XML
1881 lines
64 KiB
XML
|
<?xml version="1.0" ?>
|
||
|
<!-- specification of benign methods and some shortcuts for current analysis -->
|
||
|
<summary-spec>
|
||
|
<!-- the following are some shortcuts that are OK and helpful for CHA-like analysis,
|
||
|
to avoid spurious undecidability, or to account for JVM hacks -->
|
||
|
<classloader name="Primordial">
|
||
|
|
||
|
<package name="com/ibm/wala/model/java/util">
|
||
|
<class name="MalleableCollection" allocatable="true"></class>
|
||
|
</package>
|
||
|
|
||
|
<package name="com/ibm/jvm">
|
||
|
<class name="ExtendedSystem">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="isResettableJVM" descriptor="()Z"
|
||
|
static="true" />
|
||
|
<method name="newArray"
|
||
|
descriptor="(Ljava/lang/Class;ILjava/lang/Object;)Ljava/lang/Object;"
|
||
|
static="true" factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/beans">
|
||
|
<class name="Beans">
|
||
|
<method name="instantiate"
|
||
|
descriptor="(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Object;"
|
||
|
static="true" factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/io">
|
||
|
<class name="BufferedInputStream">
|
||
|
<method name="fill" descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="BufferedReader">
|
||
|
<method name="fill" descriptor="()V" />
|
||
|
<method name="read" descriptor="([CII)I" />
|
||
|
<method name="readLine"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="BufferedWriter">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/Writer;I)V">
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/Writer" descriptor="()V" arg0="arg0" />
|
||
|
<putfield class="Ljava/io/BufferedWriter"
|
||
|
field="out" fieldType="Ljava/io/Writer" ref="arg0" value="arg1" />
|
||
|
<new def="L" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/BufferedWriter"
|
||
|
field="lineSeparator" fieldType="Ljava/lang/String" ref="arg0"
|
||
|
value="L" />
|
||
|
<constant name="charSize" type="int" value="1" />
|
||
|
<new def="CB" class="[C" size="charSize" />
|
||
|
<putfield class="Ljava/io/BufferedWriter" field="cb"
|
||
|
fieldType="[C" ref="arg0" value="CB" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ByteArrayOutputStream">
|
||
|
<method name="toString"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="write" descriptor="(I)V" />
|
||
|
<method name="write" descriptor="([BII)V" />
|
||
|
</class>
|
||
|
<class name="CanonicalPath">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;Z)V" />
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
</class>
|
||
|
<class name="CharArrayWritter">
|
||
|
<method name="write" descriptor="([CII)V" />
|
||
|
</class>
|
||
|
<class name="DataInputStream">
|
||
|
<method name="readUTF"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of java.io.DataInputStream" level="severe" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="DataOutputStream">
|
||
|
<method name="writeUTF"
|
||
|
descriptor="(Ljava/lang/String;)V">
|
||
|
<poison
|
||
|
reason="bogus model of java.io.DataOutputStream" level="severe" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="InputStreamReader">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/InputStream;)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/InputStream;Ljava/lang/String;)V" />
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="getEncoding"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="read" descriptor="()I" />
|
||
|
<method name="read" descriptor="([CII)I" />
|
||
|
</class>
|
||
|
<class name="File">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/File" field="path"
|
||
|
fieldType="Ljava/lang/String" ref="arg0" value="x" />
|
||
|
</method>
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;Ljava/lang/String;)V">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/File" field="path"
|
||
|
fieldType="Ljava/lang/String" ref="arg0" value="x" />
|
||
|
</method>
|
||
|
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/File;Ljava/lang/String;)V">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/File" field="path"
|
||
|
fieldType="Ljava/lang/String" ref="arg0" value="x" />
|
||
|
</method>
|
||
|
|
||
|
<method name="compareTo" descriptor="(Ljava/io/File;)I" />
|
||
|
<method name="exists" descriptor="()Z" />
|
||
|
<method name="getAbsolutePath"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getCanonicalPath"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="isDirectory" descriptor="()Z">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="lastModified" descriptor="()J" />
|
||
|
<method name="length" descriptor="()J" />
|
||
|
<method name="mkdirs" descriptor="()Z" />
|
||
|
</class>
|
||
|
<class name="FileDescriptor">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
</class>
|
||
|
<class name="FileInputStream">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
</class>
|
||
|
<class name="FileOutputStream">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
</class>
|
||
|
<class name="FilePermission">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
</class>
|
||
|
<class name="FileSystem" allocatable="true">
|
||
|
<method name="getFileSystem"
|
||
|
descriptor="()Ljava/io/FileSystem;" static="true">
|
||
|
<new def="fs" class="Ljava/io/FileSystem" />
|
||
|
<return value="fs" />
|
||
|
</method>
|
||
|
<method name="checkAccess"
|
||
|
descriptor="(Ljava/io/File;Z)Z">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="delete" descriptor="(Ljava/io/File;)Z" />
|
||
|
<method name="getBooleanAttributes"
|
||
|
descriptor="(Ljava/io/File;)I" />
|
||
|
<method name="hashCode" descriptor="(Ljava/io/File;)I" />
|
||
|
<method name="isAbsolute"
|
||
|
descriptor="(Ljava/io/File;)Z" />
|
||
|
<method name="getPathSeparator" descriptor="()C" />
|
||
|
<method name="getSeparator" descriptor="()C">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
|
||
|
<method name="createFileExclusively"
|
||
|
descriptor="(Ljava/lang/String;)Z">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
|
||
|
<method name="setLastModifiedTime"
|
||
|
descriptor="(Ljava/io/File;J)Z">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
|
||
|
<method name="rename"
|
||
|
descriptor="(Ljava/io/File;Ljava/io/File;)Z" />
|
||
|
<method name="list"
|
||
|
descriptor="(Ljava/io/File;)[Ljava/lang/String;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="str" class="Ljava/lang/String"
|
||
|
size="size" />
|
||
|
<new def="list" class="[Ljava/lang/String"
|
||
|
size="size" />
|
||
|
<aastore ref="list" value="str" index="null" />
|
||
|
<return value="list" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="InputStream" allocatable="true"></class>
|
||
|
<class name="ObjectInputStream">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/InputStream;)V" />
|
||
|
<method name="available" descriptor="()I" />
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="read" descriptor="()I" />
|
||
|
<method name="read" descriptor="([BII)I" />
|
||
|
<method name="readObject"
|
||
|
descriptor="()Ljava/lang/Object;" factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ObjectOutputStream">
|
||
|
<method name="writeObject0"
|
||
|
descriptor="(Ljava/lang/Object;Z)V" />
|
||
|
</class>
|
||
|
<class name="ObjectStreamClass">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="OutputStreamWriter">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/OutputStream;)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/OutputStream;Ljava/lang/String;)V" />
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="flush" descriptor="()V" />
|
||
|
<method name="flushBuffer" descriptor="()V" />
|
||
|
<method name="getEncoding"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="write"
|
||
|
descriptor="(Ljava/lang/String;II)V" />
|
||
|
<method name="write" descriptor="([CII)V" />
|
||
|
<method name="write" descriptor="(I)V" />
|
||
|
</class>
|
||
|
<class name="PrintStream">
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="newLine" descriptor="()V" />
|
||
|
<method name="write" descriptor="(I)V" />
|
||
|
<method name="write" descriptor="(Ljava/lang/String;)V" />
|
||
|
</class>
|
||
|
<class name="PrintWriter">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/Writer;Z)V">
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/Writer" descriptor="()V" arg0="arg0" />
|
||
|
<putfield class="Ljava/io/PrintWriter" field="out"
|
||
|
fieldType="Ljava/io/Writer" ref="arg0" value="arg1" />
|
||
|
<new def="L" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/PrintWriter"
|
||
|
field="lineSeparator" fieldType="Ljava/lang/String" ref="arg0"
|
||
|
value="L" />
|
||
|
</method>
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="flush" descriptor="()V" />
|
||
|
<method name="print" descriptor="(C)V" />
|
||
|
<method name="print" descriptor="(Ljava/lang/String;)V" />
|
||
|
<method name="println"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
</class>
|
||
|
<class name="RandomAccessFile">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;Ljava/lang/String;)V" />
|
||
|
</class>
|
||
|
<class name="StreamTokenizer">
|
||
|
<method name="nextToken" descriptor="()I">
|
||
|
<new def="S" class="Ljava/lang/String" />
|
||
|
<putfield class="Ljava/io/StreamTokenizer"
|
||
|
field="sval" fieldType="Ljava/lang/String" ref="arg0" value="S" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Writer">
|
||
|
<method name="write" descriptor="(I)V" />
|
||
|
<method name="write"
|
||
|
descriptor="(Ljava/lang/String;II)V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
|
||
|
<package name="java/lang">
|
||
|
<class name="Class">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="checkMemberAccess"
|
||
|
descriptor="(ILjava/lang/ClassLoader;)V" />
|
||
|
<method name="desiredAssertionStatus" descriptor="()Z" />
|
||
|
<method name="forName"
|
||
|
descriptor="(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/lang/Class" />
|
||
|
<return value="x" />
|
||
|
<new def="y"
|
||
|
class="Ljava/lang/ClassNotFoundException" />
|
||
|
<throw value="y" />
|
||
|
<new def="z" class="Ljava/lang/ClassFormatError" />
|
||
|
<throw value="z" />
|
||
|
</method>
|
||
|
<method name="getClassLoader"
|
||
|
descriptor="()Ljava/lang/ClassLoader;">
|
||
|
<new def="x" class="Ljava/lang/ClassLoader" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getConstructor"
|
||
|
descriptor="([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;">
|
||
|
<new def="x" class="Ljava/lang/reflect/Constructor" />
|
||
|
<new class="Ljava/lang/IllegalAccessException" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDeclaredConstructors"
|
||
|
descriptor="()[Ljava/lang/reflect/Constructor;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/reflect/Constructor"
|
||
|
size="size" />
|
||
|
<new def="y" class="Ljava/lang/reflect/Constructor" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDeclaredField"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/reflect/Field;">
|
||
|
<new def="x" class="Ljava/lang/reflect/Field" />
|
||
|
<new class="Ljava/lang/IllegalAccessException" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDeclaredFields"
|
||
|
descriptor="()[Ljava/lang/reflect/Field;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/reflect/Field"
|
||
|
size="size" />
|
||
|
<new def="y" class="Ljava/lang/reflect/Field" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDeclaredMethod"
|
||
|
descriptor="(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;">
|
||
|
<new def="x" class="Ljava/lang/reflect/Method" />
|
||
|
<new class="Ljava/lang/IllegalAccessException" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDeclaredMethods"
|
||
|
descriptor="()[Ljava/lang/reflect/Method;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/reflect/Method"
|
||
|
size="size" />
|
||
|
<new def="y" class="Ljava/lang/reflect/Method" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getField"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/reflect/Field;">
|
||
|
<new def="x" class="Ljava/lang/reflect/Field" />
|
||
|
<new class="Ljava/lang/IllegalAccessException" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getMethod"
|
||
|
descriptor="(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;">
|
||
|
<new def="x" class="Ljava/lang/reflect/Method" />
|
||
|
<new class="Ljava/lang/IllegalAccessException" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getMethods"
|
||
|
descriptor="()[Ljava/lang/reflect/Method;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/reflect/Method"
|
||
|
size="size" />
|
||
|
<new def="y" class="Ljava/lang/reflect/Method" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ClassLoader">
|
||
|
<method name="check" descriptor="()V" />
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/ClassLoader;)V">
|
||
|
<poison reason="user-defined ClassLoader"
|
||
|
level="severe" />
|
||
|
</method>
|
||
|
<method name="defineClass"
|
||
|
descriptor="(Ljava/lang/String;[BII)Ljava/lang/Class;">
|
||
|
<new def="x" class="Ljava/lang/Class" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="found call to ClassLoader.defineClass(): dangerous"
|
||
|
level="severe" />
|
||
|
</method>
|
||
|
<method name="getResource"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/net/URL;">
|
||
|
<new def="x" class="Ljava/net/URL" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="loadLibrary0"
|
||
|
descriptor="(Ljava/lang/Class;Ljava/io/File;)Z" static="true">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="getSystemClassLoader"
|
||
|
descriptor="()Ljava/lang/ClassLoader;" static="true">
|
||
|
<new def="x" class="Ljava/lang/ClassLoader" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getSystemResource"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/net/URL;" static="true">
|
||
|
<new def="x" class="Ljava/net/URL" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="initialize" descriptor="()V"></method>
|
||
|
<method name="resolveClass"
|
||
|
descriptor="(Ljava/lang/Class;)V">
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Double">
|
||
|
<method name="parseDouble"
|
||
|
descriptor="(Ljava/lang/String;)D" static="true">
|
||
|
<new def="x" class="Ljava/lang/Double" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="(D)Ljava/lang/String;" static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="valueOf"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/Double;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/lang/Double" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Float">
|
||
|
<method name="parseFloat"
|
||
|
descriptor="(Ljava/lang/String;)F" static="true">
|
||
|
<new def="x" class="Ljava/lang/Float" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="(F)Ljava/lang/String;" static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="valueOf"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/Float;" static="true">
|
||
|
<new def="x" class="Ljava/lang/Float" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Integer">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="(I)Ljava/lang/String;" static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="parseInt" static="true"
|
||
|
descriptor="(Ljava/lang/String;)I">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Long">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Math">
|
||
|
<method name="acos" descriptor="(D)D" static="true" />
|
||
|
<method name="asin" descriptor="(D)D" static="true" />
|
||
|
<method name="atan" descriptor="(D)D" static="true" />
|
||
|
<method name="cos" descriptor="(D)D" static="true" />
|
||
|
<method name="log" descriptor="(D)D" static="true" />
|
||
|
<method name="sin" descriptor="(D)D" static="true" />
|
||
|
<method name="sqrt" descriptor="(D)D" static="true" />
|
||
|
<method name="tan" descriptor="(D)D" static="true" />
|
||
|
</class>
|
||
|
<class name="Object">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Process" allocatable="true" />
|
||
|
<class name="Runtime">
|
||
|
<method name="exec"
|
||
|
descriptor="([Ljava/lang/String;)Ljava/lang/Process;">
|
||
|
<new def="x" class="Ljava/lang/Process" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="cannot analyze foreign call via Runtime/exec"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="getLocalizedInputStream"
|
||
|
descriptor="(Ljava/io/InputStream;)Ljava/io/InputStream;">
|
||
|
<return value="arg1" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="SecurityManager">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Short">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="StackTraceElement">
|
||
|
<method name="getClassName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getFileName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getLineNumber" descriptor="()I" />
|
||
|
<method name="getMethodName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="String">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>" descriptor="([BII)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="([BLjava/lang/String;)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="([BIILjava/lang/String;)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/StringBuffer;)V" />
|
||
|
<method name="getBTCConverter"
|
||
|
descriptor="(Ljava/lang/String;)Lsun/io/ByteToCharConverter;"
|
||
|
static="true">
|
||
|
<new def="x" class="Lsun/io/ByteToCharConverter" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getBytes" descriptor="()[B">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[B" size="size" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getBytes"
|
||
|
descriptor="(Ljava/lang/String;)[B">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[B" size="size"/>
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="StringBuffer">
|
||
|
<method name="append"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/StringBuffer;">
|
||
|
<return value="arg0" />
|
||
|
</method>
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="expandCapacity" descriptor="(I)V" />
|
||
|
<method name="copy" descriptor="()V" />
|
||
|
<method name="setLength" descriptor="(I)V" />
|
||
|
</class>
|
||
|
|
||
|
<class name="System">
|
||
|
<method name="exit" static="true" descriptor="(I)V" />
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V">
|
||
|
<new def="secure"
|
||
|
class="Ljava/lang/SecurityManager" />
|
||
|
<putstatic class="Ljava/lang/System"
|
||
|
field="security" fieldType="Ljava/lang/SecurityManager"
|
||
|
value="secure" />
|
||
|
<call type="static" name="initializeSystemClass"
|
||
|
class="Ljava/lang/System" descriptor="()V" />
|
||
|
</method>
|
||
|
|
||
|
<method name="initializeSystemClass" descriptor="()V"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/util/Properties" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/util/Properties" descriptor="()V" arg0="x" />
|
||
|
<new def="key" class="Ljava/lang/String" />
|
||
|
<new def="value" class="Ljava/lang/String" />
|
||
|
<call type="virtual" name="put"
|
||
|
class="Ljava/util/Hashtable"
|
||
|
descriptor="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"
|
||
|
arg0="x" arg1="key" arg2="value" def="ignore" />
|
||
|
|
||
|
<new def="in" class="Ljava/io/FileInputStream" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/FileInputStream" descriptor="()V" arg0="in" />
|
||
|
|
||
|
<new def="o" class="Ljava/io/FileOutputStream" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/FileOutputStream" descriptor="()V" arg0="o" />
|
||
|
<new def="e" class="Ljava/io/FileOutputStream" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/FileOutputStream" descriptor="()V" arg0="e" />
|
||
|
|
||
|
<new def="out" class="Ljava/io/PrintStream" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/PrintStream"
|
||
|
descriptor="(Ljava/io/OutputStream;)V" arg0="out" arg1="o" />
|
||
|
<new def="err" class="Ljava/io/PrintStream" />
|
||
|
<call type="special" name="<init>"
|
||
|
class="Ljava/io/PrintStream"
|
||
|
descriptor="(Ljava/io/OutputStream;)V" arg0="err" arg1="e" />
|
||
|
|
||
|
<putstatic class="Ljava/lang/System" field="in"
|
||
|
fieldType="Ljava/io/InputStream" value="in" />
|
||
|
<putstatic class="Ljava/lang/System" field="out"
|
||
|
fieldType="Ljava/io/PrintStream" value="out" />
|
||
|
<putstatic class="Ljava/lang/System" field="err"
|
||
|
fieldType="Ljava/io/PrintStream" value="err" />
|
||
|
</method>
|
||
|
<method name="runFinalization" descriptor="()V"
|
||
|
static="true" />
|
||
|
</class>
|
||
|
<class name="System$1">
|
||
|
<method name="run" descriptor="()Ljava/lang/Object;">
|
||
|
<new def="x" class="Ljava/lang/Object" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Thread">
|
||
|
<!-- tweak to avoid undecidability; this works assuming System/getSecurityManager() == null -->
|
||
|
<method name="checkAccess" descriptor="()V" />
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="interrupt" descriptor="()V" />
|
||
|
<method name="isInterrupted" descriptor="()Z" />
|
||
|
<method name="setPriority" descriptor="(I)V" />
|
||
|
<!-- tweak to avoid undecidability; this works assuming Thread/getThreadGroup() == null -->
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Throwable">
|
||
|
<method name="printStackTrace" descriptor="()V" />
|
||
|
<method name="printStackTrace"
|
||
|
descriptor="(Ljava/io/PrintStream;)V" />
|
||
|
<method name="printStackTrace"
|
||
|
descriptor="(Ljava/io/PrintWriter;)V" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/lang/ref">
|
||
|
<class name="Reference">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/lang/reflect">
|
||
|
<class name="AccessibleObject">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="setAccessible" descriptor="(Z)V" />
|
||
|
</class>
|
||
|
<class name="Constructor">
|
||
|
<method name="newInstance"
|
||
|
descriptor="([Ljava/lang/Object;)Ljava/lang/Object;"
|
||
|
factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="incomplete model of java.lang.reflect.Constructor.newInstance"
|
||
|
level="severe" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Method">
|
||
|
<method name="getExceptionTypes"
|
||
|
descriptor="()[Ljava/lang/Class;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/Class" size="size"/>
|
||
|
<new def="y" class="Ljava/lang/Class" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getParameterTypes"
|
||
|
descriptor="()[Ljava/lang/Class;">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[Ljava/lang/Class" size="size"/>
|
||
|
<new def="y" class="Ljava/lang/Class" />
|
||
|
<aastore ref="x" value="y" index="0" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="invoke"
|
||
|
descriptor="(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;"
|
||
|
factory="true">
|
||
|
<new
|
||
|
class="Ljava/lang/reflect/InvocationTargetException" />
|
||
|
<poison
|
||
|
reason="dubious model of reflective call to Method/invoke"
|
||
|
level="severe" />
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Modifier">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/math">
|
||
|
<class name="BigDecimal">
|
||
|
<method name="add"
|
||
|
descriptor="(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="compareTo"
|
||
|
descriptor="(Ljava/lang/Object;)I" />
|
||
|
<method name="compareTo"
|
||
|
descriptor="(Ljava/math/BigDecimal;)I" />
|
||
|
<method name="divide"
|
||
|
descriptor="(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="divide"
|
||
|
descriptor="(Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="divide"
|
||
|
descriptor="(Ljava/math/BigDecimal;II)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="intValue" descriptor="()I" />
|
||
|
<method name="longValue" descriptor="()J" />
|
||
|
<method name="multiply"
|
||
|
descriptor="(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="negate"
|
||
|
descriptor="()Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="subtract"
|
||
|
descriptor="(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="BigInteger">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="MutableBigInteger">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/net">
|
||
|
<class name="HttpURLConnection" allocatable="true">
|
||
|
<method name="disconnect" descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="JarURLConnection" allocatable="true" />
|
||
|
<class name="NetworkInterface">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="InetAddress">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;[B)V" />
|
||
|
<method name="anyLocalAddress"
|
||
|
descriptor="()Ljava/net/InetAddress;" static="true">
|
||
|
<new def="x" class="Ljava/net/InetAddress" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getByName"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/net/InetAddress;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/net/InetAddress" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getHostName"
|
||
|
descriptor="(Z)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getLocalHost"
|
||
|
descriptor="()Ljava/net/InetAddress;" static="true">
|
||
|
<new def="x" class="Ljava/net/InetAddress" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Inet4Address">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Inet6Address">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="ServerSocket">
|
||
|
<method name="<init>" descriptor="(I)V" />
|
||
|
<method name="accept"
|
||
|
descriptor="()Ljava/net/Socket;">
|
||
|
<new def="x" class="Ljava/net/Socket" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="close" descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Socket">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="SocketInputStream">
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="socketRead"
|
||
|
descriptor="([BIILjava/net/SocketImpl;Ljava/io/FileDescriptor;)I" />
|
||
|
</class>
|
||
|
<class name="SocketOutputStream">
|
||
|
<method name="close" descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="SocketPermission">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="getIP" descriptor="()V" />
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
</class>
|
||
|
<class name="URL">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
<method name="getURLStreamHandler"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/net/URLStreamHandler;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/net/URLStreamHandler" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
<method name="openConnection"
|
||
|
descriptor="()Ljava/net/URLConnection;">
|
||
|
<new def="x" class="Ljava/net/HttpURLConnection" />
|
||
|
<new def="y" class="Ljava/net/JarURLConnection" />
|
||
|
<return value="x" />
|
||
|
<return value="y" />
|
||
|
</method>
|
||
|
<method name="openStream"
|
||
|
descriptor="()Ljava/io/InputStream;">
|
||
|
<new def="x" class="Ljava/io/InputStream" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="suspect model of java/net/URL/openStream"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="URLConnection">
|
||
|
<method name="connect" descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="URLEncoder">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="encode"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/String;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="URLStreamHandler" allocatable="true" />
|
||
|
</package>
|
||
|
|
||
|
<package name="java/nio">
|
||
|
<class name="Bits">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/nio/channels/spi">
|
||
|
<class name="AbstractInterruptibleChannel">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/rmi/activation">
|
||
|
<class name="ActivationID">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
<class name="ActivationGroupID">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/rmi/server">
|
||
|
<class name="RemoteObject">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ObjID">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
|
||
|
|
||
|
<package name="java/security">
|
||
|
<class name="AccessControlContext">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
<class name="AccessController">
|
||
|
<method name="checkPermission"
|
||
|
descriptor="(Ljava/security/Permission;)V" static="true" />
|
||
|
</class>
|
||
|
<class name="ActivationID">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
<class name="AlgorithmParameters">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Identity">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="IdentityScope">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="MessageDigest">
|
||
|
<method name="getInstance"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/security/MessageDigest;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/security/MessageDigest" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="PermissionCollection">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Principal" allocatable="true">
|
||
|
<method name="getName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ProtectionDomain">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Provider">
|
||
|
<method name="put"
|
||
|
descriptor="(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;">
|
||
|
<new def="x" class="Ljava/lang/Object" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="suspect model of java/security/Provider/put"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="remove"
|
||
|
descriptor="(Ljava/lang/Object;)Ljava/lang/Object;">
|
||
|
<new def="x" class="Ljava/lang/Object" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="suspect model of java/security/Provider/remove"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="SecureClassLoader">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Security">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/security/cert">
|
||
|
<class name="Certificate">
|
||
|
<method name="getEncoded" descriptor="()[B">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[B" size="size"/>
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="X509CRL">
|
||
|
<method name="getEncoded" descriptor="()[B">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[B" size="size"/>
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="X509CRLEntry">
|
||
|
<method name="getEncoded" descriptor="()[B">
|
||
|
<constant name="size" type="int" value="1" />
|
||
|
<new def="x" class="[B" size="size"/>
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/sql">
|
||
|
<class name="CallableStatement" allocatable="true" />
|
||
|
<class name="Connection" allocatable="true">
|
||
|
<method name="clearWarnings" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="close" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="commit" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="createStatement"
|
||
|
descriptor="()Ljava/sql/Statement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Statement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="createStatement"
|
||
|
descriptor="(II)Ljava/sql/Statement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Statement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="createStatement"
|
||
|
descriptor="(III)Ljava/sql/Statement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Statement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getAutoCommit" descriptor="()Z">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getCatalog"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getTransactionIsolation"
|
||
|
descriptor="()I">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="prepareCall"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/CallableStatement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/CallableStatement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="prepareCall"
|
||
|
descriptor="(Ljava/lang/String;II)Ljava/sql/CallableStatement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/CallableStatement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="prepareStatement"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/PreparedStatement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/PreparedStatement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="prepareStatement"
|
||
|
descriptor="(Ljava/lang/String;II)Ljava/sql/PreparedStatement;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/PreparedStatement" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="rollback" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="setAutoCommit" descriptor="(Z)V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getAutoCommit" descriptor="()Z">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Date">
|
||
|
<method name="<init>" descriptor="(III)V" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="valueOf"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/Date;" static="true">
|
||
|
<new def="x" class="Ljava/sql/Date" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="DriverManager">
|
||
|
<method name="getConnection" static="true"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/Connection;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Connection" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getConnection" static="true"
|
||
|
descriptor="(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Connection" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getConnection" static="true"
|
||
|
descriptor="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Connection" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="PreparedStatement" allocatable="true">
|
||
|
<method name="executeQuery"
|
||
|
descriptor="()Ljava/sql/ResultSet;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/ResultSet" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="execute" descriptor="()Z">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="executeUpdate" descriptor="()I">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getUpdateCount" descriptor="()I" />
|
||
|
<method name="setBigDecimal"
|
||
|
descriptor="(ILjava/math/BigDecimal;)V" />
|
||
|
<method name="setBinaryStream"
|
||
|
descriptor="(ILjava/io/InputStream;I)V" />
|
||
|
<method name="setDate" descriptor="(ILjava/sql/Date;)V" />
|
||
|
<method name="setDouble" descriptor="(ID)V" />
|
||
|
<method name="setInt" descriptor="(II)V" />
|
||
|
<method name="setNull" descriptor="(II)V" />
|
||
|
<method name="setString"
|
||
|
descriptor="(ILjava/lang/String;)V" />
|
||
|
<method name="setTimestamp"
|
||
|
descriptor="(ILjava/sql/Timestamp;)V" />
|
||
|
</class>
|
||
|
<class name="ResultSet" allocatable="true">
|
||
|
<method name="close" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="first" descriptor="()Z" />
|
||
|
<method name="getBigDecimal"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/math/BigDecimal;">
|
||
|
<new def="x" class="Ljava/math/BigDecimal" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDouble"
|
||
|
descriptor="(Ljava/lang/String;)D">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getDouble" descriptor="(I)D">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getFloat"
|
||
|
descriptor="(Ljava/lang/String;)F">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getFloat" descriptor="(I)F">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getInt" descriptor="(I)I">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getInt"
|
||
|
descriptor="(Ljava/lang/String;)I">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getMetaData"
|
||
|
descriptor="()Ljava/sql/ResultSetMetaData;">
|
||
|
<new def="x" class="Ljava/sql/ResultSetMetaData" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getObject"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/Object;"
|
||
|
factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getString"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/String;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getString"
|
||
|
descriptor="(I)Ljava/lang/String;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getTimestamp"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/Timestamp;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/Timestamp" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="next" descriptor="()Z">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="updateObject"
|
||
|
descriptor="(Ljava/lang/String;Ljava/lang/Object;)V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ResultSetMetaData" allocatable="true">
|
||
|
<method name="getColumnCount" descriptor="()I"></method>
|
||
|
<method name="getColumnLabel"
|
||
|
descriptor="(I)Ljava/lang/String;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="SQLException">
|
||
|
<method name="printStackTrace"
|
||
|
descriptor="(Ljava/io/PrintStream;)V" />
|
||
|
</class>
|
||
|
<class name="Statement" allocatable="true">
|
||
|
<method name="close" descriptor="()V">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="execute"
|
||
|
descriptor="(Ljava/lang/String;)Z">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="executeQuery"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/sql/ResultSet;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/ResultSet" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="executeUpdate"
|
||
|
descriptor="(Ljava/lang/String;)I">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
</method>
|
||
|
<method name="getUpdateCount" descriptor="()I" />
|
||
|
<method name="getResultSet"
|
||
|
descriptor="()Ljava/sql/ResultSet;">
|
||
|
<new class="Ljava/sql/SQLException" />
|
||
|
<new def="x" class="Ljava/sql/ResultSet" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Timestamp" allocatable="true">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/text">
|
||
|
<class name="Collator" allocatable="true">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="getInstance"
|
||
|
descriptor="(Ljava/util/Locale;)Ljava/text/Collator;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/text/Collator" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="DateFormat" allocatable="true">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="format"
|
||
|
descriptor="(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;">
|
||
|
<new def="x" class="Ljava/lang/StringBuffer" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java.text.DateFormat.format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="format"
|
||
|
descriptor="(Ljava/util/Date;)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java.text.DateFormat.format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="getDateInstance"
|
||
|
descriptor="(I)Ljava/text/DateFormat;" static="true">
|
||
|
<new def="x" class="Ljava/text/DateFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getDateTimeInstance"
|
||
|
descriptor="(II)Ljava/text/DateFormat;" static="true">
|
||
|
<new def="x" class="Ljava/text/DateFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getTimeInstance"
|
||
|
descriptor="(I)Ljava/text/DateFormat;" static="true">
|
||
|
<new def="x" class="Ljava/text/DateFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="parse"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/util/Date;">
|
||
|
<new def="x" class="Ljava/util/Date" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="setTimeZone"
|
||
|
descriptor="(Ljava/util/TimeZone;)V">
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="DecimalFormat">
|
||
|
<method name="<init>" descriptor="()V" />
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
<class name="FieldPosition">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
<class name="Format">
|
||
|
<method name="format"
|
||
|
descriptor="(Ljava/lang/Object;)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java/text/Format.format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="MessageFormat">
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
<method name="format"
|
||
|
descriptor="([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;">
|
||
|
<new def="x" class="Ljava/lang/StringBuffer" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java/text/MessageFormat.format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="format"
|
||
|
descriptor="([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;I)Ljava/lang/StringBuffer;">
|
||
|
<new def="x" class="Ljava/lang/StringBuffer" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java/text/MessageFormat.format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="format"
|
||
|
descriptor="(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="questionable model of java/text/MessageFormat/format"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="setLocale"
|
||
|
descriptor="(Ljava/util/Locale;)V">
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="NumberFormat" allocatable="true">
|
||
|
<method name="format"
|
||
|
descriptor="(D)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="format"
|
||
|
descriptor="(J)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getCurrencyInstance"
|
||
|
descriptor="()Ljava/text/NumberFormat;" static="true">
|
||
|
<new def="x" class="Ljava/text/NumberFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getCurrencyInstance"
|
||
|
descriptor="(Ljava/util/Locale;)Ljava/text/NumberFormat;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/text/NumberFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getInstance"
|
||
|
descriptor="()Ljava/text/NumberFormat;" static="true">
|
||
|
<new def="x" class="Ljava/text/NumberFormat" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="SimpleDateFormat">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>" descriptor="()V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/lang/String;)V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(IILjava/util/Locale;)V" />
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
|
||
|
<package name="java/util">
|
||
|
<class name="Calendar" allocatable="true">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="add" descriptor="(II)V" />
|
||
|
<method name="getInstance"
|
||
|
descriptor="()Ljava/util/Calendar;" static="true">
|
||
|
<new def="x" class="Ljava/util/Calendar" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getTimeInMillis" descriptor="()J" />
|
||
|
</class>
|
||
|
<class name="Currency">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
<class name="Date">
|
||
|
<method name="<init>" descriptor="(III)V" />
|
||
|
<method name="getDate" descriptor="()I" />
|
||
|
<method name="getHours" descriptor="()I" />
|
||
|
<method name="getMinutes" descriptor="()I" />
|
||
|
<method name="getMonth" descriptor="()I" />
|
||
|
<method name="getSeconds" descriptor="()I" />
|
||
|
<method name="getTime" descriptor="()J" />
|
||
|
<method name="getYear" descriptor="()I" />
|
||
|
<method name="setTime" descriptor="(J)V" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Locale">
|
||
|
<method name="getDefault"
|
||
|
descriptor="()Ljava/util/Locale;" static="true">
|
||
|
<new def="x" class="Ljava/util/Locale" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Properties">
|
||
|
<method name="load"
|
||
|
descriptor="(Ljava/io/InputStream;)V" />
|
||
|
</class>
|
||
|
<class name="ResourceBundle" allocatable="true">
|
||
|
<method name="getString"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getBundle"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/util/ResourceBundle;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/util/ResourceBundle" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of java.util.ResourceBundle.getBundle"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="getBundle"
|
||
|
descriptor="(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/util/ResourceBundle" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of java.util.ResourceBundle.getBundle"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
<method name="getBundle"
|
||
|
descriptor="(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/util/ResourceBundle" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of java.util.ResourceBundle.getBundle"
|
||
|
level="moderate" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="TimeZone" allocatable="true">
|
||
|
<method name="getDefault"
|
||
|
descriptor="()Ljava/util/TimeZone;" static="true">
|
||
|
<new def="x" class="Ljava/util/TimeZone" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getTimeZone"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/util/TimeZone;"
|
||
|
static="true">
|
||
|
<new def="x" class="Ljava/util/TimeZone" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/util/logging">
|
||
|
<class name="LogRecord">
|
||
|
<method name="getSourceClassName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getSourceMethodName"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="java/util/zip">
|
||
|
<class name="CRC32">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="updateBytes" descriptor="(I[BII)I"
|
||
|
static="true" />
|
||
|
</class>
|
||
|
<class name="Deflater">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="deflateBytes" descriptor="([BII)I">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="end" static="true" descriptor="(J)V" />
|
||
|
<method name="getTotalIn" static="true"
|
||
|
descriptor="(J)I">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="getTotalOut" static="true"
|
||
|
descriptor="(J)I">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="init" static="true" descriptor="(IIZ)J">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
<method name="reset" descriptor="(J)V" static="true" />
|
||
|
</class>
|
||
|
<class name="Inflater">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>" descriptor="(Z)V" />
|
||
|
<method name="end" descriptor="()V" />
|
||
|
<method name="reset" descriptor="()V" />
|
||
|
<method name="getTotalIn" descriptor="(J)I"
|
||
|
static="true" />
|
||
|
<method name="getTotalOut" descriptor="(J)I"
|
||
|
static="true" />
|
||
|
</class>
|
||
|
<class name="InflaterInputStream">
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="read" descriptor="([BII)I">
|
||
|
<constant name="yes" type="int" value="1" />
|
||
|
<constant name="no" type="int" value="0" />
|
||
|
<return value="yes" />
|
||
|
<return value="no" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="ZipEntry">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>" descriptor="(J)V" />
|
||
|
<method name="initFields" descriptor="(J)V" />
|
||
|
</class>
|
||
|
<class name="ZipFile">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/io/File;)V" />
|
||
|
<method name="freeEntry" descriptor="(JJ)V"
|
||
|
static="true" />
|
||
|
<method name="getNextEntry" descriptor="(JI)J"
|
||
|
static="true" />
|
||
|
<method name="getInputStream"
|
||
|
descriptor="(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;">
|
||
|
<new def="x" class="Ljava/io/InputStream" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getZipMessage"
|
||
|
descriptor="(J)Ljava/lang/String;" static="true">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getEntry"
|
||
|
descriptor="(JLjava/lang/String;)J" static="true" />
|
||
|
<method name="close" descriptor="()V" />
|
||
|
<method name="close" descriptor="(J)V" static="true" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="javax/accessibility">
|
||
|
<class name="AccessibleBundle">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="AccessibleRelationSet">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="AccessibleStateSet">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="javax/naming">
|
||
|
<class name="InitialContext">
|
||
|
<method name="<init>" descriptor="()V" />
|
||
|
<method name="<init>"
|
||
|
descriptor="(Ljava/util/Hashtable;)V" />
|
||
|
<method name="getDefaultInitCtx"
|
||
|
descriptor="()Ljavax/naming/Context;">
|
||
|
<new def="x" class="Ljavax/naming/InitialContext" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="lookup"
|
||
|
descriptor="(Ljava/lang/String;)Ljava/lang/Object;"
|
||
|
factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
<new def="y" class="Ljavax/naming/NamingException" />
|
||
|
<throw value="y" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="javax/naming/directory">
|
||
|
<class name="BasicAttribute">
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="javax/rmi">
|
||
|
<class name="PortableRemoteObject">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="narrow"
|
||
|
descriptor="(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;"
|
||
|
static="true" factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of PortableRemoteObject.narrow"
|
||
|
level="severe" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
|
||
|
<package name="javax/sql">
|
||
|
<class name="DataSource" allocatable="true">
|
||
|
<method name="getConnection"
|
||
|
descriptor="()Ljava/sql/Connection;">
|
||
|
<new def="x" class="Ljava/sql/Connection" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
<method name="getConnection"
|
||
|
descriptor="(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;">
|
||
|
<new def="x" class="Ljava/sql/Connection" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="javax/rmi/CORBA">
|
||
|
<class name="PortableRemoteObject">
|
||
|
<method name="narrow"
|
||
|
descriptor="(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;"
|
||
|
static="true" factory="true">
|
||
|
<new def="x" class="Lcom/ibm/wala/Malleable" />
|
||
|
<return value="x" />
|
||
|
<poison
|
||
|
reason="bogus model of PortableRemoteObject.narrow"
|
||
|
level="severe" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Stub">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="hashCode" descriptor="()I" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
<class name="Util">
|
||
|
<method name="<clinit>" static="true"
|
||
|
descriptor="()V" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="org/omg/CORBA/portable">
|
||
|
<class name="ObjectImpl">
|
||
|
<method name="equals"
|
||
|
descriptor="(Ljava/lang/Object;)Z" />
|
||
|
<method name="toString"
|
||
|
descriptor="()Ljava/lang/String;">
|
||
|
<new def="x" class="Ljava/lang/String" />
|
||
|
<return value="x" />
|
||
|
</method>
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
<package name="sun/misc">
|
||
|
<class name="Launcher">
|
||
|
<method name="<clinit>" descriptor="()V"
|
||
|
static="true" />
|
||
|
</class>
|
||
|
</package>
|
||
|
|
||
|
</classloader>
|
||
|
|
||
|
</summary-spec>
|