1    
2    /*
3    
4      The author of this software is Ian Kaplan
5      Bear Products International
6      www.bearcave.com
7      iank@bearcave.com
8    
9      Copyright (c) Ian Kaplan, 1999, 2000
10   
11     See copyright file for usage and licensing
12   
13   */
14   
15   package jconst;
16   
17   import java.io.*;
18   import util.*;
19   
20   
21   /*
22    * constBase
23    *
24   
25      Base type for constant pool element classes.
26   
27    */
28   public abstract class constBase extends dataRead implements constPoolTags {
29     int tag;
30   
31     abstract void read( DataInputStream dStream );
32   
33   
34     final static String Tag_to_String( int tag ) {
35       String str;
36   
37       switch ( tag ) {
38       case CONSTANT_Utf8:
39         str = "Utf8";
40         break;
41       case CONSTANT_Integer:
42         str = "int";
43         break;
44       case CONSTANT_Float:
45         str = "float";
46         break;
47       case CONSTANT_Long:
48         str = "long";
49         break;
50       case CONSTANT_Double:
51         str = "double";
52         break;
53       case CONSTANT_Class:
54         str = "class";
55         break;
56       case CONSTANT_String:
57         str = "String";
58         break;
59       case CONSTANT_Fieldref:
60         str = "field ref.";
61         break;
62       case CONSTANT_Methodref:
63         str = "method ref.";
64         break;
65       case CONSTANT_InterfaceMethodref:
66         str = "interface method ref.";
67         break;
68       case CONSTANT_NameAndType:
69         str = "name and type";
70         break;
71       default:
72         str = "unknow tag";
73         break;
74       } // switch
75   
76       return str;
77     } // Tag_to_String
78   
79   
80     public void pr() {
81       String tag_name = Tag_to_String( tag );
82       System.out.print(tag_name);
83     }
84   
85     //
86     // set_ref
87     //
88     // Do nothing.  This method is included in the base class so that
89     // the same operation (set_ref) can be done on all classes without
90     // checking whether it is appropriate.
91     public void set_ref(constBase objAry[] ) {
92       // Nada
93     }
94   
95     public void prString() {
96       System.out.print("constBase");
97     } // prString
98   
99   
100    public String getString() {
101      return "constBase";
102    }
103  
104  } // constBase
105