Missing C header file dependencies
Brought to you by:
archiecobbs
The C type corresponding to an object of class foo.Bar is
typically _jc_foo_Bar$object or whatever. This type is used
for method signatures, return types, etc.
However, for interface types, _jc_object * is used instead.
This means if any of these types are used in a header file,
and the associated class changes from a class to an
interface,
the header file must be regenerated.
However, generated C header files do not contain
@dep_source
dependencies on all types used within them.
This can lead to C header files not being regenerated
when they
need to be.
This problem doesn't occur with C source files, as they
do contain
all of the @dep_source tags associated with parameter
types,
return types, etc.