KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gov > nasa > jpf > jvm > DynamicFields


1 //
2
// Copyright (C) 2005 United States Government as represented by the
3
// Administrator of the National Aeronautics and Space Administration
4
// (NASA). All Rights Reserved.
5
//
6
// This software is distributed under the NASA Open Source Agreement
7
// (NOSA), version 1.3. The NOSA has been approved by the Open Source
8
// Initiative. See the file NOSA-1.3-JPF at the top of the distribution
9
// directory tree for the complete NOSA document.
10
//
11
// THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY
12
// KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
13
// LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO
14
// SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
15
// A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT
16
// THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT
17
// DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE.
18
//
19
package gov.nasa.jpf.jvm;
20
21 /**
22  * <2do> pcm - another superfluous type, we should reduce this to Fields. Last
23  * place the polymorphism is used (but after an 'instanceof') is FieldRaceInfo.
24  * As soon as we cleaned up the race detection, scrub this class
25  *
26  * Represents the fields of an object or class. Contains the values of the
27  * fields, not their descriptors. Descriptors are represented by
28  * gov.nasa.jpf.jvm.FieldInfo objects, which are stored in the
29  * ClassInfo structure.
30  * @see gov.nasa.jpf.jvm.FieldInfo
31  */

32 public class DynamicFields extends Fields {
33     
34   /**
35    * Constructor
36    */

37   public DynamicFields (String JavaDoc t, ClassInfo ci) {
38     super(t, ci, ci.getInstanceDataSize());
39     ci.initializeInstanceData(this);
40   }
41
42   // the FieldInfo accessors are just here to hide the Dynamic/StaticFieldInfo
43
// anomaly, remove once we have this solved
44
public FieldInfo getFieldInfo (String JavaDoc clsBase, String JavaDoc fname) {
45     return ci.getInstanceField(clsBase, fname);
46   }
47   
48   public int getNumberOfFields() {
49     return ci.getNumberOfInstanceFields();
50   }
51   
52   public FieldInfo getFieldInfo (int fieldIndex) {
53     return ci.getInstanceField( fieldIndex);
54   }
55   
56   public String JavaDoc getLogChar () {
57     return "#";
58   }
59
60   public boolean equals (Object JavaDoc o) {
61     if (o == null) {
62       return false;
63     }
64
65     if (!(o instanceof DynamicFields)) {
66       return false;
67     }
68
69     return super.equals(o);
70   }
71 }
72
Popular Tags