< Previous PageNext Page >

HeaderDoc Class Hierarchy

HeaderElement (Root Class--any header entity that's significant)
 | (to HeaderDoc is a HeaderElement)
 |
 |
 |-----------APIOwner (Object that owns declared API)
 | |
 | |-------Header (Owner for header-wide API)
 | | 
 | |-------CPPClass (Container for all non-Objective-C classes and
 | |                    C pseudoclass/COM Interface APIs).
 | | 
 | |-------ObjCContainer
 |   |
 |   |-------ObjCClass (Owner for Objective-C class API)
 |   |
 |   |-------ObjCCategory (Owner for Objective-C category API)
 |   |
 |   |-------ObjCProtocol (Owner for Objective-C protocol API)
 |
 |
 |-----------Method (an Objective-C method)
 | 
 |-----------Constant
 | 
 |-----------Enum
 | 
 |-----------Function (any non-objective-C function or method)
 | 
 |-----------MinorAPIElement (parameter, members of structs)
 | 
 |-----------PDefine
 | 
 |-----------Struct (for both structs and unions)
 | | 
 | |-------Var (subclass of Struct so that it can contain fields) 
 | 
 |-----------Typedef
 
 
DocReference (Another root class. Used by gatherHeaderDoc to store
             information about documentation framesets within an
             input folder. The script uses this information to
             construct a top-level table of contents with links
             to each frameset.)
ParseTree (Token tree instantiated from BlockParse.pm.)

The headerDoc2HTML script also uses the non object-oriented modules Utilities.pm, ClassArray.pm, and BlockParse.pm. Most class instances are instantiated from headerDoc2HTML.pl based on the results of a call to blockParse.

The ParseTree class is instantiated in the block parser itself. It contains a token tree and a set of operations on that tree (print the tree, return a text or html representation of the tree, walk the parse tree for parameters, walk the parse tree for embedded headerdoc markup, etc.

Finally, gatherHeaderDoc uses an external program, resolveLinks, to convert special “link request” comments into links to other files in the directory being processed. This tool (written in C) resides in the bin directory within the HeaderDoc modules directory.



< Previous PageNext Page >


© 1999, 2004 Apple Computer, Inc. All Rights Reserved. (Last updated: 2004-05-27)