Package com.yworks.yguard.obf.classfile
Class RefCpInfo
- java.lang.Object
-
- com.yworks.yguard.obf.classfile.CpInfo
-
- com.yworks.yguard.obf.classfile.RefCpInfo
-
- All Implemented Interfaces:
ClassConstants
- Direct Known Subclasses:
FieldrefCpInfo,InterfaceMethodrefCpInfo,MethodrefCpInfo
public abstract class RefCpInfo extends CpInfo
Representation of a 'ref'-type entry in the ConstantPool.
-
-
Field Summary
-
Fields inherited from interface com.yworks.yguard.obf.classfile.ClassConstants
ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ATTR_AnnotationDefault, ATTR_BootstrapMethods, ATTR_Bridge, ATTR_Code, ATTR_ConstantValue, ATTR_Deprecated, ATTR_EnclosingMethod, ATTR_Enum, ATTR_Exceptions, ATTR_InnerClasses, ATTR_LineNumberTable, ATTR_LocalVariableTable, ATTR_LocalVariableTypeTable, ATTR_MethodParameters, ATTR_Module, ATTR_ModuleMainClass, ATTR_ModulePackages, ATTR_NestHost, ATTR_NestMembers, ATTR_PermittedSubclasses, ATTR_Record, ATTR_RuntimeInvisibleAnnotations, ATTR_RuntimeInvisibleParameterAnnotations, ATTR_RuntimeInvisibleTypeAnnotations, ATTR_RuntimeVisibleAnnotations, ATTR_RuntimeVisibleParameterAnnotations, ATTR_RuntimeVisibleTypeAnnotations, ATTR_Signature, ATTR_SourceDebug, ATTR_SourceDebugExtension, ATTR_SourceFile, ATTR_StackMapTable, ATTR_Synthetic, ATTR_Unknown, ATTR_Varargs, CONSTANT_Class, CONSTANT_Double, CONSTANT_Dynamic, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_Methodref, CONSTANT_MethodType, CONSTANT_Module, CONSTANT_NameAndType, CONSTANT_Package, CONSTANT_String, CONSTANT_Utf8, KNOWN_ATTRS, MAGIC, MAJOR_VERSION, MINOR_VERSION_MAX, REF_getField, REF_getStatic, REF_invokeInterface, REF_invokeSpecial, REF_invokeStatic, REF_invokeVirtual, REF_newInvokeSpecial, REF_putField, REF_putStatic, REQUIRED_ATTRS
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRefCpInfo(int tag)Instantiates a new Ref cp info.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddump(java.io.PrintWriter pw, ClassFile cf, int index)Dump the content of the class file to the specified file (used for debugging).protected intgetClassIndex()Return the class index.protected intgetNameAndTypeIndex()Return the name-and-type index.protected voidmarkNTRefs(ConstantPool pool)Check for N+T references to constant pool and mark them.protected voidreadInfo(java.io.DataInput din)Read the 'info' data following the u1tag byte.protected voidsetNameAndTypeIndex(int index)Set the name-and-type index.protected voidwriteInfo(java.io.DataOutput dout)Write the 'info' data following the u1tag byte.-
Methods inherited from class com.yworks.yguard.obf.classfile.CpInfo
create, decRefCount, getRefCount, incRefCount, markUtf8Refs, resetRefCount, write
-
-
-
-
Method Detail
-
getClassIndex
protected int getClassIndex()
Return the class index.- Returns:
- the class index
-
getNameAndTypeIndex
protected int getNameAndTypeIndex()
Return the name-and-type index.- Returns:
- the name and type index
-
setNameAndTypeIndex
protected void setNameAndTypeIndex(int index)
Set the name-and-type index.- Parameters:
index- the index
-
markNTRefs
protected void markNTRefs(ConstantPool pool)
Check for N+T references to constant pool and mark them.- Overrides:
markNTRefsin classCpInfo- Parameters:
pool- the pool
-
readInfo
protected void readInfo(java.io.DataInput din) throws java.io.IOExceptionRead the 'info' data following the u1tag byte.
-
writeInfo
protected void writeInfo(java.io.DataOutput dout) throws java.io.IOExceptionWrite the 'info' data following the u1tag byte.
-
-