Package | Description |
---|---|
org.pantsbuild.jmake |
Modifier and Type | Method and Description |
---|---|
ClassInfo |
PCDManager.getClassInfoForName(int verCode,
java.lang.String className) |
static ClassInfo |
ClassPath.getClassInfoForName(java.lang.String className,
PCDManager pcdm) |
ClassInfo |
PCDManager.getClassInfoForPCDEntry(int verCode,
PCDEntry pcde)
Get an instance of ClassInfo (load a class file if necessary) for the given version (old or new) of
the class determined by pcde.
|
ClassInfo[] |
ClassInfo.getDirectSubclasses()
Returns the array of all direct subclasses of this class (array of zero length if there are none).
|
Modifier and Type | Method and Description |
---|---|
static boolean |
ClassInfo.constFieldInitValuesEqual(ClassInfo oldClassInfo,
int oldFieldNo,
ClassInfo newClassInfo,
int newFieldNo)
Check if the initial values for the given primitive constatnts in two classes are the same.
|
boolean |
ClassInfo.declaresField(ClassInfo classInfo,
int fieldNo)
Returns true if this class declares a field with the same name and type as
the field number fieldNo in class classInfo.
|
boolean |
ClassInfo.declaresMethod(ClassInfo classInfo,
int methodNo)
Returns true if this class declares a method with the same name and signature as
the method number methodNo in class classInfo.
|
void |
RefClassFinder.findAbstractSubtypesWithSameNameMethod(ClassInfo intfInfo,
java.lang.String mName,
java.lang.String mSig)
Find all interfaces and abstract classes that implement the given interface and declare or inherit
a method with the given name.
|
void |
RefClassFinder.findAllProjectClasses(ClassInfo fieldClassInfo,
int fieldNo)
Find all project classes that can access field fieldNo of class fieldClassInfo.
|
void |
RefClassFinder.findConcreteSubclasses(ClassInfo targetClass)
For a given class C, find all concrete direct subclasses, and all direct concrente subclasses of C's direct
or indirect abstract subclasses.
|
void |
RefClassFinder.findConcreteSubclassesNotOverridingAbstractMethod(ClassInfo targetClass,
ClassInfo methodDeclaringClass,
int methodNo)
Find any concrete subclasses of targetClass that don't override or inherit a concrete implementation
of the given method.
|
void |
RefClassFinder.findDiffPackageAndNotSubReferencingClasses1(ClassInfo classInfo)
For the given class p.C, find each project class X referencing C, that is not a member of
package p and is not a direct or indirect subclass of C's directly enclosing class.
|
void |
RefClassFinder.findDiffPackageAndSubReferencingClasses1(ClassInfo classInfo)
For class p.C, find each project class X referencing C, which is not a member of package p and
whose direct or indirect superclass is C's directly enclosing class.
|
void |
RefClassFinder.findDiffPackageAndSubReferencingClassesForField(ClassInfo classInfo,
int fieldNo)
Find all project classes that reference the given field, which are in different
packages and are direct or indirect subclasses of the member's declaring class
(protected -> default transformation).
|
void |
RefClassFinder.findDiffPackageAndSubReferencingClassesForMethod(ClassInfo classInfo,
int methodNo)
Find all project classes that reference the given method, which are in different
packages and are direct or indirect subclasses of the member's declaring class
(protected -> default transformation)
|
void |
RefClassFinder.findDiffPackageReferencingClasses1(ClassInfo classInfo)
For class p.C, find each project class X referencing C, which is not a member of package p.
|
void |
RefClassFinder.findDiffPackageReferencingClassesForField(ClassInfo classInfo,
int fieldNo)
Find all project classes that reference the given field and which are in
different packages.
|
void |
RefClassFinder.findDiffPackageReferencingClassesForMethod(ClassInfo classInfo,
int methodNo)
Find all project classes that reference the given method and which are in
different packages.
|
void |
RefClassFinder.findDirectlyAndOtherwiseImplementingConcreteClasses(ClassInfo intfInfo)
Find all non-abstract project classes that implement the given interface or any of its
subclasses directly, and all non-abstract classes that are direct descendants of abstract
classes that implement the given interface directly or indirectly.
|
void |
RefClassFinder.findDirectSubclasses(ClassInfo classInfo)
Find all project classes which are direct subclasses of the given class
|
void |
RefClassFinder.findReferencingClasses0(ClassInfo classInfo)
Find all project classes that reference class with the given name
(but not its array class) directly from the constantpool.
|
void |
RefClassFinder.findReferencingClasses1(ClassInfo classInfo)
For class p.C, find each project class X referencing C, whose top level enclosing
class is different from that of C.
|
void |
RefClassFinder.findReferencingClasses2(ClassInfo classInfo1,
ClassInfo classInfo2)
Find all project classes that reference both of the classes with the
given names (or array classes of one or both) directly or indirectly from the
constantpool, as a type of a data field, as a type in a method signature or a
thrown exception, as a directly/indirectly implemented interface or a
direct/indirect superclass.
|
void |
RefClassFinder.findReferencingClassesForDeletedClass(ClassInfo classInfo)
Used for deleted classes.
|
void |
RefClassFinder.findReferencingClassesForField(ClassInfo classInfo,
int fieldNo)
Find all project classes that reference the given field.
|
void |
RefClassFinder.findReferencingClassesForMethod(ClassInfo classInfo,
int methodNo)
Find all project classes that reference the given method.
|
void |
RefClassFinder.findRefsToMethodsThrowingException(ClassInfo excClassInfo)
Find all project classes that reference any method that throws the given exception.
|
void |
RefClassFinder.findSubclassesReimplementingMethod(ClassInfo classInfo,
int methodNo)
Find all project classes that re-implement the given method and that are
direct/indirect subclasses of this method's declaring class.
|
void |
RefClassFinder.findThisPackageOrSubReferencingClasses1(ClassInfo classInfo)
For class p.C, find each project class X referencing C, whose direct or indirect superclass
is C's directly enclosing class, or which is a member of package p, whose top level enclosing
class is different from that of C.
|
void |
RefClassFinder.findThisPackageReferencingClasses1(ClassInfo classInfo)
For class p.C, find each project class X referencing C, which is a member of package p and whose
top level enclosing class is different from that of C.
|
int |
ClassInfo.getDeclaredMethodPos(ClassInfo classInfo,
int methodNo)
If this class declares a method with the same name and signature as the given method,
return its position.
|
int |
ClassInfo.hasMethodThrowingException(ClassInfo excClassInfo,
int startMethodIdx)
If this class has a method that throws the given exception, return its index.
|
void |
ClassFileReader.readClassFile(byte[] classFile,
ClassInfo classInfo,
java.lang.String classFileFullPath,
boolean readFullInfo) |
boolean |
ClassInfo.referencesField(ClassInfo fieldDefClassInfo,
int fieldNo)
Check if this class references field number fieldNo of class fieldDefClassInfo.
|
boolean |
ClassInfo.referencesMethod(ClassInfo methodDefClassInfo,
int methodNo)
Check if this class references method number methodNo of class methodDefClassInfo.
|
Constructor and Description |
---|
PCDEntry(java.lang.String className,
java.lang.String javaFileFullPath,
long classFileLastModified,
long classFileFingerprint,
ClassInfo classInfo)
This constructor is called to initialize a record for a class that
exists at least in the previous version of the project.
|
PCDEntry(java.lang.String className,
java.lang.String javaFileFullPath,
java.lang.String classFileFullPath,
long classFileLastModified,
long classFileFingerprint,
ClassInfo classInfo)
This constructor is called to initialize a record for a class that has just been added to the project.
|