[fpc-devel] FPDoc imports

Michael Van Canneyt michael at freepascal.org
Tue Jan 31 15:32:50 CET 2012



On Tue, 31 Jan 2012, Hans-Peter Diettrich wrote:

> Michael Van Canneyt schrieb:
>> 
>> 
>> On Tue, 31 Jan 2012, Hans-Peter Diettrich wrote:
>> 
>>> In an attempt to help improve fpdoc I'm blocked in understanding the 
>>> handling of imported modules. The content files are imported into the link 
>>> tree, but this tree seems not to be used in finding external identifiers?
>> 
>> The content files are converted to 2 kinds of trees:
>> - A TPasElement tree. - A link tree.
>> 
>> The link tree is used in TFPDocEngine.ResolveLink and 
>> THTMLWriter.ResolveLinkID
>> 
>> The paselement tree is used by the parser to find identifiers (classes 
>> mostly, for inheritance trees), so there are less TPasUnsolvedTypeRef 
>> instances.
>
> This would explain why the System unit never is found - it seems not to 
> contain any classes.
>
>
>>> Would it help if I try to create packages from the imports?
>> 
>> No.
>
> Seems like I misinterpreted the many "unit not found" :-(

Yes.

>
> I still wonder why the number of units in the imported RTL package increases 
> over time. Initially it contains 7 modules, and 38 modules in the end, where 
> the RTL currently consists of 46 units. 6 of the initial modules contain 
> classes, but I couldn't find the 7th module "iostream" anywhere, which is the 
> first module in the list.
>
>
> For the input file order: as long as the user has no idea how to order the 
> files, fpdoc should do that for him. Or, in Unix tradition, supply an app 
> that sorts the units ;-)

Nono, the parser will need to take care of this. 
fpdoc is not the only application that uses fcl-passrc.

It's planned.

Michael.



More information about the fpc-devel mailing list