Located in File: /phpDocumentor/Classes.inc
The phpDocumentor_IntermediateParser class uses this class and its cousin, ProceduralPages to organize all parsed source code elements. Data is fed to each immediately after it is parsed, and at conversion time, everything is organized.
The Classes class is responsible for all inheritance, including resolving name conflicts between classes, determining which classes extend other classes, and is responsible for all inheritance of documentation.
Method addClass (line 393)
sets up the $classesbyfile, $classesbynamefile, $extendsbyfile, $classchildrenbyfile, $roots arrays, and sets $curclass
Method addConst (line 466)
sets up the $constsbyfile array using $curfile and $curclass
Method addMethod (line 434)
sets up the $methodsbyfile array using $curfile and $curclass
Method addPackageToFile (line 497)
Method addVar (line 450)
sets up the $varsbyfile array using $curfile and $curclass
Method getClass (line 943)
Method getClassByPackage (line 1189)
Method getClassesInPath (line 960)
retrieves the array entry from $classesbyfile for $path
Method getConflicts (line 630)
Returns the $classconflicts entry for class $class, minus its own path
Method getDefiniteChildren (line 1349)
Method getParentClass (line 1227)
uses 3 tests to find the parent classname:
Method getRoots (line 1292)
Method Inherit (line 546)
This function uses $roots to traverse the inheritance tree via processChild() and returns the data structures phpDocumentor_IntermediateParser needs to convert parsed data to output using phpDocumentor_IntermediateParser::Convert()
Method nextFile (line 482)
sets $curfile to $file and $curclass to false (no class being parsed)
Method processChild (line 690)
Using structures defined in Classes, the function first sets package information, and then seeks out child classes. It uses 3 tests to determine whether a class is a child class.
Method setClassParent (line 518)
Modifies the parserClass element in $classesbyfile to use the parent's package, and inherit methods/vars