Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

jvm_Attribute Class Reference

This file defines various attribute entries in a .class file (JVMS 4.7). More...

#include <jvm_attribute.h>

Inheritance diagram for jvm_Attribute:

jvm_Component jvm_CodeAttribute jvm_ConstantValueAttribute jvm_ExceptionsAttribute jvm_LineNumberTableAttribute jvm_LocalVariableTableAttribute jvm_SourceFileAttribute List of all members.

Public Types

enum  attribute_kind {
  BaseClass = 0,
  SourceFile = 1,
  ConstantValue = 2,
  Code = 3,
  Exceptions = 4,
  LineNumberTable = 5,
  LocalVariableTable = 6
}

Public Methods

 jvm_Attribute (jvm_Classfile* cf, u2 attribute_name_index, u4 attribute_length)
component_kinds component_kind ()
virtual attribute_kind kind () const
bool is_SourceFile () const
bool is_ConstantValue () const
bool is_Code () const
bool is_Exceptions () const
bool is_LineNumberTable () const
bool is_LocalVariableTable () const
void set_attribute_name_index (u2 ni)
void set_attribute_length (u4 nl)
void write ()
void print ()

Static Public Methods

jvm_Attribute* create (jvm_Classfile* cf)

Protected Attributes

u2 _attribute_name_index
u4 _attribute_length


Detailed Description

This file defines various attribute entries in a .class file (JVMS 4.7).

All attributes derive from the abstract base class jvm_Component.

jvm_Attribute is the base class for all attributes.


Member Enumeration Documentation

enum jvm_Attribute::attribute_kind

Enumeration values:
BaseClass  
SourceFile  
ConstantValue  
Code  
Exceptions  
LineNumberTable  
LocalVariableTable  

Constructor & Destructor Documentation

jvm_Attribute::jvm_Attribute ( jvm_Classfile * cf,
u2 attribute_name_index,
u4 attribute_length)


Member Function Documentation

component_kinds jvm_Attribute::component_kind () [inline, virtual]

Reimplemented from jvm_Component.

jvm_Attribute * jvm_Attribute::create ( jvm_Classfile * cf) [static]

Reimplemented in jvm_CodeAttribute, jvm_ConstantValueAttribute, jvm_ExceptionsAttribute, jvm_LineNumberTableAttribute, jvm_LocalVariableTableAttribute, and jvm_SourceFileAttribute.

bool jvm_Attribute::is_Code () const [inline]

bool jvm_Attribute::is_ConstantValue () const [inline]

bool jvm_Attribute::is_Exceptions () const [inline]

bool jvm_Attribute::is_LineNumberTable () const [inline]

bool jvm_Attribute::is_LocalVariableTable () const [inline]

bool jvm_Attribute::is_SourceFile () const [inline]

jvm_Attribute::attribute_kind jvm_Attribute::kind ( void) const [virtual]

Reimplemented in jvm_CodeAttribute, jvm_ConstantValueAttribute, jvm_ExceptionsAttribute, jvm_LineNumberTableAttribute, jvm_LocalVariableTableAttribute, and jvm_SourceFileAttribute.

void jvm_Attribute::print ( void) [virtual]

Reimplemented from jvm_Component.

Reimplemented in jvm_CodeAttribute, jvm_ConstantValueAttribute, jvm_ExceptionsAttribute, jvm_LineNumberTableAttribute, jvm_LocalVariableTableAttribute, and jvm_SourceFileAttribute.

void jvm_Attribute::set_attribute_length ( u4 nl) [inline]

void jvm_Attribute::set_attribute_name_index ( u2 ni) [inline]

void jvm_Attribute::write ( void) [virtual]

Reimplemented from jvm_Component.

Reimplemented in jvm_CodeAttribute, jvm_ConstantValueAttribute, jvm_ExceptionsAttribute, jvm_LineNumberTableAttribute, jvm_LocalVariableTableAttribute, and jvm_SourceFileAttribute.


Member Data Documentation

u4 jvm_Attribute::_attribute_length [protected]

u2 jvm_Attribute::_attribute_name_index [protected]


The documentation for this class was generated from the following files:
Generated at Mon Jul 31 13:43:51 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000