Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Clazz
Class jq_Member  view jq_Member download jq_Member.java

java.lang.Object
  extended byClazz.jq_Member
All Implemented Interfaces:
Compil3r.Quad.AndersenInterface.AndersenMember, jq_ClassFileConstants
Direct Known Subclasses:
jq_Field, jq_Method

public abstract class jq_Member
extends java.lang.Object
implements jq_ClassFileConstants, Compil3r.Quad.AndersenInterface.AndersenMember


Nested Class Summary
static class jq_Member.FilterByName
           
static class jq_Member.FilterByShortClassName
           
 
Field Summary
protected  char access_flags
           
protected  java.util.Map attributes
           
protected  jq_Class clazz
           
static boolean DETERMINISTIC
           
private  java.lang.reflect.Member member_object
           
protected  jq_NameAndDesc nd
           
protected  byte state
           
static boolean USE_MEMBER_OBJECT_FIELD
           
 
Fields inherited from interface Clazz.jq_ClassFileConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_Class, CONSTANT_Double, CONSTANT_FieldRef, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodRef, CONSTANT_Long, CONSTANT_MethodRef, CONSTANT_NameAndType, CONSTANT_ResolvedClass, CONSTANT_ResolvedIFieldRef, CONSTANT_ResolvedIMethodRef, CONSTANT_ResolvedSFieldRef, CONSTANT_ResolvedSMethodRef, CONSTANT_String, CONSTANT_Utf8, CONSUME_STACK, ILLEGAL_OPCODE, ILLEGAL_TYPE, jbc_AALOAD, jbc_AASTORE, jbc_ACONST_NULL, jbc_ALOAD, jbc_ALOAD_0, jbc_ALOAD_1, jbc_ALOAD_2, jbc_ALOAD_3, jbc_ANEWARRAY, jbc_ARETURN, jbc_ARRAYLENGTH, jbc_ASTORE, jbc_ASTORE_0, jbc_ASTORE_1, jbc_ASTORE_2, jbc_ASTORE_3, jbc_ATHROW, jbc_BALOAD, jbc_BASTORE, jbc_BIPUSH, jbc_BREAKPOINT, jbc_CALOAD, jbc_CASTORE, jbc_CHECKCAST, jbc_D2F, jbc_D2I, jbc_D2L, jbc_DADD, jbc_DALOAD, jbc_DASTORE, jbc_DCMPG, jbc_DCMPL, jbc_DCONST_0, jbc_DCONST_1, jbc_DDIV, jbc_DLOAD, jbc_DLOAD_0, jbc_DLOAD_1, jbc_DLOAD_2, jbc_DLOAD_3, jbc_DMUL, jbc_DNEG, jbc_DREM, jbc_DRETURN, jbc_DSTORE, jbc_DSTORE_0, jbc_DSTORE_1, jbc_DSTORE_2, jbc_DSTORE_3, jbc_DSUB, jbc_DUP, jbc_DUP_X1, jbc_DUP_X2, jbc_DUP2, jbc_DUP2_X1, jbc_DUP2_X2, jbc_F2D, jbc_F2I, jbc_F2L, jbc_FADD, jbc_FALOAD, jbc_FASTORE, jbc_FCMPG, jbc_FCMPL, jbc_FCONST_0, jbc_FCONST_1, jbc_FCONST_2, jbc_FDIV, jbc_FLOAD, jbc_FLOAD_0, jbc_FLOAD_1, jbc_FLOAD_2, jbc_FLOAD_3, jbc_FMUL, jbc_FNEG, jbc_FREM, jbc_FRETURN, jbc_FSTORE, jbc_FSTORE_0, jbc_FSTORE_1, jbc_FSTORE_2, jbc_FSTORE_3, jbc_FSUB, jbc_GETFIELD, jbc_GETSTATIC, jbc_GOTO, jbc_GOTO_W, jbc_I2B, jbc_I2C, jbc_I2D, jbc_I2F, jbc_I2L, jbc_I2S, jbc_IADD, jbc_IALOAD, jbc_IAND, jbc_IASTORE, jbc_ICONST_0, jbc_ICONST_1, jbc_ICONST_2, jbc_ICONST_3, jbc_ICONST_4, jbc_ICONST_5, jbc_ICONST_M1, jbc_IDIV, jbc_IF_ACMPEQ, jbc_IF_ACMPNE, jbc_IF_ICMPEQ, jbc_IF_ICMPGE, jbc_IF_ICMPGT, jbc_IF_ICMPLE, jbc_IF_ICMPLT, jbc_IF_ICMPNE, jbc_IFEQ, jbc_IFGE, jbc_IFGT, jbc_IFLE, jbc_IFLT, jbc_IFNE, jbc_IFNONNULL, jbc_IFNULL, jbc_IINC, jbc_ILOAD, jbc_ILOAD_0, jbc_ILOAD_1, jbc_ILOAD_2, jbc_ILOAD_3, jbc_IMUL, jbc_INEG, jbc_INSTANCEOF, jbc_INT2BYTE, jbc_INT2CHAR, jbc_INT2SHORT, jbc_INVOKEINTERFACE, jbc_INVOKENONVIRTUAL, jbc_INVOKESPECIAL, jbc_INVOKESTATIC, jbc_INVOKEVIRTUAL, jbc_IOR, jbc_IREM, jbc_IRETURN, jbc_ISHL, jbc_ISHR, jbc_ISTORE, jbc_ISTORE_0, jbc_ISTORE_1, jbc_ISTORE_2, jbc_ISTORE_3, jbc_ISUB, jbc_IUSHR, jbc_IXOR, jbc_JSR, jbc_JSR_W, jbc_L2D, jbc_L2F, jbc_L2I, jbc_LADD, jbc_LALOAD, jbc_LAND, jbc_LASTORE, jbc_LCMP, jbc_LCONST_0, jbc_LCONST_1, jbc_LDC, jbc_LDC_W, jbc_LDC2_W, jbc_LDIV, jbc_LLOAD, jbc_LLOAD_0, jbc_LLOAD_1, jbc_LLOAD_2, jbc_LLOAD_3, jbc_LMUL, jbc_LNEG, jbc_LOOKUPSWITCH, jbc_LOR, jbc_LREM, jbc_LRETURN, jbc_LSHL, jbc_LSHR, jbc_LSTORE, jbc_LSTORE_0, jbc_LSTORE_1, jbc_LSTORE_2, jbc_LSTORE_3, jbc_LSUB, jbc_LUSHR, jbc_LXOR, jbc_MONITORENTER, jbc_MONITOREXIT, jbc_MULTIANEWARRAY, jbc_NEW, jbc_NEWARRAY, jbc_NOP, jbc_POP, jbc_POP2, jbc_PUTFIELD, jbc_PUTSTATIC, jbc_RET, jbc_RETURN, jbc_SALOAD, jbc_SASTORE, jbc_SIPUSH, jbc_SWAP, jbc_TABLESWITCH, jbc_WIDE, NO_OF_OPERANDS, OPCODE_NAMES, PRODUCE_STACK, RESERVED, STATE_CLSINITERROR, STATE_CLSINITIALIZED, STATE_CLSINITIALIZING, STATE_CLSINITRUNNING, STATE_COMPILED, STATE_COMPILING, STATE_LOADED, STATE_LOADERROR, STATE_LOADING1, STATE_LOADING2, STATE_LOADING3, STATE_PREPARED, STATE_PREPARING, STATE_SFINITIALIZED, STATE_SFINITIALIZING, STATE_UNLOADED, STATE_VERIFIED, STATE_VERIFYING, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_CLASSEND, TC_DOUBLE, TC_FLOAT, TC_INT, TC_LONG, TC_PARAM, TC_PARAMEND, TC_SHORT, TC_VOID, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE
 
Constructor Summary
protected jq_Member(jq_Class clazz, jq_NameAndDesc nd)
           
 
Method Summary
 Compil3r.Quad.AndersenInterface.AndersenClass and_getDeclaringClass()
           
 boolean checkAccessFlag(char f)
           
protected  void chkState(int s)
           
 void dump(java.io.DataOutput out, jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 void dumpAttributes(java.io.DataOutput out, jq_ConstantPool.ConstantPoolRebuilder cpr)
           
 char getAccessFlags()
           
 byte[] getAttribute(java.lang.String name)
           
 byte[] getAttribute(UTF.Utf8 name)
           
 java.util.Map getAttributes()
           
 jq_Class getDeclaringClass()
           
 UTF.Utf8 getDesc()
           
 java.lang.reflect.Member getJavaLangReflectMemberObject()
           
 UTF.Utf8 getName()
           
 jq_NameAndDesc getNameAndDesc()
           
 int getState()
           
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
private  void initializeMemberObject()
           
 boolean isDeprecated()
           
 boolean isFinal()
           
 boolean isLoaded()
           
 boolean isPrivate()
           
 boolean isProtected()
           
 boolean isPublic()
           
abstract  boolean isStatic()
           
 boolean isSynthetic()
           
 void load(char access_flags, java.io.DataInput in)
           
 void load(char access_flags, java.util.Map attributes)
           
abstract  boolean needsDynamicLink(jq_Method method)
           
 void removeAttribute(java.lang.String name)
           
 void removeAttribute(UTF.Utf8 name)
           
abstract  jq_Member resolve()
           
 void setDeclaringClass(jq_Class k)
           
 void setNameAndDesc(jq_NameAndDesc nd)
           
 void unload()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

state

protected byte state

clazz

protected jq_Class clazz

nd

protected jq_NameAndDesc nd

access_flags

protected char access_flags

attributes

protected java.util.Map attributes

member_object

private java.lang.reflect.Member member_object

USE_MEMBER_OBJECT_FIELD

public static final boolean USE_MEMBER_OBJECT_FIELD
See Also:
Constant Field Values

DETERMINISTIC

public static final boolean DETERMINISTIC
See Also:
Constant Field Values
Constructor Detail

jq_Member

protected jq_Member(jq_Class clazz,
                    jq_NameAndDesc nd)
Method Detail

chkState

protected final void chkState(int s)

getState

public final int getState()

isLoaded

public final boolean isLoaded()

initializeMemberObject

private final void initializeMemberObject()

getJavaLangReflectMemberObject

public final java.lang.reflect.Member getJavaLangReflectMemberObject()

hashCode

public int hashCode()
Description copied from class: java.lang.Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

  • Semantic equality implies identical hashcodes. In other words, if a.equals(b) is true, then a.hashCode() == b.hashCode() must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.
  • It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.

Notice that since hashCode is used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)


