Java Doc for ClassInfo.java in  » Code-Analyzer » javapathfinder » gov » nasa » jpf » jvm » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Code Analyzer » javapathfinder » gov.nasa.jpf.jvm 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   gov.nasa.jpf.jvm.ClassInfo

ClassInfo
public class ClassInfo (Code)
Describes the JVM's view of a java class. Contains descriptions of the static and dynamic fields, methods, and information relevant to the class.


Field Summary
protected  SetallInterfaces
    
static  String[]assertionPatterns
    
protected static  Attributorattributor
    
static  ClassInfoclassClassInfo
    
static  ConstantPoolcpCache
     this is a optimization to work around the BCEL strangeness that some insn info (types etc.) are only accessible with modifiable ConstPools (the ConstantPoolGen, which is costly to create), and some others (toString) are only provided via ConstPools.
static  ConstantPoolGencpgCache
    
protected  intelementInfoAttrs
    
static  FieldInfo[]emptyFields
    
 booleanenableAssertions
    
protected  MethodInfofinalizer
    
protected  FieldInfo[]iFields
     our instance fields. Note these are NOT flattened, i.e.
protected  intinstanceDataOffset
    
protected  intinstanceDataSize
    
final protected  Setinterfaces
     Interfaces implemented by the class.
protected  booleanisArray
    
protected  booleanisClass
    
protected  booleanisReferenceArray
    
protected  booleanisWeakReference
    
static  intlevel
     Initializes a class.
protected static  HashtableloadedClasses
     Map of the loaded classes.
final protected  Mapmethods
    
protected  intnInstanceFields
    
final protected  Stringname
     Name of the class.
 NativePeernativePeer
    
static  ClassInfoobjectClassInfo
    
final protected  StringpackageName
     Name of the package.
static  ClassInforefClassInfo
    
protected static  SyntheticRepositoryrepository
     this is our BCEL class repository.
protected  FieldInfo[]sFields
     our static fields.
protected  Sourcesource
     Source file associated with the class.
protected  StringsourceFileName
     Name of the file which contains the source of this class.
protected  intstaticDataSize
    
static  ClassInfostringClassInfo
    
final protected  ClassInfosuperClass
    
static  ClassInfoweakRefClassInfo
    

Constructor Summary
protected  ClassInfo(String builtinClassName)
     ClassInfo ctor used for builtin types (arrays and primitive types) i.e.
protected  ClassInfo(JavaClass jc)
     Creates a new class from the JavaClass information.

Method Summary
public  booleanareAssertionsEnabled()
    
 intcomputeInstanceDataOffset()
    
 intcomputeInstanceDataSize()
    
 intcomputeStaticDataSize()
    
 intcreateClassObject(ThreadInfo th, int cref)
    
public  FieldscreateInstanceFields()
     Creates the fields for an object.
protected static  SyntheticRepositorycreateRepository(Config config)
    
 FieldscreateStaticFields(StaticArea staticArea)
     Creates the fields for a class.
public  InstructionexecuteNativeMethod(ThreadInfo th, MethodInfo mi)
    
public static  booleanexists(String cname)
    
 SetgetAllInterfaces()
    
 booleangetAssertionStatus()
    
 ClassInfogetClassBase(String clsBase)
    
public static synchronized  ClassInfogetClassInfo(String cname)
     Loads the class specified.
Parameters:
  cname - The fully qualified name of the class to load.
public  intgetClassObjectRef()
    
 ClassInfogetComponentClassInfo()
    
public static  ConstantPoolGengetConstantPoolGen(ConstantPool cp)
    
 intgetDataSize(FieldInfo[] fields)
    
public  FieldInfogetDeclaredInstanceField(String fName)
    
 FieldInfogetDeclaredInstanceField(int i)
    
 MapgetDeclaredMethods()
    
public  FieldInfogetDeclaredStaticField(String fName)
    
static  StringgetDefaultBootClassPath()
    
static  StringgetDefaultClassPath()
    
public  intgetElementInfoAttrs()
    
public  intgetFieldAttrs(int fieldIndex)
    
 MethodInfogetFinalizer()
    
 intgetInstanceDataOffset()
    
 intgetInstanceDataSize()
    
public  FieldInfogetInstanceField(String clsBase, String fName)
    
public  FieldInfogetInstanceField(String fName)
    
 FieldInfogetInstanceField(int i)
    
public  MethodInfogetMethod(String uniqueName, boolean isRecursiveLookup)
     Note that 'uniqueName' is the name plus the argument type part of the signature, i.e.
public  StringgetName()
     Returns the name of the class.
public  intgetNumberOfDeclaredInstanceFields()
    
public  intgetNumberOfInstanceFields()
    
public  intgetNumberOfStaticFields()
    
