This is split off from D79192 and exposes APIGenerator (renames to APIIndexer) for use in generating the integrations tests.
Mostly LGTM with few minor comments.
After renaming the class to APIIndexer, the write method should be decoupled from the class and given a name say writeAPIFromIndex or something. AFAICT, it only needs access to the members you have made public in this patch.
These names are generic enough that they should be nested in the class. You can make them public if you want.
At this point, it probably makes sense to call this class APIIndexer?
Can you add comments explaining the difference between the two constructors?
Empty line after this?
Yeah, the primary function of this is to read the TableGen files so this name makes more sense. (: