Iterate through a Module's StructTypes


I’m updating a legacy code using LLVM 2.5 where it has an iteration through a Module’s TypeSymbolTable to process each StructType.

In LLVM 3.4, TypeSymbolTable has been removed. I can only find the LLVMContextImpl instance of a Module’s LLVMContext which has AnonStructTypes and NamedStructTypes two maps. However, LLVMContextImpl is an opaque class which cannot be directly accessed by my code(a subclass of ModulePass).

So how can I iterate all the Types in a Module? Thanks.

Thomas Yang