public class CONSTANT_Utf8_info
extends java.lang.Object
cp_info
Modifier and Type | Field and Description |
---|---|
static byte |
CONSTANT_Class |
static byte |
CONSTANT_Double |
static byte |
CONSTANT_Fieldref |
static byte |
CONSTANT_Float |
static byte |
CONSTANT_Integer |
static byte |
CONSTANT_InterfaceMethodref |
static byte |
CONSTANT_InvokeDynamic |
static byte |
CONSTANT_Long |
static byte |
CONSTANT_MethodHandle |
static byte |
CONSTANT_Methodref |
static byte |
CONSTANT_MethodType |
static byte |
CONSTANT_NameAndType |
static byte |
CONSTANT_String |
static byte |
CONSTANT_Utf8 |
static byte |
REF_getField |
static byte |
REF_getStatic |
static byte |
REF_invokeInterface |
static byte |
REF_invokeSpecial |
static byte |
REF_invokeStatic |
static byte |
REF_invokeVirtual |
static byte |
REF_newInvokeSpecial |
static byte |
REF_putField |
static byte |
REF_putStatic |
static byte[] |
REF_TO_CONSTANT |
byte |
tag
One of the CONSTANT_* constants.
|
Constructor and Description |
---|
CONSTANT_Utf8_info(java.io.DataInputStream d)
Constructor from a DataInputSream
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(soot.coffi.cp_info cp)
Compares this entry with another cp_info object; note that for Utf8
object it really doesn't matter whether they're in the same or a different
constant pool, since they really do carry all their data.
|
int |
compareTo(soot.coffi.cp_info[] constant_pool,
soot.coffi.cp_info cp,
soot.coffi.cp_info[] cp_constant_pool)
Compares this entry with another cp_info object (which may reside
in a different constant pool).
|
java.lang.String |
convert()
Converts internal representation into an actual String.
|
static int |
countParams(soot.coffi.cp_info[] constant_pool,
int m)
Counts the number of parameters of the given method.
|
Value |
createJimpleConstantValue(soot.coffi.cp_info[] constant_pool)
Creates an appropriate jimple representation of this constant.
|
boolean |
equals(CONSTANT_Utf8_info cu)
Answers whether this utf8 string is the same as a given one.
|
static java.lang.String |
fieldType(soot.coffi.cp_info[] constant_pool,
int i)
Returns the name of the field type of the given constant pool object.
|
void |
fixConversion(java.lang.String rep)
Fixes the actual String used to represent the internal representation.
|
static java.lang.String |
getClassname(soot.coffi.cp_info[] constant_pool,
int i)
Locates the name of the corresponding class, given the constant
pool index of either a CONSTANT_Class, _Fieldref, Methodref or
InterfaceMethodref.
|
static java.lang.String |
getName(soot.coffi.cp_info[] constant_pool,
int i)
Returns the name of the given constant pool object, assuming it is
of type CONSTANT_NameAndType, _FieldRef, _Methodref or _InterfaceMethodref.
|
static java.lang.String |
getTypeDescr(soot.coffi.cp_info[] constant_pool,
int i)
Returns the type descriptor for the given constant pool
object, which must be a CONSTANT_Utf8, CONSTANT_NameAndType,
CONSTANT_Fieldref, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef.
|
static long |
ints2long(long high,
long low)
Utility method, converts two integers into a single long.
|
int |
length()
Length in bytes of byte array.
|
static java.lang.String |
printBits(int i)
Utility method, returns a String binary representation of the
given integer.
|
static java.lang.String |
printBits(long i)
Utility method, returns a String binary representation of the
given long.
|
int |
size()
Returns the size of this cp_info object.
|
java.lang.String |
toString(soot.coffi.cp_info[] constant_pool)
Returns a String representation of this entry.
|
static byte[] |
toUtf8(java.lang.String s)
Utility method; converts the given String into a utf8 encoded array
of bytes.
|
java.lang.String |
typeName()
Returns a String description of what kind of entry this is.
|
void |
writeBytes(java.io.DataOutputStream dd)
For writing out the byte stream for this utf8 properly (incl size).
|
public static final byte CONSTANT_Utf8
public static final byte CONSTANT_Integer
public static final byte CONSTANT_Float
public static final byte CONSTANT_Long
public static final byte CONSTANT_Double
public static final byte CONSTANT_Class
public static final byte CONSTANT_String
public static final byte CONSTANT_Fieldref
public static final byte CONSTANT_Methodref
public static final byte CONSTANT_InterfaceMethodref
public static final byte CONSTANT_NameAndType
public static final byte CONSTANT_MethodHandle
public static final byte CONSTANT_MethodType
public static final byte CONSTANT_InvokeDynamic
public static final byte REF_getField
public static final byte REF_getStatic
public static final byte REF_putField
public static final byte REF_putStatic
public static final byte REF_invokeVirtual
public static final byte REF_invokeStatic
public static final byte REF_invokeSpecial
public static final byte REF_newInvokeSpecial
public static final byte REF_invokeInterface
public static final byte[] REF_TO_CONSTANT
public byte tag
public CONSTANT_Utf8_info(java.io.DataInputStream d) throws java.io.IOException
java.io.IOException
public void writeBytes(java.io.DataOutputStream dd) throws java.io.IOException
java.io.IOException
public int length()
public int size()
cp_info.size()
public java.lang.String convert()
public void fixConversion(java.lang.String rep)
public boolean equals(CONSTANT_Utf8_info cu)
cu
- utf8 object with which to compare.public int compareTo(soot.coffi.cp_info[] constant_pool, soot.coffi.cp_info cp, soot.coffi.cp_info[] cp_constant_pool)
constant_pool
- constant pool of ClassFile for this.cp
- constant pool entry to compare against.cp_constant_pool
- constant pool of ClassFile for cp.cp_info.compareTo(soot.coffi.cp_info[], soot.coffi.cp_info, soot.coffi.cp_info[])
,
compareTo(cp_info)
public int compareTo(soot.coffi.cp_info cp)
cp
- constant pool entry to compare against.cp_info.compareTo(soot.coffi.cp_info[], soot.coffi.cp_info, soot.coffi.cp_info[])
,
compareTo(cp_info[],cp_info,cp_info[])
public static byte[] toUtf8(java.lang.String s)
s
- String to encode.public java.lang.String toString(soot.coffi.cp_info[] constant_pool)
constant_pool
- constant pool of ClassFile.cp_info.toString(soot.coffi.cp_info[])
public java.lang.String typeName()
cp_info.typeName()
public Value createJimpleConstantValue(soot.coffi.cp_info[] constant_pool)
public static long ints2long(long high, long low)
high
- upper 32 bits of the long.low
- lower 32 bits of the long.public static java.lang.String printBits(int i)
i
- the integer in question.cp_info.printBits(long)
public static java.lang.String printBits(long i)
i
- the long in question.cp_info.printBits(int)
public static java.lang.String getClassname(soot.coffi.cp_info[] constant_pool, int i)
constant_pool
- constant pool of ClassFile.i
- index of cp_info entry in question.public static java.lang.String getName(soot.coffi.cp_info[] constant_pool, int i)
constant_pool
- constant pool of ClassFile.i
- index of cp_info entry in question.CONSTANT_Utf8_info
public static int countParams(soot.coffi.cp_info[] constant_pool, int m)
constant_pool
- constant pool of ClassFile.m
- a constant pool index as accepted by getTypeDescr.cp_info.getTypeDescr(soot.coffi.cp_info[], int)
public static java.lang.String getTypeDescr(soot.coffi.cp_info[] constant_pool, int i)
constant_pool
- constant pool of ClassFile.i
- a constant pool index for an entry of type CONSTANT_Utf8,
CONSTANT_NameAndType, CONSTANT_MethodRef, or CONSTANT_InterfaceMethodRef.CONSTANT_Utf8_info
public static java.lang.String fieldType(soot.coffi.cp_info[] constant_pool, int i)
constant_pool
- constant pool of ClassFile.i
- a constant pool index for an entry of type CONSTANT_Utf8,
CONSTANT_NameAndType, or CONSTANT_FieldRef.CONSTANT_Utf8_info
,
cp_info.getTypeDescr(soot.coffi.cp_info[], int)