MCParsedAsmOperand.h revision 98311ecb4ae9c82baba9e3a48acf756a81c8e9a4
1//===-- llvm/MC/MCParsedAsmOperand.h - Asm Parser Operand -------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLVM_MC_MCASMOPERAND_H 11#define LLVM_MC_MCASMOPERAND_H 12 13namespace llvm { 14class SMLoc; 15class raw_ostream; 16 17/// MCParsedAsmOperand - This abstract class represents a source-level assembly 18/// instruction operand. It should be subclassed by target-specific code. This 19/// base class is used by target-independent clients and is the interface 20/// between parsing an asm instruction and recognizing it. 21class MCParsedAsmOperand { 22public: 23 MCParsedAsmOperand() {} 24 virtual ~MCParsedAsmOperand() {} 25 26 /// getStartLoc - Get the location of the first token of this operand. 27 virtual SMLoc getStartLoc() const = 0; 28 /// getEndLoc - Get the location of the last token of this operand. 29 virtual SMLoc getEndLoc() const = 0; 30 31 /// dump - Print a debug representation of the operand to the given stream. 32 virtual void dump(raw_ostream &OS) const = 0; 33}; 34 35} // end namespace llvm. 36 37#endif 38