Type: | Module | Parent Module: | N/A |
This module processes all methods in the library. For each method submodules are called to correct certain pieces of code. Submodules are object classes whose names begin with 'Submodule' followed by the name of this class, followed by the name of the submodule (e.g. Submodule_Methods_ObsoleteCommands, this class name = Methods, submodule name = ObsoleteCommands). When the submodules are first instantiated each returns information about which character strings it is interested in processing. When a method line is encountered which contains one of these search strings, then the $processLine method of the corresponding submodule is called to perform processing on it.
Note that the reason for splitting this module into submodules is for run-time efficiency. This module processes each method in the library only once, whilst the submodules retain the ability to organize different processing of the method code into plug-ins which can easily be disabled and modified.
Instantiate all submodules belonging to this module and build a list of submodule instances containing 3 columns:
When a submodule is instantiated its $construct method must return a list iLstSearchText using a field reference parameter containing 2 columns:
The list of instantiated submodules is sorted by submodule name to enable ordering of execution of submodules (e.g. Submodule_MethodsANotation, Submodule_Methods_CommentLn, Submodule_Methods_ObsoleteC)
For each method in the library:
After processing each method:
The default $processLine method defined in the superclass oModuleSuper calls the public method for the text string located in a method line that was specified in the list returned by the submodule's $construct method.
See the $processLine method in the documentation for oModuleSuper for a detailed description of the method and its parameters.