public  StringgetPackageName()
    
public  SourcegetSource()
    
public  StringgetSourceFileName()
    
 intgetStaticDataSize()
    
public  FieldInfogetStaticField(String clsBase, String fName)
    
public  FieldInfogetStaticField(String fname)
    
public  FieldInfogetStaticField(int index)
     Returns the information about a static field.
public  StringgetStaticFieldName(int index)
     Returns the name of a static field.
public  ClassInfogetSuperClass()
     Return the super class.
public  ClassInfogetSuperClass(String clsName)
     return the ClassInfo for the provided superclass name.
public  StringgetType()
     Returns the type of a class.
 booleanhasImmutableInstances()
    
 booleanhasRefField(int ref, Fields fv)
    
static  booleaninit(Config config)
    
public  voidinitializeClass(ThreadInfo th)
    
 voidinitializeInstanceData(Fields f)
    
 voidinitializeStaticData(Fields f)
    
public  booleaninstanceOf(String cname)
     Returns true if the given class is an instance of the class or interface specified.
public  booleanisArray()
    
static  booleanisBuiltinClass(String cname)
    
public  booleanisInstanceOf(ClassInfo ci)
    
public  booleanisMethodCondDeterministic(ThreadInfo th, MethodInfo mi)
    
public  booleanisMethodCondExecutable(ThreadInfo th, MethodInfo mi)
    
public  booleanisRefClass()
    
public  booleanisReferenceArray()
    
public  booleanisStaticMethodAbstractionDeterministic(ThreadInfo th, MethodInfo mi)
    
public  booleanisSystemClass()
     Returns true if the class is a system class.
public  booleanisWeakReference()
    
protected static  SetloadArrayInterfaces()
    
 MaploadArrayMethods()
    
protected static  SetloadBuiltinInterfaces(String type)
    
 MaploadBuiltinMethods(String type)
    
 intloadElementInfoAttrs(JavaClass jc)
    
 FieldInfo[]loadInstanceFields(JavaClass jc)
    
 voidloadInterfaceRec(Set set, ClassInfo ci)
    
protected static  SetloadInterfaces(JavaClass jc)
     Loads the interfaces of a class.
 MaploadMethods(JavaClass jc)
    
protected  SourceloadSource()
    
 FieldInfo[]loadStaticFields(JavaClass jc)
    
 ClassInfoloadSuperClass(JavaClass jc)
    
public static  voidreset()
    
static  voidresetCPCache()
    
static  voidsetSourceRoots(Config config)
    

Field Detail
allInterfaces
protected Set allInterfaces(Code)
all interfaces (parent interfaces and interface parents) - lazy eval



assertionPatterns
static String[] assertionPatterns(Code)



attributor
protected static Attributor attributor(Code)
optionally used to determine atomic methods of a class (during class loading)



classClassInfo
static ClassInfo classClassInfo(Code)
here we get infinitly recursive, so keep it around for identity checks



cpCache
static ConstantPool cpCache(Code)
this is a optimization to work around the BCEL strangeness that some insn info (types etc.) are only accessible with modifiable ConstPools (the ConstantPoolGen, which is costly to create), and some others (toString) are only provided via ConstPools. It's way to expensive to create this always on the fly, for each relevant insn, so we cache it here



cpgCache
static ConstantPoolGen cpgCache(Code)



elementInfoAttrs
protected int elementInfoAttrs(Code)
type based object attributes (for GC, partial order reduction and property checks)



emptyFields
static FieldInfo[] emptyFields(Code)



enableAssertions
boolean enableAssertions(Code)



finalizer
protected MethodInfo finalizer(Code)



iFields
protected FieldInfo[] iFields(Code)
our instance fields. Note these are NOT flattened, i.e. only contain the declared ones



instanceDataOffset
protected int instanceDataOffset(Code)
where in the instance data array (int[]) do our declared fields start



instanceDataSize
protected int instanceDataSize(Code)
the storage size of instances of this class (stored as an int[])



interfaces
final protected Set interfaces(Code)
Interfaces implemented by the class.



isArray
protected boolean isArray(Code)



isClass
protected boolean isClass(Code)



isReferenceArray
protected boolean isReferenceArray(Code)



isWeakReference
protected boolean isWeakReference(Code)



level
static int level(Code)
Initializes a class. A class is initialized atomically without being interleaved with any other thread. <2do> pcm - wrong. static init of a class is only synced on the class object itself



loadedClasses
protected static Hashtable loadedClasses(Code)
Map of the loaded classes.



methods
final protected Map methods(Code)
all our declared methods (we don't flatten, this is not a high-performance VM)



nInstanceFields
protected int nInstanceFields(Code)
total number of instance fields (flattened, not only declared ones)



name
final protected String name(Code)
Name of the class.



nativePeer
NativePeer nativePeer(Code)
this is the object we use to execute methods in the underlying JVM (it replaces Reflection) <2do> pcm - set this private once MethodInfo is cleaned up



objectClassInfo
static ClassInfo objectClassInfo(Code)



packageName
final protected String packageName(Code)
Name of the package.



refClassInfo
static ClassInfo refClassInfo(Code)



repository
protected static SyntheticRepository repository(Code)
this is our BCEL class repository. Note that this actually might be turned into a call or ClassInfo instance field if we ever support ClassLoaders (for now we keep it simple)



sFields
protected FieldInfo[] sFields(Code)
our static fields. Again, not flattened



source
protected Source source(Code)
Source file associated with the class.



sourceFileName
protected String sourceFileName(Code)
Name of the file which contains the source of this class.



staticDataSize
protected int staticDataSize(Code)
the storage size of static fields of this class (stored as an int[])



stringClassInfo
static ClassInfo stringClassInfo(Code)



superClass
final protected ClassInfo superClass(Code)



weakRefClassInfo
static ClassInfo weakRefClassInfo(Code)




Constructor Detail
ClassInfo
protected ClassInfo(String builtinClassName)(Code)
ClassInfo ctor used for builtin types (arrays and primitive types) i.e. classes we don't have class files for



ClassInfo
protected ClassInfo(JavaClass jc)(Code)
Creates a new class from the JavaClass information.




Method Detail
areAssertionsEnabled
public boolean areAssertionsEnabled()(Code)



computeInstanceDataOffset
int computeInstanceDataOffset()(Code)



computeInstanceDataSize
int computeInstanceDataSize()(Code)



computeStaticDataSize
int computeStaticDataSize()(Code)



createClassObject
int createClassObject(ThreadInfo th, int cref)(Code)



createInstanceFields
public Fields createInstanceFields()(Code)
Creates the fields for an object.



createRepository
protected static SyntheticRepository createRepository(Config config)(Code)



createStaticFields
Fields createStaticFields(StaticArea staticArea)(Code)
Creates the fields for a class. This gets called by the StaticArea when a class is loaded.



executeNativeMethod
public Instruction executeNativeMethod(ThreadInfo th, MethodInfo mi)(Code)



exists
public static boolean exists(String cname)(Code)



getAllInterfaces
Set getAllInterfaces()(Code)



getAssertionStatus
boolean getAssertionStatus()(Code)



getClassBase
ClassInfo getClassBase(String clsBase)(Code)



getClassInfo
public static synchronized ClassInfo getClassInfo(String cname)(Code)
Loads the class specified.
Parameters:
  cname - The fully qualified name of the class to load. Returns the ClassInfo for the classname passed in,or null.



getClassObjectRef
public int getClassObjectRef()(Code)



getComponentClassInfo
ClassInfo getComponentClassInfo()(Code)



getConstantPoolGen
public static ConstantPoolGen getConstantPoolGen(ConstantPool cp)(Code)



getDataSize
int getDataSize(FieldInfo[] fields)(Code)



getDeclaredInstanceField
public FieldInfo getDeclaredInstanceField(String fName)(Code)
FieldInfo lookup in the fields that are declared in this class



getDeclaredInstanceField
FieldInfo getDeclaredInstanceField(int i)(Code)



getDeclaredMethods
Map getDeclaredMethods()(Code)
most definitely not a public method, but handy for the NativePeer



getDeclaredStaticField
public FieldInfo getDeclaredStaticField(String fName)(Code)
FieldInfo lookup in the static fields that are declared in this class <2do> pcm - should employ a map at some point, but it's usually not that important since we can cash the returned FieldInfo in the PUT/GET_STATIC insns



getDefaultBootClassPath
static String getDefaultBootClassPath()(Code)
provide a default path from where to load essential model classes (associated with native peers that JPF needs)



getDefaultClassPath
static String getDefaultClassPath()(Code)
this is for application specific classes that should not be seen by the host VM



getElementInfoAttrs
public int getElementInfoAttrs()(Code)



getFieldAttrs
public int getFieldAttrs(int fieldIndex)(Code)



getFinalizer
MethodInfo getFinalizer()(Code)



getInstanceDataOffset
int getInstanceDataOffset()(Code)



getInstanceDataSize
int getInstanceDataSize()(Code)



getInstanceField
public FieldInfo getInstanceField(String clsBase, String fName)(Code)
base relative FieldInfo lookup - the workhorse <2do> again, should eventually use Maps
Parameters:
  clsBase - - the class where we start the lookup (self or some super)
Parameters:
  fName - - the field name



getInstanceField
public FieldInfo getInstanceField(String fName)(Code)
complete bottom-up FieldInfo lookup



getInstanceField
FieldInfo getInstanceField(int i)(Code)



getMethod
public MethodInfo getMethod(String uniqueName, boolean isRecursiveLookup)(Code)
Note that 'uniqueName' is the name plus the argument type part of the signature, i.e. everything that's relevant for overloading (besides saving some const space, we also ease reverse lookup of natives that way). Note also that we don't have to make any difference between class and instance methods, because that just matters in the INVOKExx instruction, when looking up the relevant ClassInfo to start searching in (either by means of the object type, or by means of the constpool classname entry).



getName
public String getName()(Code)
Returns the name of the class.



getNumberOfDeclaredInstanceFields
public int getNumberOfDeclaredInstanceFields()(Code)



getNumberOfInstanceFields
public int getNumberOfInstanceFields()(Code)



getNumberOfStaticFields
public int getNumberOfStaticFields()(Code)



getPackageName
public String getPackageName()(Code)



getSource
public Source getSource()(Code)



getSourceFileName
public String getSourceFileName()(Code)



getStaticDataSize
int getStaticDataSize()(Code)



getStaticField
public FieldInfo getStaticField(String clsBase, String fName)(Code)



getStaticField
public FieldInfo getStaticField(String fname)(Code)



getStaticField
public FieldInfo getStaticField(int index)(Code)
Returns the information about a static field.



getStaticFieldName
public String getStaticFieldName(int index)(Code)
Returns the name of a static field.



getSuperClass
public ClassInfo getSuperClass()(Code)
Return the super class.



getSuperClass
public ClassInfo getSuperClass(String clsName)(Code)
return the ClassInfo for the provided superclass name. If this is equal to ourself, return this (a little bit strange if we hit it in the first place)



getType
public String getType()(Code)
Returns the type of a class.



hasImmutableInstances
boolean hasImmutableInstances()(Code)



hasRefField
boolean hasRefField(int ref, Fields fv)(Code)



init
static boolean init(Config config) throws Config.Exception(Code)



initializeClass
public void initializeClass(ThreadInfo th)(Code)



initializeInstanceData
void initializeInstanceData(Fields f)(Code)



initializeStaticData
void initializeStaticData(Fields f)(Code)



instanceOf
public boolean instanceOf(String cname)(Code)
Returns true if the given class is an instance of the class or interface specified.



isArray
public boolean isArray()(Code)



isBuiltinClass
static boolean isBuiltinClass(String cname)(Code)



isInstanceOf
public boolean isInstanceOf(ClassInfo ci)(Code)



isMethodCondDeterministic
public boolean isMethodCondDeterministic(ThreadInfo th, MethodInfo mi)(Code)
consult nativePeer to check if method is deterministic



isMethodCondExecutable
public boolean isMethodCondExecutable(ThreadInfo th, MethodInfo mi)(Code)
consult nativePeer to check if method is executable



isRefClass
public boolean isRefClass()(Code)
note this only returns true is this is really the java.lang.ref.Reference classInfo



isReferenceArray
public boolean isReferenceArray()(Code)



isStaticMethodAbstractionDeterministic
public boolean isStaticMethodAbstractionDeterministic(ThreadInfo th, MethodInfo mi)(Code)
Checks if a static method call is deterministic, but only for abtraction based determinism, due to Bandera.choose() calls



isSystemClass
public boolean isSystemClass()(Code)
Returns true if the class is a system class.



isWeakReference
public boolean isWeakReference()(Code)
is this a (subclass of) WeakReference? this must be efficient, since it's called in the mark phase on all live objects



loadArrayInterfaces
protected static Set loadArrayInterfaces()(Code)



loadArrayMethods
Map loadArrayMethods()(Code)



loadBuiltinInterfaces
protected static Set loadBuiltinInterfaces(String type)(Code)



loadBuiltinMethods
Map loadBuiltinMethods(String type)(Code)



loadElementInfoAttrs
int loadElementInfoAttrs(JavaClass jc)(Code)



loadInstanceFields
FieldInfo[] loadInstanceFields(JavaClass jc)(Code)



loadInterfaceRec
void loadInterfaceRec(Set set, ClassInfo ci)(Code)



loadInterfaces
protected static Set loadInterfaces(JavaClass jc)(Code)
Loads the interfaces of a class.



loadMethods
Map loadMethods(JavaClass jc)(Code)



loadSource
protected Source loadSource()(Code)



loadStaticFields
FieldInfo[] loadStaticFields(JavaClass jc)(Code)



loadSuperClass
ClassInfo loadSuperClass(JavaClass jc)(Code)



reset
public static void reset()(Code)
clean up statics for another 'main' run



resetCPCache
static void resetCPCache()(Code)
avoid memory leaks



setSourceRoots
static void setSourceRoots(Config config)(Code)
set the locations where we look up sources



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.