Analyze and summarize characteristics of Java classes as a result of both intraprocedural and interprocedural analyses.

This package is divided into seven groups of functions:

ClassLoaders:
As in Java, all classes analyzed are members of a ClassLoader. Each ClassLoader is unique, and has a unique name. ClassLoaders define the name space used for binding symbolic references to classes, fields and methods. ClassLoaders are organized as a tree, with the root ClassLoader generally being referred to as the "primordial" ClassLoader.
The ClassLoader classes in this package are:
Classes:
Classes contain members: fields and methods.  Classes are also members of ClassLoaders.  Each Class instance is unique, belonging to a single ClassLoader.  Also, each ClassLoader can only have one Class with the same fully qualified name (which includes the package name).  As in Java, two Class with the same name can not be in the same name space. So, if a Class with the same name exists in a ClassLoader between the ClassLoader attempting to add the class and the primoridal ClassLoader, the request to add the Class will be rejected.  However, two Classes with the same fully qualifed name can be in different name spaces (different branches of the ClassLoader tree).  The fully qualified Class name and the ClassLoader in which it is a member uniquely defines a Class.
The Classes classes are:
Fields:
Fields are members of Classes. Each field instance "declared" in a class must have a unique name.  While each field instance is unique, the fully qualified name (the name including the package and class names) may not be unique since a Class with the same name and a field with the same name may exist in more than one ClassLoader.
The Fields classes are:
Methods:
Methods are members of Classes. Each method instance "declared" in a class must have a unique signature.  While each method instance is unique, the fully qualified signature (the signature including the package and class names) may not be unique since a Class with the same name and a method with the same signature may exist in more than one ClassLoader.
The Methods classes are:
Sites:
During intraprocedural analysis for each method, sites of interest are identified and state associated with those sites is recorded, usually in a JCSMethod instance.  Some of these sites also are referenced by TypeFunct instances.
The sites classes are:
Security classes:
Several classes are defined to provide security related information needed by analyses. (Should go into com.ibm.jcs.security)
The security classes are:
Other classes:
The other class in this package are most utility methods or base classes for the classes described above.
The other classes include:

Package Specification

Links and descriptions to other documentation that may be relevant

Related Documentation

Links for overviews, tutorials, examples, etc.: