clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::MSAsmStmt Class Reference

#include <Stmt.h>

Inheritance diagram for clang::MSAsmStmt:
Inheritance graph
[legend]
Collaboration diagram for clang::MSAsmStmt:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

This represents a Microsoft inline-assembly statement extension.

Definition at line 1723 of file Stmt.h.


Constructor & Destructor Documentation

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 
)

Definition at line 706 of file Stmt.cpp.

clang::MSAsmStmt::MSAsmStmt ( EmptyShell  Empty) [inline, explicit]

Build an empty MS-style inline-assembly statement.

Definition at line 1744 of file Stmt.h.


Member Function Documentation

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.

Definition at line 656 of file Stmt.cpp.

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]
StringRef clang::MSAsmStmt::getAsmString ( ) const [inline]

Definition at line 1758 of file Stmt.h.

Definition at line 1755 of file Stmt.h.

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().

Definition at line 1749 of file Stmt.h.

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.

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().

Definition at line 1747 of file Stmt.h.

Reimplemented from clang::AsmStmt.

Definition at line 1812 of file Stmt.h.

Reimplemented from clang::AsmStmt.

Definition at line 1811 of file Stmt.h.

References clang::AsmStmt::AsmLoc.

Definition at line 1754 of file Stmt.h.

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.

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().

Definition at line 1750 of file Stmt.h.

void MSAsmStmt::setInputExpr ( unsigned  i,
Expr *  E 
)

Definition at line 668 of file Stmt.cpp.

References clang::AsmStmt::NumOutputs.

Definition at line 1748 of file Stmt.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::AsmStmt.

Definition at line 1733 of file Stmt.h.


The documentation for this class was generated from the following files: