class MSPropertySubscriptExpr

Declaration

class MSPropertySubscriptExpr : public Expr { /* full declaration omitted */ };

Description

MS property subscript expression. MSVC supports 'property' attribute and allows to apply it to the declaration of an empty array in a class or structure definition. For example: The above statement indicates that x[] can be used with one or more array indices. In this case, i=p->x[a][b] will be turned into i=p->GetX(a, b), and p->x[a][b] = i will be turned into p->PutX(a, b, i). This is a syntactic pseudo-object expression.

Declared at: clang/include/clang/AST/ExprCXX.h:994

Inherits from: Expr

Member Variables

private clang::Stmt* [2] SubExprs
private clang::SourceLocation RBracketLoc

Inherited from Stmt:

protected

Method Overview

  • public MSPropertySubscriptExpr(clang::Expr * Base, clang::Expr * Idx, clang::QualType Ty, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation RBracketLoc)
  • public MSPropertySubscriptExpr(clang::Stmt::EmptyShell Shell)
  • public clang::Stmt::child_range children()
  • public clang::Stmt::const_child_range children() const
  • public static bool classof(const clang::Stmt * T)
  • public clang::Expr * getBase()
  • public const clang::Expr * getBase() const
  • public clang::SourceLocation getBeginLoc() const
  • public clang::SourceLocation getEndLoc() const
  • public clang::SourceLocation getExprLoc() const
  • public clang::Expr * getIdx()
  • public const clang::Expr * getIdx() const
  • public clang::SourceLocation getRBracketLoc() const
  • private void setBase(clang::Expr * Base)
  • private void setIdx(clang::Expr * Idx)
  • public void setRBracketLoc(clang::SourceLocation L)

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

MSPropertySubscriptExpr(
    clang::Expr* Base,
    clang::Expr* Idx,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    clang::ExprObjectKind OK,
    clang::SourceLocation RBracketLoc)

Declared at: clang/include/clang/AST/ExprCXX.h:1006

Parameters

clang::Expr* Base
clang::Expr* Idx
clang::QualType Ty
clang::ExprValueKind VK
clang::ExprObjectKind OK
clang::SourceLocation RBracketLoc

MSPropertySubscriptExpr(
    clang::Stmt::EmptyShell Shell)

Description

Create an empty array subscript expression.

Declared at: clang/include/clang/AST/ExprCXX.h:1016

Parameters

clang::Stmt::EmptyShell Shell

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprCXX.h:1043

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprCXX.h:1047

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/ExprCXX.h:1038

Parameters

const clang::Stmt* T

clang::Expr* getBase()

Declared at: clang/include/clang/AST/ExprCXX.h:1019

const clang::Expr* getBase() const

Declared at: clang/include/clang/AST/ExprCXX.h:1020

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1025

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1029

clang::SourceLocation getExprLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1034

clang::Expr* getIdx()

Declared at: clang/include/clang/AST/ExprCXX.h:1022

const clang::Expr* getIdx() const

Declared at: clang/include/clang/AST/ExprCXX.h:1023

clang::SourceLocation getRBracketLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1031

void setBase(clang::Expr* Base)

Declared at: clang/include/clang/AST/ExprCXX.h:1002

Parameters

clang::Expr* Base

void setIdx(clang::Expr* Idx)

Declared at: clang/include/clang/AST/ExprCXX.h:1003

Parameters

clang::Expr* Idx

void setRBracketLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprCXX.h:1032

Parameters

clang::SourceLocation L