*/
int nClassInstances = moduleTypeInfo.getNClassInstances();
totalClassInstances += nClassInstances;
for (int i = 0; i < nClassInstances; i++) {
ClassInstance nthClassInstance = moduleTypeInfo.getNthClassInstance(i);
int nInstanceMethods = nthClassInstance.getNInstanceMethods();
boolean encounteredInternalNonTypeOfClassMethod = false;
boolean encounteredTypeOfClassMethod = false;
boolean nonInternalInstanceMethodEncountered = false;
boolean defaultInstanceMethodEncountered = false;
/*
* count the different styles of instances
*/
if (nthClassInstance.getInstanceStyle() == ClassInstance.InstanceStyle.DERIVING) {
totalDerivedClassInstances++;
} else if (nthClassInstance.getInstanceStyle() == ClassInstance.InstanceStyle.INTERNAL) {
totalTypeableClassInstances++;
} else if (nthClassInstance.getInstanceStyle() == ClassInstance.InstanceStyle.EXPLICIT) {
totalExplicitClassInstances++;
}
/*
* count the instance methods
*/
for (int j = 0; j < nInstanceMethods; j++) {
QualifiedName instanceMethod = nthClassInstance.getInstanceMethod(j);
if (instanceMethod == null) {
totalDefaultInstanceMethods++;
defaultInstanceMethodEncountered = true;
} else {