I find it quite painful when code generation is used to generate plugin glue code for bigger frameworks. The reason is that it stops being searchable as function names become programmatically generated, and code changes based on any number of magic configurations or state. That is also why some meta-programming is hard to debug.
You need to reverse engineer the generators to figure out how to find the code that's actually running, in bigger applications that's a pain in the butt.
Ok. Yes absolutely. Actually I had that experience as well and I had to learn the generation logic. Waste of time.
I had good experience when the code is generated, and eventually updated automatically but for other shape and purpose it’s normal code. The generated code goes in version control.
So really it’s a scaffolding operation. But still, I was impress by the quality and ever cleaverness of the generated code. ( because the generator was written with a unique, specific target in mind )
You need to reverse engineer the generators to figure out how to find the code that's actually running, in bigger applications that's a pain in the butt.