mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
Add some hooks that a redesigned AsmStream needs to do its job. These
allow derived classes to examine the stream buffer before it's flushed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75199 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e5564748b7
commit
53674361ef
@ -44,6 +44,22 @@ private:
|
||||
char *OutBufStart, *OutBufEnd, *OutBufCur;
|
||||
bool Unbuffered;
|
||||
|
||||
protected:
|
||||
/// CurBufPtr - Get a pointer to the current location in the buffer.
|
||||
///
|
||||
char *CurBufPtr(void) { return OutBufCur; }
|
||||
/// StartBufPtr - Get a pointer to the start of the buffer
|
||||
///
|
||||
char *StartBufPtr(void) { return OutBufStart; }
|
||||
/// EndBufPtr - Get a pointer to the end of the buffer
|
||||
///
|
||||
char *EndBufPtr(void) { return OutBufEnd; }
|
||||
|
||||
/// AboutToFlush- Called when the buffer is about to be flushed,
|
||||
/// allowing derived classes to take some action.
|
||||
///
|
||||
virtual void AboutToFlush(void) {};
|
||||
|
||||
public:
|
||||
// color order matches ANSI escape sequence, don't change
|
||||
enum Colors {
|
||||
|
@ -120,6 +120,7 @@ raw_ostream &raw_ostream::operator<<(const void *P) {
|
||||
|
||||
void raw_ostream::flush_nonempty() {
|
||||
assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty.");
|
||||
AboutToFlush();
|
||||
write_impl(OutBufStart, OutBufCur - OutBufStart);
|
||||
OutBufCur = OutBufStart;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user