proguard.classfile
Class ProgramMember

java.lang.Object
  extended by proguard.classfile.ProgramMember
All Implemented Interfaces:
Member, VisitorAccepter
Direct Known Subclasses:
ProgramField, ProgramMethod

public abstract class ProgramMember
extends java.lang.Object
implements Member

Representation of a field or method from a program class.


Field Summary
 Attribute[] attributes
           
 int u2accessFlags
           
 int u2attributesCount
           
 int u2descriptorIndex
           
 int u2nameIndex
           
 java.lang.Object visitorInfo
          An extra field in which visitors can store information.
 
Constructor Summary
protected ProgramMember()
          Creates an uninitialized ProgramMember.
protected ProgramMember(int u2accessFlags, int u2nameIndex, int u2descriptorIndex, int u2attributesCount, Attribute[] attributes)
          Creates an initialized ProgramMember.
 
Method Summary
 void accept(Clazz clazz, MemberVisitor memberVisitor)
          Accepts the given class visitor.
abstract  void accept(ProgramClass programClass, MemberVisitor memberVisitor)
          Accepts the given member info visitor.
abstract  void attributesAccept(ProgramClass programClass, AttributeVisitor attributeVisitor)
          Lets the given attribute info visitor visit all the attributes of this member info.
 int getAccessFlags()
          Returns the access flags.
 java.lang.String getDescriptor(Clazz clazz)
          Returns the class member's descriptor.
 java.lang.String getLineNumberRange(Clazz clazz)
          Returns the line number range of the given class member as "m:n", if it can find it, or null otherwise.
 java.lang.String getName(Clazz clazz)
          Returns the class member name.
 java.lang.Object getVisitorInfo()
          Gets the visitor information of the visitor accepter.
 void setVisitorInfo(java.lang.Object visitorInfo)
          Sets the visitor information of the visitor accepter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface proguard.classfile.Member
referencedClassesAccept
 

Field Detail

u2accessFlags

public int u2accessFlags

u2nameIndex

public int u2nameIndex

u2descriptorIndex

public int u2descriptorIndex

u2attributesCount

public int u2attributesCount

attributes

public Attribute[] attributes

visitorInfo

public java.lang.Object visitorInfo
An extra field in which visitors can store information.

Constructor Detail

ProgramMember

protected ProgramMember()
Creates an uninitialized ProgramMember.


ProgramMember

protected ProgramMember(int u2accessFlags,
                        int u2nameIndex,
                        int u2descriptorIndex,
                        int u2attributesCount,
                        Attribute[] attributes)
Creates an initialized ProgramMember.

Method Detail

getLineNumberRange

public java.lang.String getLineNumberRange(Clazz clazz)
Returns the line number range of the given class member as "m:n", if it can find it, or null otherwise.


accept

public abstract void accept(ProgramClass programClass,
                            MemberVisitor memberVisitor)
Accepts the given member info visitor.


attributesAccept

public abstract void attributesAccept(ProgramClass programClass,
                                      AttributeVisitor attributeVisitor)
Lets the given attribute info visitor visit all the attributes of this member info.


getAccessFlags

public int getAccessFlags()
Description copied from interface: Member
Returns the access flags.

Specified by:
getAccessFlags in interface Member

getName

public java.lang.String getName(Clazz clazz)
Description copied from interface: Member
Returns the class member name.

Specified by:
getName in interface Member

getDescriptor

public java.lang.String getDescriptor(Clazz clazz)
Description copied from interface: Member
Returns the class member's descriptor.

Specified by:
getDescriptor in interface Member

accept

public void accept(Clazz clazz,
                   MemberVisitor memberVisitor)
Description copied from interface: Member
Accepts the given class visitor.

Specified by:
accept in interface Member

getVisitorInfo

public java.lang.Object getVisitorInfo()
Description copied from interface: VisitorAccepter
Gets the visitor information of the visitor accepter.

Specified by:
getVisitorInfo in interface VisitorAccepter

setVisitorInfo

public void setVisitorInfo(java.lang.Object visitorInfo)
Description copied from interface: VisitorAccepter
Sets the visitor information of the visitor accepter.

Specified by:
setVisitorInfo in interface VisitorAccepter