de.fub.bytecode.classfile
Class Constant
java.lang.Object
|
+--de.fub.bytecode.classfile.Constant
- All Implemented Interfaces:
- java.lang.Cloneable, Node
- Direct Known Subclasses:
- ConstantClass, ConstantCP, ConstantDouble, ConstantFloat, ConstantInteger, ConstantLong, ConstantNameAndType, ConstantString, ConstantUtf8
- public abstract class Constant
- extends java.lang.Object
- implements java.lang.Cloneable, Node
Abstract superclass for classes to represent the different constant types
in the constant pool of a class file. The classes keep closely to
the JVM specification.
- Version:
- $Id: Constant.java,v 1.5 2001/06/11 11:38:08 dahm Exp $
- Author:
- M. Dahm
Field Summary |
protected byte |
tag
|
Method Summary |
abstract void |
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely
defined by the contents of a Java class. |
java.lang.Object |
clone()
|
Constant |
copy()
|
abstract void |
dump(java.io.DataOutputStream file)
|
byte |
getTag()
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
tag
protected byte tag
accept
public abstract void accept(Visitor v)
- Called by objects that are traversing the nodes of the tree implicitely
defined by the contents of a Java class. I.e., the hierarchy of methods,
fields, attributes, etc. spawns a tree of objects.
- Specified by:
accept
in interface Node
- Parameters:
v
- Visitor object
dump
public abstract void dump(java.io.DataOutputStream file)
throws java.io.IOException
getTag
public final byte getTag()
- Returns:
- Tag of constant, i.e., its type. No setTag() method to avoid
confusion.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
- Returns:
- String representation.
copy
public Constant copy()
- Returns:
- deep copy of this constant
clone
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
- Overrides:
clone
in class java.lang.Object