32 #ifndef TESLA_ANNOTATIONS_H 
   33 #define TESLA_ANNOTATIONS_H 
   35 #include <llvm/ADT/StringRef.h> 
   36 #include <llvm/IR/Instructions.h> 
   65     : Call(Call), PtrArg(PtrArg), Name(Name), Filename(Filename), Line(Line)
 
   73   const llvm::StringRef 
Name;
 
   91   llvm::Value::use_iterator 
begin() { 
return Call->use_begin(); }
 
   92   llvm::Value::use_iterator 
end() { 
return Call->use_end(); }
 
   95                   llvm::StringRef StructName, llvm::StringRef FieldName,
 
   97     : 
PtrAnnotation(Call, PtrArg, (StructName + 
"." + FieldName).str(),
 
   99       StructName(StructName), FieldName(FieldName)
 
  104   const llvm::StringRef StructName;
 
  105   const llvm::StringRef FieldName;
 
  110 #endif  // !TESLA_ANNOTATIONS_H