794 |
ClassDoc[] classes = rootDoc.classes(); |
ClassDoc[] classes = rootDoc.classes(); |
795 |
for (int i = 0, ilim = classes.length; i < ilim; ++ i) { |
for (int i = 0, ilim = classes.length; i < ilim; ++ i) { |
796 |
ClassDoc clazz = classes[i]; |
ClassDoc clazz = classes[i]; |
797 |
|
|
798 |
// classes derived from |
if (clazz.isInterface()) { |
799 |
for (ClassDoc superclass = clazz.superclass(); superclass != null; |
// classes implementing |
800 |
superclass = superclass.superclass()) { |
InterfaceRelation relation |
801 |
addUsedBy(usedClassToPackagesMap, |
= (InterfaceRelation)getInterfaceRelations().get(clazz); |
802 |
superclass, UsageType.CLASS_DERIVED_FROM, clazz, clazz.containingPackage()); |
Iterator it = relation.implementingClasses.iterator(); |
803 |
|
while (it.hasNext()) { |
804 |
|
ClassDoc implementor = (ClassDoc)it.next(); |
805 |
|
addUsedBy(usedClassToPackagesMap, |
806 |
|
clazz, UsageType.CLASS_IMPLEMENTING, implementor, implementor.containingPackage()); |
807 |
|
} |
808 |
|
} |
809 |
|
else { |
810 |
|
// classes derived from |
811 |
|
for (ClassDoc superclass = clazz.superclass(); superclass != null; |
812 |
|
superclass = superclass.superclass()) { |
813 |
|
addUsedBy(usedClassToPackagesMap, |
814 |
|
superclass, UsageType.CLASS_DERIVED_FROM, clazz, clazz.containingPackage()); |
815 |
|
} |
816 |
} |
} |
817 |
|
|
818 |
FieldDoc[] fields = clazz.fields(); |
FieldDoc[] fields = clazz.fields(); |
911 |
protected static class UsageType |
protected static class UsageType |
912 |
{ |
{ |
913 |
public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from"); |
public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from"); |
914 |
|
public static final UsageType CLASS_IMPLEMENTING = new UsageType("class-implementing"); |
915 |
public static final UsageType FIELD_OF_TYPE = new UsageType("field-of-type"); |
public static final UsageType FIELD_OF_TYPE = new UsageType("field-of-type"); |
916 |
public static final UsageType METHOD_WITH_RETURN_TYPE = new UsageType("method-with-return-type"); |
public static final UsageType METHOD_WITH_RETURN_TYPE = new UsageType("method-with-return-type"); |
917 |
public static final UsageType METHOD_WITH_PARAMETER_TYPE = new UsageType("method-with-parameter-type"); |
public static final UsageType METHOD_WITH_PARAMETER_TYPE = new UsageType("method-with-parameter-type"); |