load

public void load(char access_flags,
                 java.io.DataInput in)
          throws java.io.IOException,
                 java.lang.ClassFormatError

load

public void load(char access_flags,
                 java.util.Map attributes)

unload

public void unload()

dump

public final void dump(java.io.DataOutput out,
                       jq_ConstantPool.ConstantPoolRebuilder cpr)
                throws java.io.IOException

dumpAttributes

public void dumpAttributes(java.io.DataOutput out,
                           jq_ConstantPool.ConstantPoolRebuilder cpr)
                    throws java.io.IOException

getDeclaringClass

public final jq_Class getDeclaringClass()

and_getDeclaringClass

public final Compil3r.Quad.AndersenInterface.AndersenClass and_getDeclaringClass()
Specified by:
and_getDeclaringClass in interface Compil3r.Quad.AndersenInterface.AndersenMember

getNameAndDesc

public final jq_NameAndDesc getNameAndDesc()
Specified by:
getNameAndDesc in interface Compil3r.Quad.AndersenInterface.AndersenMember

getName

public final UTF.Utf8 getName()
Specified by:
getName in interface Compil3r.Quad.AndersenInterface.AndersenMember

getDesc

public final UTF.Utf8 getDesc()

needsDynamicLink

public abstract boolean needsDynamicLink(jq_Method method)

setDeclaringClass

public final void setDeclaringClass(jq_Class k)

setNameAndDesc

public final void setNameAndDesc(jq_NameAndDesc nd)

resolve

public abstract jq_Member resolve()

getAttribute

public final byte[] getAttribute(UTF.Utf8 name)

getAttribute

public final byte[] getAttribute(java.lang.String name)

getAttributes

public final java.util.Map getAttributes()

removeAttribute

public final void removeAttribute(java.lang.String name)

removeAttribute

public final void removeAttribute(UTF.Utf8 name)

checkAccessFlag

public final boolean checkAccessFlag(char f)

getAccessFlags

public final char getAccessFlags()

isPublic

public final boolean isPublic()

isPrivate

public final boolean isPrivate()

isProtected

public final boolean isProtected()

isFinal

public final boolean isFinal()

isSynthetic

public final boolean isSynthetic()

isDeprecated

public final boolean isDeprecated()

isStatic

public abstract boolean isStatic()