create llvm object type in the constructor