Line data Source code
1 : //===- MCAsmMacro.h - Assembly Macros ---------------------------*- 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 : #include "llvm/MC/MCAsmMacro.h"
11 : #include "llvm/Support/raw_ostream.h"
12 :
13 : using namespace llvm;
14 :
15 0 : void MCAsmMacroParameter::dump(raw_ostream &OS) const {
16 0 : OS << "\"" << Name << "\"";
17 0 : if (Required)
18 0 : OS << ":req";
19 0 : if (Vararg)
20 0 : OS << ":vararg";
21 0 : if (!Value.empty()) {
22 0 : OS << " = ";
23 : bool first = true;
24 0 : for (const AsmToken &T : Value) {
25 0 : if (!first)
26 0 : OS << ", ";
27 : first = false;
28 0 : OS << T.getString();
29 : }
30 : }
31 0 : OS << "\n";
32 0 : }
33 :
34 0 : void MCAsmMacro::dump(raw_ostream &OS) const {
35 0 : OS << "Macro " << Name << ":\n";
36 0 : OS << " Parameters:\n";
37 0 : for (const MCAsmMacroParameter &P : Parameters) {
38 0 : OS << " ";
39 : P.dump();
40 : }
41 0 : OS << " (BEGIN BODY)" << Body << "(END BODY)\n";
42 0 : }
|