How would documentation handle type information for the arguments to a
method?  There are 3 possible sources: the comments, the text of the
function arguments (e.g. someArg::FooType), and the compiler.

The ::FooType notation will not always be present.  The comments could
just be wrong.  So it seems there's an argument for getting this info
from the compiler, which is perhaps an argument in favor of the
"comments as AST metadata" approach.

Also, even if the argument is declared ::FooType it may be that only
some subtypes are permitted because of the way the argument is used in
the body of the function.

For various purposes one might be interested in abstract types,
concrete types, or both.

An even messier question is which concrete types could actually be
used, or are actually used in a particular run.

Ross Boylan

Reply via email to