mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-01 17:29:33 +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;
|
char *OutBufStart, *OutBufEnd, *OutBufCur;
|
||||||
bool Unbuffered;
|
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:
|
public:
|
||||||
// color order matches ANSI escape sequence, don't change
|
// color order matches ANSI escape sequence, don't change
|
||||||
enum Colors {
|
enum Colors {
|
||||||
|
@ -120,6 +120,7 @@ raw_ostream &raw_ostream::operator<<(const void *P) {
|
|||||||
|
|
||||||
void raw_ostream::flush_nonempty() {
|
void raw_ostream::flush_nonempty() {
|
||||||
assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty.");
|
assert(OutBufCur > OutBufStart && "Invalid call to flush_nonempty.");
|
||||||
|
AboutToFlush();
|
||||||
write_impl(OutBufStart, OutBufCur - OutBufStart);
|
write_impl(OutBufStart, OutBufCur - OutBufStart);
|
||||||
OutBufCur = OutBufStart;
|
OutBufCur = OutBufStart;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user