#ifndef LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H
#define LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H
-#include <iosfwd>
-
namespace llvm {
class Function;
class BasicBlock;
class Instruction;
+class raw_ostream;
-struct AssemblyAnnotationWriter {
+class AssemblyAnnotationWriter {
+public:
virtual ~AssemblyAnnotationWriter();
// emitFunctionAnnot - This may be implemented to emit a string right before
// the start of a function.
- virtual void emitFunctionAnnot(const Function *F, std::ostream &OS) {}
+ virtual void emitFunctionAnnot(const Function *F, raw_ostream &OS) {}
// emitBasicBlockStartAnnot - This may be implemented to emit a string right
// after the basic block label, but before the first instruction in the block.
- virtual void emitBasicBlockStartAnnot(const BasicBlock *BB, std::ostream &OS){
+ virtual void emitBasicBlockStartAnnot(const BasicBlock *BB, raw_ostream &OS){
}
// emitBasicBlockEndAnnot - This may be implemented to emit a string right
// after the basic block.
- virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, std::ostream &OS){
+ virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, raw_ostream &OS){
}
// emitInstructionAnnot - This may be implemented to emit a string right
// before an instruction is emitted.
- virtual void emitInstructionAnnot(const Instruction *I, std::ostream &OS) {}
+ virtual void emitInstructionAnnot(const Instruction *I, raw_ostream &OS) {}
};
} // End llvm namespace