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 ()
TokengetAsmToks ()
StringRef getAsmString () const
std::string generateAsmString (const ASTContext &C) const
 Assemble final IR asm string.
StringRef getOutputConstraint (unsigned i) const
ExprgetOutputExpr (unsigned i)
const ExprgetOutputExpr (unsigned i) const
StringRef getInputConstraint (unsigned i) const
ExprgetInputExpr (unsigned i)
void setInputExpr (unsigned i, Expr *E)
const ExprgetInputExpr (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: