mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
b7f689bab9
Update the debug output interface for MCParsedAsmOperand to have a print() method which takes an output stream argument, an << operator which invokes the print method using the given stream, and a dump() method which prints the operand to the dbgs() stream. This makes the interface more consistent with the rest of LLVM, and more convenient to use at the debugger command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135043 91177308-0d34-0410-b5e6-96231b3b80d8
48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
//===-- llvm/MC/MCParsedAsmOperand.h - Asm Parser Operand -------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_MC_MCASMOPERAND_H
|
|
#define LLVM_MC_MCASMOPERAND_H
|
|
|
|
namespace llvm {
|
|
class SMLoc;
|
|
class raw_ostream;
|
|
|
|
/// MCParsedAsmOperand - This abstract class represents a source-level assembly
|
|
/// instruction operand. It should be subclassed by target-specific code. This
|
|
/// base class is used by target-independent clients and is the interface
|
|
/// between parsing an asm instruction and recognizing it.
|
|
class MCParsedAsmOperand {
|
|
public:
|
|
MCParsedAsmOperand() {}
|
|
virtual ~MCParsedAsmOperand() {}
|
|
|
|
/// getStartLoc - Get the location of the first token of this operand.
|
|
virtual SMLoc getStartLoc() const = 0;
|
|
/// getEndLoc - Get the location of the last token of this operand.
|
|
virtual SMLoc getEndLoc() const = 0;
|
|
|
|
/// print - Print a debug representation of the operand to the given stream.
|
|
virtual void print(raw_ostream &OS) const = 0;
|
|
/// dump - Print to the debug stream.
|
|
virtual void dump() const;
|
|
};
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// Debugging Support
|
|
|
|
inline raw_ostream& operator<<(raw_ostream &OS, const MCParsedAsmOperand &MO) {
|
|
MO.print(OS);
|
|
return OS;
|
|
}
|
|
|
|
} // end namespace llvm.
|
|
|
|
#endif
|