[LLVMdev] Getting A Type By Name
Chris Lattner
sabre at nondot.org
Wed Dec 31 01:01:01 PST 2003
On Tue, 30 Dec 2003, Reid Spencer wrote:
> What's the RightWay(tm) to get a named type? I want to use the Module's
> symbol table as a repository for named types. But, it doesn't have a way
> to get the type out unless you already know what it is (i.e. the
> addTypeName() method). Similarly the SymbolTable class's lookup() method
> requires a type as well. The Type class also didn't have anything
> obvious.
Yup, currently you have to directly access the Module's symbol table.
Types have class 'Type::TypeTy', so you would do something like this:
Type *Module::getNamedType(const std::string &name) {
SymbolTable &SymTab = getSymbolTable();
return cast_or_null<Type>(SymTab.lookup(Type::TypeTy, name));
}
> which returns the type if found or null if not found.
>
> This is too simple to not be implemented so I figured I'm looking in the
> wrong places.
Heh, well it's so simple, it's not yet implemented :). I'll add this
though.
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
More information about the llvm-dev
mailing list