clang API Documentation
#include <Stmt.h>
Public Member Functions | |
MSAsmStmt (const ASTContext &C, SourceLocation asmloc, SourceLocation lbraceloc, bool issimple, bool isvolatile, ArrayRef< Token > asmtoks, unsigned numoutputs, unsigned numinputs, ArrayRef< StringRef > constraints, ArrayRef< Expr * > exprs, StringRef asmstr, ArrayRef< StringRef > clobbers, SourceLocation endloc) | |
MSAsmStmt (EmptyShell Empty) | |
Build an empty MS-style inline-assembly statement. | |
SourceLocation | getLBraceLoc () const |
void | setLBraceLoc (SourceLocation L) |
SourceLocation | getEndLoc () const |
void | setEndLoc (SourceLocation L) |
bool | hasBraces () const |
unsigned | getNumAsmToks () |
Token * | getAsmToks () |
StringRef | getAsmString () const |
std::string | generateAsmString (const ASTContext &C) const |
Assemble final IR asm string. | |
StringRef | getOutputConstraint (unsigned i) const |
Expr * | getOutputExpr (unsigned i) |
const Expr * | getOutputExpr (unsigned i) const |
StringRef | getInputConstraint (unsigned i) const |
Expr * | getInputExpr (unsigned i) |
void | setInputExpr (unsigned i, Expr *E) |
const Expr * | getInputExpr (unsigned i) const |
ArrayRef< StringRef > | getAllConstraints () const |
ArrayRef< StringRef > | getClobbers () const |
ArrayRef< Expr * > | getAllExprs () const |
StringRef | getClobber (unsigned i) const |
SourceLocation | getLocStart () const LLVM_READONLY |
SourceLocation | getLocEnd () const LLVM_READONLY |
child_range | children () |
Static Public Member Functions | |
static bool | classof (const Stmt *T) |
Friends | |
class | ASTStmtReader |
This represents a Microsoft inline-assembly statement extension.
MSAsmStmt::MSAsmStmt | ( | const ASTContext & | C, |
SourceLocation | asmloc, | ||
SourceLocation | lbraceloc, | ||
bool | issimple, | ||
bool | isvolatile, | ||
ArrayRef< Token > | asmtoks, | ||
unsigned | numoutputs, | ||
unsigned | numinputs, | ||
ArrayRef< StringRef > | constraints, | ||
ArrayRef< Expr * > | exprs, | ||
StringRef | asmstr, | ||
ArrayRef< StringRef > | clobbers, | ||
SourceLocation | endloc | ||
) |
clang::MSAsmStmt::MSAsmStmt | ( | EmptyShell | Empty | ) | [inline, explicit] |
child_range clang::MSAsmStmt::children | ( | ) | [inline] |
Reimplemented from clang::AsmStmt.
Definition at line 1818 of file Stmt.h.
References clang::AsmStmt::Exprs, clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
static bool clang::MSAsmStmt::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::AsmStmt.
Definition at line 1814 of file Stmt.h.
References clang::Stmt::getStmtClass().
std::string MSAsmStmt::generateAsmString | ( | const ASTContext & | C | ) | const |
Assemble final IR asm string.
Assemble final IR asm string (MS-style).
Reimplemented from clang::AsmStmt.
ArrayRef<StringRef> clang::MSAsmStmt::getAllConstraints | ( | ) | const [inline] |
Definition at line 1792 of file Stmt.h.
References clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
ArrayRef<Expr*> clang::MSAsmStmt::getAllExprs | ( | ) | const [inline] |
Definition at line 1798 of file Stmt.h.
References clang::AsmStmt::Exprs, clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
StringRef clang::MSAsmStmt::getAsmString | ( | ) | const [inline] |
Token* clang::MSAsmStmt::getAsmToks | ( | ) | [inline] |
StringRef clang::MSAsmStmt::getClobber | ( | unsigned | i | ) | const [inline] |
Reimplemented from clang::AsmStmt.
Definition at line 1803 of file Stmt.h.
References getClobbers().
ArrayRef<StringRef> clang::MSAsmStmt::getClobbers | ( | ) | const [inline] |
Definition at line 1795 of file Stmt.h.
References clang::AsmStmt::NumClobbers.
Referenced by getClobber().
SourceLocation clang::MSAsmStmt::getEndLoc | ( | ) | const [inline] |
StringRef clang::MSAsmStmt::getInputConstraint | ( | unsigned | i | ) | const [inline] |
getInputConstraint - Return the specified input constraint. Unlike output constraints, these can be empty.
Reimplemented from clang::AsmStmt.
Definition at line 1778 of file Stmt.h.
References clang::AsmStmt::NumInputs, and clang::AsmStmt::NumOutputs.
Expr * MSAsmStmt::getInputExpr | ( | unsigned | i | ) |
Definition at line 665 of file Stmt.cpp.
References clang::AsmStmt::NumOutputs.
Referenced by getInputExpr().
const Expr* clang::MSAsmStmt::getInputExpr | ( | unsigned | i | ) | const [inline] |
Reimplemented from clang::AsmStmt.
Definition at line 1786 of file Stmt.h.
References getInputExpr().
SourceLocation clang::MSAsmStmt::getLBraceLoc | ( | ) | const [inline] |
SourceLocation clang::MSAsmStmt::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::AsmStmt.
SourceLocation clang::MSAsmStmt::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::AsmStmt.
Definition at line 1811 of file Stmt.h.
References clang::AsmStmt::AsmLoc.
unsigned clang::MSAsmStmt::getNumAsmToks | ( | ) | [inline] |
StringRef clang::MSAsmStmt::getOutputConstraint | ( | unsigned | i | ) | const [inline] |
getOutputConstraint - Return the constraint string for the specified output operand. All output constraints are known to be non-empty (either '=' or '+').
Reimplemented from clang::AsmStmt.
Definition at line 1765 of file Stmt.h.
References clang::AsmStmt::NumOutputs.
Expr * MSAsmStmt::getOutputExpr | ( | unsigned | i | ) |
Definition at line 661 of file Stmt.cpp.
Referenced by getOutputExpr().
const Expr* clang::MSAsmStmt::getOutputExpr | ( | unsigned | i | ) | const [inline] |
Reimplemented from clang::AsmStmt.
Definition at line 1772 of file Stmt.h.
References getOutputExpr().
bool clang::MSAsmStmt::hasBraces | ( | ) | const [inline] |
Definition at line 1752 of file Stmt.h.
References clang::SourceLocation::isValid().
void clang::MSAsmStmt::setEndLoc | ( | SourceLocation | L | ) | [inline] |
void MSAsmStmt::setInputExpr | ( | unsigned | i, |
Expr * | E | ||
) |
Definition at line 668 of file Stmt.cpp.
References clang::AsmStmt::NumOutputs.
void clang::MSAsmStmt::setLBraceLoc | ( | SourceLocation | L | ) | [inline] |
friend class ASTStmtReader [friend] |
Reimplemented from clang::AsmStmt.