DLP identify leaf functions
Jacob Carlborg
doob at me.com
Fri Nov 30 20:10:05 UTC 2018
I would like to announce a new project I've started, called DLP (D
Language Processing). Currently it's quite experimental but the idea is
that it would contain a collection of commands for inspecting D code in
various ways. It uses the DMD frontend as a library (the Dub package) to
process D code.
This first release only contains one command, "leaf-functions". It will
print out all leaf functions to standard out. A "leaf function" is
considered a function that doesn't call any other functions or doesn't
have a body. The use case for this is if you have a code base that you
would like to add attributes to. Since most attributes causes the
function they're attached to be constraint in which other functions they
can call, "@nogc" functions can only call other "@nogc" functions,
"pure" functions can only call other "pure" functions and so on.
Therefore it makes most sense when starting to add attributes to a code
base to start with the leaf functions, the functions that don't call any
other functions.
Pre-compiled binaries are available for macOS, Linux and Windows.
https://github.com/jacob-carlborg/dlp
--
/Jacob Carlborg
More information about the Digitalmars-d-announce
mailing list