This is an archive of the discontinued LLVM Phabricator instance.

Clean up docstrings in swig interface files
ClosedPublic

Authored by labath on Apr 10 2019, 1:26 AM.

Details

Summary

This patch removes the "----" frames and "/" leading lines from
docstring comments. We already have code doing transformations like this in
modify-python-lldb.py, but that's a script I'd like to remove. Instead
of running these transformations everytime we run swig, we can just
perform equivalent on its input once.

This patch can be reproduced (e.g. for downstream merges) with the
following "sweet" perl command:

perl -i -p -e 'BEGIN{ $/ = undef;} s:(" *\n) *//-----*\n:\1:gs; s:^(     *)/// ?:\1:gsm; s:^ *//------*\n( *\n)?( *"):\2:gsm; s: *$::gsm; s:\n *"\):"):gsm' scripts/interface/*.i

This command produces nearly equivalent python files to those produced
by the relevant code in modify-python-lldb.py. The only difference I
noticed is that here I am slightly more agressive in removing trailing
newlines from docstring comments (the python script seems to leave
newlines in class-level docstrings).

Diff Detail

Repository
rL LLVM

Event Timeline

labath created this revision.Apr 10 2019, 1:26 AM

LGTM, though I'm not clear why this extra visual noise was there in the first place. Does doxygen depend on this style when reading the swigged API?

This is purely a guess on my part, but I think this is an artefact of the process which was used to produce the swig interface files initially, though I don't know what that process actually was.

I don't think doxygen ever reads these files, as it can parse the real c++ headers.

amccarth accepted this revision.Apr 10 2019, 10:29 AM
This revision is now accepted and ready to land.Apr 10 2019, 10:29 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 18 2019, 9:21 AM