added the size interface to conform with LLVM 3.1