summaryrefslogtreecommitdiff
path: root/include/clang/AST/Expr.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/Expr.h')
-rw-r--r--include/clang/AST/Expr.h394
1 files changed, 197 insertions, 197 deletions
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 99e0302004..b88709bd05 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -52,10 +52,10 @@ namespace clang {
class TargetInfo;
class ValueDecl;
-/// \brief A simple array of base specifiers.
+/// A simple array of base specifiers.
typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
-/// \brief An adjustment to be made to the temporary created when emitting a
+/// An adjustment to be made to the temporary created when emitting a
/// reference binding, which accesses a particular subobject of that temporary.
struct SubobjectAdjustment {
enum {
@@ -121,7 +121,7 @@ protected:
setType(T);
}
- /// \brief Construct an empty expression.
+ /// Construct an empty expression.
explicit Expr(StmtClass SC, EmptyShell) : Stmt(SC) { }
public:
@@ -148,7 +148,7 @@ public:
/// @endcode
bool isValueDependent() const { return ExprBits.ValueDependent; }
- /// \brief Set whether this expression is value-dependent or not.
+ /// Set whether this expression is value-dependent or not.
void setValueDependent(bool VD) {
ExprBits.ValueDependent = VD;
}
@@ -166,12 +166,12 @@ public:
/// @endcode
bool isTypeDependent() const { return ExprBits.TypeDependent; }
- /// \brief Set whether this expression is type-dependent or not.
+ /// Set whether this expression is type-dependent or not.
void setTypeDependent(bool TD) {
ExprBits.TypeDependent = TD;
}
- /// \brief Whether this expression is instantiation-dependent, meaning that
+ /// Whether this expression is instantiation-dependent, meaning that
/// it depends in some way on a template parameter, even if neither its type
/// nor (constant) value can change due to the template instantiation.
///
@@ -192,12 +192,12 @@ public:
return ExprBits.InstantiationDependent;
}
- /// \brief Set whether this expression is instantiation-dependent or not.
+ /// Set whether this expression is instantiation-dependent or not.
void setInstantiationDependent(bool ID) {
ExprBits.InstantiationDependent = ID;
}
- /// \brief Whether this expression contains an unexpanded parameter
+ /// Whether this expression contains an unexpanded parameter
/// pack (for C++11 variadic templates).
///
/// Given the following function template:
@@ -215,7 +215,7 @@ public:
return ExprBits.ContainsUnexpandedParameterPack;
}
- /// \brief Set the bit that describes whether this expression
+ /// Set the bit that describes whether this expression
/// contains an unexpanded parameter pack.
void setContainsUnexpandedParameterPack(bool PP = true) {
ExprBits.ContainsUnexpandedParameterPack = PP;
@@ -297,11 +297,11 @@ public:
isModifiableLvalueResult
isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc = nullptr) const;
- /// \brief The return type of classify(). Represents the C++11 expression
+ /// The return type of classify(). Represents the C++11 expression
/// taxonomy.
class Classification {
public:
- /// \brief The various classification results. Most of these mean prvalue.
+ /// The various classification results. Most of these mean prvalue.
enum Kinds {
CL_LValue,
CL_XValue,
@@ -316,7 +316,7 @@ public:
CL_ObjCMessageRValue, // ObjC message is an rvalue
CL_PRValue // A prvalue for any other reason, of any other type
};
- /// \brief The results of modification testing.
+ /// The results of modification testing.
enum ModifiableType {
CM_Untested, // testModifiable was false.
CM_Modifiable,
@@ -356,13 +356,13 @@ public:
bool isRValue() const { return Kind >= CL_XValue; }
bool isModifiable() const { return getModifiable() == CM_Modifiable; }
- /// \brief Create a simple, modifiably lvalue
+ /// Create a simple, modifiably lvalue
static Classification makeSimpleLValue() {
return Classification(CL_LValue, CM_Modifiable);
}
};
- /// \brief Classify - Classify this expression according to the C++11
+ /// Classify - Classify this expression according to the C++11
/// expression taxonomy.
///
/// C++11 defines ([basic.lval]) a new taxonomy of expressions to replace the
@@ -378,7 +378,7 @@ public:
return ClassifyImpl(Ctx, nullptr);
}
- /// \brief ClassifyModifiable - Classify this expression according to the
+ /// ClassifyModifiable - Classify this expression according to the
/// C++11 expression taxonomy, and see if it is valid on the left side
/// of an assignment.
///
@@ -429,14 +429,14 @@ private:
public:
- /// \brief Returns true if this expression is a gl-value that
+ /// Returns true if this expression is a gl-value that
/// potentially refers to a bit-field.
///
/// In C++, whether a gl-value refers to a bitfield is essentially
/// an aspect of the value-kind type system.
bool refersToBitField() const { return getObjectKind() == OK_BitField; }
- /// \brief If this expression refers to a bit-field, retrieve the
+ /// If this expression refers to a bit-field, retrieve the
/// declaration of that bit-field.
///
/// Note that this returns a non-null pointer in subtly different
@@ -454,26 +454,26 @@ public:
return const_cast<Expr*>(this)->getReferencedDeclOfCallee();
}
- /// \brief If this expression is an l-value for an Objective C
+ /// If this expression is an l-value for an Objective C
/// property, find the underlying property reference expression.
const ObjCPropertyRefExpr *getObjCProperty() const;
- /// \brief Check if this expression is the ObjC 'self' implicit parameter.
+ /// Check if this expression is the ObjC 'self' implicit parameter.
bool isObjCSelfExpr() const;
- /// \brief Returns whether this expression refers to a vector element.
+ /// Returns whether this expression refers to a vector element.
bool refersToVectorElement() const;
- /// \brief Returns whether this expression refers to a global register
+ /// Returns whether this expression refers to a global register
/// variable.
bool refersToGlobalRegisterVar() const;
- /// \brief Returns whether this expression has a placeholder type.
+ /// Returns whether this expression has a placeholder type.
bool hasPlaceholderType() const {
return getType()->isPlaceholderType();
}
- /// \brief Returns whether this expression has a specific placeholder type.
+ /// Returns whether this expression has a specific placeholder type.
bool hasPlaceholderType(BuiltinType::Kind K) const {
assert(BuiltinType::isPlaceholderTypeKind(K));
if (const BuiltinType *BT = dyn_cast<BuiltinType>(getType()))
@@ -539,11 +539,11 @@ public:
/// EvalStatus is a struct with detailed info about an evaluation in progress.
struct EvalStatus {
- /// \brief Whether the evaluated expression has side effects.
+ /// Whether the evaluated expression has side effects.
/// For example, (f() && 0) can be folded, but it still has side effects.
bool HasSideEffects;
- /// \brief Whether the evaluation hit undefined behavior.
+ /// Whether the evaluation hit undefined behavior.
/// For example, 1.0 / 0.0 can be folded to Inf, but has undefined behavior.
/// Likewise, INT_MAX + 1 can be folded to INT_MIN, but has UB.
bool HasUndefinedBehavior;
@@ -625,7 +625,7 @@ public:
bool HasSideEffects(const ASTContext &Ctx,
bool IncludePossibleEffects = true) const;
- /// \brief Determine whether this expression involves a call to any function
+ /// Determine whether this expression involves a call to any function
/// that is not trivial.
bool hasNonTrivialCall(const ASTContext &Ctx) const;
@@ -658,7 +658,7 @@ public:
ArrayRef<const Expr*> Args,
const Expr *This = nullptr) const;
- /// \brief If the current Expr is a pointer, this will try to statically
+ /// If the current Expr is a pointer, this will try to statically
/// determine the number of bytes available where the pointer is pointing.
/// Returns true if all of the above holds and we were able to figure out the
/// size, false otherwise.
@@ -668,40 +668,40 @@ public:
bool tryEvaluateObjectSize(uint64_t &Result, ASTContext &Ctx,
unsigned Type) const;
- /// \brief Enumeration used to describe the kind of Null pointer constant
+ /// Enumeration used to describe the kind of Null pointer constant
/// returned from \c isNullPointerConstant().
enum NullPointerConstantKind {
- /// \brief Expression is not a Null pointer constant.
+ /// Expression is not a Null pointer constant.
NPCK_NotNull = 0,
- /// \brief Expression is a Null pointer constant built from a zero integer
+ /// Expression is a Null pointer constant built from a zero integer
/// expression that is not a simple, possibly parenthesized, zero literal.
/// C++ Core Issue 903 will classify these expressions as "not pointers"
/// once it is adopted.
/// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#903
NPCK_ZeroExpression,
- /// \brief Expression is a Null pointer constant built from a literal zero.
+ /// Expression is a Null pointer constant built from a literal zero.
NPCK_ZeroLiteral,
- /// \brief Expression is a C++11 nullptr.
+ /// Expression is a C++11 nullptr.
NPCK_CXX11_nullptr,
- /// \brief Expression is a GNU-style __null constant.
+ /// Expression is a GNU-style __null constant.
NPCK_GNUNull
};
- /// \brief Enumeration used to describe how \c isNullPointerConstant()
+ /// Enumeration used to describe how \c isNullPointerConstant()
/// should cope with value-dependent expressions.
enum NullPointerConstantValueDependence {
- /// \brief Specifies that the expression should never be value-dependent.
+ /// Specifies that the expression should never be value-dependent.
NPC_NeverValueDependent = 0,
- /// \brief Specifies that a value-dependent expression of integral or
+ /// Specifies that a value-dependent expression of integral or
/// dependent type should be considered a null pointer constant.
NPC_ValueDependentIsNull,
- /// \brief Specifies that a value-dependent expression should be considered
+ /// Specifies that a value-dependent expression should be considered
/// to never be a null pointer constant.
NPC_ValueDependentIsNotNull
};
@@ -717,10 +717,10 @@ public:
/// write barrier.
bool isOBJCGCCandidate(ASTContext &Ctx) const;
- /// \brief Returns true if this expression is a bound member function.
+ /// Returns true if this expression is a bound member function.
bool isBoundMemberFunction(ASTContext &Ctx) const;
- /// \brief Given an expression of bound-member type, find the type
+ /// Given an expression of bound-member type, find the type
/// of the member. Returns null if this is an *overloaded* bound
/// member expression.
static QualType findBoundMemberType(const Expr *expr);
@@ -788,7 +788,7 @@ public:
return const_cast<Expr*>(this)->ignoreParenBaseCasts();
}
- /// \brief Determine whether this expression is a default function argument.
+ /// Determine whether this expression is a default function argument.
///
/// Default arguments are implicitly generated in the abstract syntax tree
/// by semantic analysis for function calls, object constructions, etc. in
@@ -797,11 +797,11 @@ public:
/// the expression is a default argument.
bool isDefaultArgument() const;
- /// \brief Determine whether the result of this expression is a
+ /// Determine whether the result of this expression is a
/// temporary object of the given class type.
bool isTemporaryObject(ASTContext &Ctx, const CXXRecordDecl *TempTy) const;
- /// \brief Whether this expression is an implicit reference to 'this' in C++.
+ /// Whether this expression is an implicit reference to 'this' in C++.
bool isImplicitCXXThis() const;
const Expr *IgnoreImpCasts() const LLVM_READONLY {
@@ -824,7 +824,7 @@ public:
static bool hasAnyTypeDependentArguments(ArrayRef<Expr *> Exprs);
- /// \brief For an expression of class type or pointer to class type,
+ /// For an expression of class type or pointer to class type,
/// return the most derived class decl the expression is known to refer to.
///
/// If this expression is a cast, this method looks through it to find the
@@ -833,7 +833,7 @@ public:
/// behavior if the object isn't dynamically of the derived type.
const CXXRecordDecl *getBestDynamicClassType() const;
- /// \brief Get the inner expression that determines the best dynamic class.
+ /// Get the inner expression that determines the best dynamic class.
/// If this is a prvalue, we guarantee that it is of the most-derived type
/// for the object itself.
const Expr *getBestDynamicClassTypeExpr() const;
@@ -894,7 +894,7 @@ public:
explicit OpaqueValueExpr(EmptyShell Empty)
: Expr(OpaqueValueExprClass, Empty) { }
- /// \brief Retrieve the location of this expression.
+ /// Retrieve the location of this expression.
SourceLocation getLocation() const { return Loc; }
SourceLocation getLocStart() const LLVM_READONLY {
@@ -939,7 +939,7 @@ public:
}
};
-/// \brief A reference to a declared variable, function, enum, etc.
+/// A reference to a declared variable, function, enum, etc.
/// [C99 6.5.1p2]
///
/// This encodes all the information about how a declaration is referenced
@@ -967,13 +967,13 @@ class DeclRefExpr final
private llvm::TrailingObjects<DeclRefExpr, NestedNameSpecifierLoc,
NamedDecl *, ASTTemplateKWAndArgsInfo,
TemplateArgumentLoc> {
- /// \brief The declaration that we are referencing.
+ /// The declaration that we are referencing.
ValueDecl *D;
- /// \brief The location of the declaration name itself.
+ /// The location of the declaration name itself.
SourceLocation Loc;
- /// \brief Provides source/type location info for the declaration name
+ /// Provides source/type location info for the declaration name
/// embedded in D.
DeclarationNameLoc DNLoc;
@@ -989,7 +989,7 @@ class DeclRefExpr final
return hasTemplateKWAndArgsInfo() ? 1 : 0;
}
- /// \brief Test whether there is a distinct FoundDecl attached to the end of
+ /// Test whether there is a distinct FoundDecl attached to the end of
/// this DRE.
bool hasFoundDecl() const { return DeclRefExprBits.HasFoundDecl; }
@@ -1002,11 +1002,11 @@ class DeclRefExpr final
const TemplateArgumentListInfo *TemplateArgs,
QualType T, ExprValueKind VK);
- /// \brief Construct an empty declaration reference expression.
+ /// Construct an empty declaration reference expression.
explicit DeclRefExpr(EmptyShell Empty)
: Expr(DeclRefExprClass, Empty) { }
- /// \brief Computes the type- and value-dependence flags for this
+ /// Computes the type- and value-dependence flags for this
/// declaration reference expression.
void computeDependence(const ASTContext &C);
@@ -1040,7 +1040,7 @@ public:
NamedDecl *FoundD = nullptr,
const TemplateArgumentListInfo *TemplateArgs = nullptr);
- /// \brief Construct an empty declaration reference expression.
+ /// Construct an empty declaration reference expression.
static DeclRefExpr *CreateEmpty(const ASTContext &Context,
bool HasQualifier,
bool HasFoundDecl,
@@ -1060,11 +1060,11 @@ public:
SourceLocation getLocStart() const LLVM_READONLY;
SourceLocation getLocEnd() const LLVM_READONLY;
- /// \brief Determine whether this declaration reference was preceded by a
+ /// Determine whether this declaration reference was preceded by a
/// C++ nested-name-specifier, e.g., \c N::foo.
bool hasQualifier() const { return DeclRefExprBits.HasQualifier; }
- /// \brief If the name was qualified, retrieves the nested-name-specifier
+ /// If the name was qualified, retrieves the nested-name-specifier
/// that precedes the name, with source-location information.
NestedNameSpecifierLoc getQualifierLoc() const {
if (!hasQualifier())
@@ -1072,13 +1072,13 @@ public:
return *getTrailingObjects<NestedNameSpecifierLoc>();
}
- /// \brief If the name was qualified, retrieves the nested-name-specifier
+ /// If the name was qualified, retrieves the nested-name-specifier
/// that precedes the name. Otherwise, returns NULL.
NestedNameSpecifier *getQualifier() const {
return getQualifierLoc().getNestedNameSpecifier();
}
- /// \brief Get the NamedDecl through which this reference occurred.
+ /// Get the NamedDecl through which this reference occurred.
///
/// This Decl may be different from the ValueDecl actually referred to in the
/// presence of using declarations, etc. It always returns non-NULL, and may
@@ -1088,7 +1088,7 @@ public:
return hasFoundDecl() ? *getTrailingObjects<NamedDecl *>() : D;
}
- /// \brief Get the NamedDecl through which this reference occurred.
+ /// Get the NamedDecl through which this reference occurred.
/// See non-const variant.
const NamedDecl *getFoundDecl() const {
return hasFoundDecl() ? *getTrailingObjects<NamedDecl *>() : D;
@@ -1098,36 +1098,36 @@ public:
return DeclRefExprBits.HasTemplateKWAndArgsInfo;
}
- /// \brief Retrieve the location of the template keyword preceding
+ /// Retrieve the location of the template keyword preceding
/// this name, if any.
SourceLocation getTemplateKeywordLoc() const {
if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
}
- /// \brief Retrieve the location of the left angle bracket starting the
+ /// Retrieve the location of the left angle bracket starting the
/// explicit template argument list following the name, if any.
SourceLocation getLAngleLoc() const {
if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
}
- /// \brief Retrieve the location of the right angle bracket ending the
+ /// Retrieve the location of the right angle bracket ending the
/// explicit template argument list following the name, if any.
SourceLocation getRAngleLoc() const {
if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->RAngleLoc;
}
- /// \brief Determines whether the name in this declaration reference
+ /// Determines whether the name in this declaration reference
/// was preceded by the template keyword.
bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
- /// \brief Determines whether this declaration reference was followed by an
+ /// Determines whether this declaration reference was followed by an
/// explicit template argument list.
bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
- /// \brief Copies the template arguments (if present) into the given
+ /// Copies the template arguments (if present) into the given
/// structure.
void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
if (hasExplicitTemplateArgs())
@@ -1135,7 +1135,7 @@ public:
getTrailingObjects<TemplateArgumentLoc>(), List);
}
- /// \brief Retrieve the template arguments provided as part of this
+ /// Retrieve the template arguments provided as part of this
/// template-id.
const TemplateArgumentLoc *getTemplateArgs() const {
if (!hasExplicitTemplateArgs())
@@ -1144,7 +1144,7 @@ public:
return getTrailingObjects<TemplateArgumentLoc>();
}
- /// \brief Retrieve the number of template arguments provided as part of this
+ /// Retrieve the number of template arguments provided as part of this
/// template-id.
unsigned getNumTemplateArgs() const {
if (!hasExplicitTemplateArgs())
@@ -1157,19 +1157,19 @@ public:
return {getTemplateArgs(), getNumTemplateArgs()};
}
- /// \brief Returns true if this expression refers to a function that
+ /// Returns true if this expression refers to a function that
/// was resolved from an overloaded set having size greater than 1.
bool hadMultipleCandidates() const {
return DeclRefExprBits.HadMultipleCandidates;
}
- /// \brief Sets the flag telling whether this expression refers to
+ /// Sets the flag telling whether this expression refers to
/// a function that was resolved from an overloaded set having size
/// greater than 1.
void setHadMultipleCandidates(bool V = true) {
DeclRefExprBits.HadMultipleCandidates = V;
}
- /// \brief Does this DeclRefExpr refer to an enclosing local or a captured
+ /// Does this DeclRefExpr refer to an enclosing local or a captured
/// variable?
bool refersToEnclosingVariableOrCapture() const {
return DeclRefExprBits.RefersToEnclosingVariableOrCapture;
@@ -1193,7 +1193,7 @@ public:
friend class ASTStmtWriter;
};
-/// \brief [C99 6.4.2.2] - A predefined identifier such as __func__.
+/// [C99 6.4.2.2] - A predefined identifier such as __func__.
class PredefinedExpr : public Expr {
public:
enum IdentType {
@@ -1203,7 +1203,7 @@ public:
FuncDName,
FuncSig,
PrettyFunction,
- /// \brief The same as PrettyFunction, except that the
+ /// The same as PrettyFunction, except that the
/// 'virtual' keyword is omitted for virtual member functions.
PrettyFunctionNoVirtual
};
@@ -1217,7 +1217,7 @@ public:
PredefinedExpr(SourceLocation L, QualType FNTy, IdentType IT,
StringLiteral *SL);
- /// \brief Construct an empty predefined expression.
+ /// Construct an empty predefined expression.
explicit PredefinedExpr(EmptyShell Empty)
: Expr(PredefinedExprClass, Empty), Loc(), Type(Func), FnName(nullptr) {}
@@ -1250,7 +1250,7 @@ public:
friend class ASTStmtReader;
};
-/// \brief Used by IntegerLiteral/FloatingLiteral to store the numeric without
+/// Used by IntegerLiteral/FloatingLiteral to store the numeric without
/// leaking memory.
///
/// For large floats/integers, APFloat/APInt will allocate memory from the heap
@@ -1304,7 +1304,7 @@ public:
class IntegerLiteral : public Expr, public APIntStorage {
SourceLocation Loc;
- /// \brief Construct an empty integer literal.
+ /// Construct an empty integer literal.
explicit IntegerLiteral(EmptyShell Empty)
: Expr(IntegerLiteralClass, Empty) { }
@@ -1314,19 +1314,19 @@ public:
IntegerLiteral(const ASTContext &C, const llvm::APInt &V, QualType type,
SourceLocation l);
- /// \brief Returns a new integer literal with value 'V' and type 'type'.
+ /// Returns a new integer literal with value 'V' and type 'type'.
/// \param type - either IntTy, LongTy, LongLongTy, UnsignedIntTy,
/// UnsignedLongTy, or UnsignedLongLongTy which should match the size of V
/// \param V - the value that the returned integer literal contains.
static IntegerLiteral *Create(const ASTContext &C, const llvm::APInt &V,
QualType type, SourceLocation l);
- /// \brief Returns a new empty integer literal.
+ /// Returns a new empty integer literal.
static IntegerLiteral *Create(const ASTContext &C, EmptyShell Empty);
SourceLocation getLocStart() const LLVM_READONLY { return Loc; }
SourceLocation getLocEnd() const LLVM_READONLY { return Loc; }
- /// \brief Retrieve the location of the literal.
+ /// Retrieve the location of the literal.
SourceLocation getLocation() const { return Loc; }
void setLocation(SourceLocation Location) { Loc = Location; }
@@ -1367,7 +1367,7 @@ public:
CharacterLiteralBits.Kind = kind;
}
- /// \brief Construct an empty character literal.
+ /// Construct an empty character literal.
CharacterLiteral(EmptyShell Empty) : Expr(CharacterLiteralClass, Empty) { }
SourceLocation getLocation() const { return Loc; }
@@ -1403,7 +1403,7 @@ class FloatingLiteral : public Expr, private APFloatStorage {
FloatingLiteral(const ASTContext &C, const llvm::APFloat &V, bool isexact,
QualType Type, SourceLocation L);
- /// \brief Construct an empty floating-point literal.
+ /// Construct an empty floating-point literal.
explicit FloatingLiteral(const ASTContext &C, EmptyShell Empty);
public:
@@ -1477,7 +1477,7 @@ public:
false, false),
Val(val) {}
- /// \brief Build an empty imaginary literal.
+ /// Build an empty imaginary literal.
explicit ImaginaryLiteral(EmptyShell Empty)
: Expr(ImaginaryLiteralClass, Empty) { }
@@ -1560,7 +1560,7 @@ public:
return Create(C, Str, Kind, Pascal, Ty, &Loc, 1);
}
- /// \brief Construct an empty string literal.
+ /// Construct an empty string literal.
static StringLiteral *CreateEmpty(const ASTContext &C, unsigned NumStrs);
StringRef getString() const {
@@ -1599,7 +1599,7 @@ public:
unsigned getLength() const { return Length; }
unsigned getCharByteWidth() const { return CharByteWidth; }
- /// \brief Sets the string data to the given string data.
+ /// Sets the string data to the given string data.
void setString(const ASTContext &C, StringRef Str,
StringKind Kind, bool IsPascal);
@@ -1683,7 +1683,7 @@ public:
val->containsUnexpandedParameterPack()),
L(l), R(r), Val(val) {}
- /// \brief Construct an empty parenthesized expression.
+ /// Construct an empty parenthesized expression.
explicit ParenExpr(EmptyShell Empty)
: Expr(ParenExprClass, Empty) { }
@@ -1694,11 +1694,11 @@ public:
SourceLocation getLocStart() const LLVM_READONLY { return L; }
SourceLocation getLocEnd() const LLVM_READONLY { return R; }
- /// \brief Get the location of the left parentheses '('.
+ /// Get the location of the left parentheses '('.
SourceLocation getLParen() const { return L; }
void setLParen(SourceLocation Loc) { L = Loc; }
- /// \brief Get the location of the right parentheses ')'.
+ /// Get the location of the right parentheses ')'.
SourceLocation getRParen() const { return R; }
void setRParen(SourceLocation Loc) { R = Loc; }
@@ -1743,7 +1743,7 @@ public:
input->containsUnexpandedParameterPack()),
Opc(opc), CanOverflow(CanOverflow), Loc(l), Val(input) {}
- /// \brief Build an empty unary operator.
+ /// Build an empty unary operator.
explicit UnaryOperator(EmptyShell Empty)
: Expr(UnaryOperatorClass, Empty), Opc(UO_AddrOf) { }
@@ -1807,11 +1807,11 @@ public:
/// corresponds to, e.g. "sizeof" or "[pre]++"
static StringRef getOpcodeStr(Opcode Op);
- /// \brief Retrieve the unary opcode that corresponds to the given
+ /// Retrieve the unary opcode that corresponds to the given
/// overloaded operator.
static Opcode getOverloadedOpcode(OverloadedOperatorKind OO, bool Postfix);
- /// \brief Retrieve the overloaded operator kind that corresponds to
+ /// Retrieve the overloaded operator kind that corresponds to
/// the given unary opcode.
static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
@@ -1839,15 +1839,15 @@ public:
// __builtin_offsetof(type, identifier(.identifier|[expr])*)
class OffsetOfNode {
public:
- /// \brief The kind of offsetof node we have.
+ /// The kind of offsetof node we have.
enum Kind {
- /// \brief An index into an array.
+ /// An index into an array.
Array = 0x00,
- /// \brief A field.
+ /// A field.
Field = 0x01,
- /// \brief A field in a dependent type, known only by its name.
+ /// A field in a dependent type, known only by its name.
Identifier = 0x02,
- /// \brief An implicit indirection through a C++ base class, when the
+ /// An implicit indirection through a C++ base class, when the
/// field found is in a base class.
Base = 0x03
};
@@ -1855,10 +1855,10 @@ public:
private:
enum { MaskBits = 2, Mask = 0x03 };
- /// \brief The source range that covers this part of the designator.
+ /// The source range that covers this part of the designator.
SourceRange Range;
- /// \brief The data describing the designator, which comes in three
+ /// The data describing the designator, which comes in three
/// different forms, depending on the lower two bits.
/// - An unsigned index into the array of Expr*'s stored after this node
/// in memory, for [constant-expression] designators.
@@ -1870,53 +1870,53 @@ private:
uintptr_t Data;
public:
- /// \brief Create an offsetof node that refers to an array element.
+ /// Create an offsetof node that refers to an array element.
OffsetOfNode(SourceLocation LBracketLoc, unsigned Index,
SourceLocation RBracketLoc)
: Range(LBracketLoc, RBracketLoc), Data((Index << 2) | Array) {}
- /// \brief Create an offsetof node that refers to a field.
+ /// Create an offsetof node that refers to a field.
OffsetOfNode(SourceLocation DotLoc, FieldDecl *Field, SourceLocation NameLoc)
: Range(DotLoc.isValid() ? DotLoc : NameLoc, NameLoc),
Data(reinterpret_cast<uintptr_t>(Field) | OffsetOfNode::Field) {}
- /// \brief Create an offsetof node that refers to an identifier.
+ /// Create an offsetof node that refers to an identifier.
OffsetOfNode(SourceLocation DotLoc, IdentifierInfo *Name,
SourceLocation NameLoc)
: Range(DotLoc.isValid() ? DotLoc : NameLoc, NameLoc),
Data(reinterpret_cast<uintptr_t>(Name) | Identifier) {}
- /// \brief Create an offsetof node that refers into a C++ base class.
+ /// Create an offsetof node that refers into a C++ base class.
explicit OffsetOfNode(const CXXBaseSpecifier *Base)
: Range(), Data(reinterpret_cast<uintptr_t>(Base) | OffsetOfNode::Base) {}
- /// \brief Determine what kind of offsetof node this is.
+ /// Determine what kind of offsetof node this is.
Kind getKind() const { return static_cast<Kind>(Data & Mask); }
- /// \brief For an array element node, returns the index into the array
+ /// For an array element node, returns the index into the array
/// of expressions.
unsigned getArrayExprIndex() const {
assert(getKind() == Array);
return Data >> 2;
}
- /// \brief For a field offsetof node, returns the field.
+ /// For a field offsetof node, returns the field.
FieldDecl *getField() const {
assert(getKind() == Field);
return reinterpret_cast<FieldDecl *>(Data & ~(uintptr_t)Mask);
}
- /// \brief For a field or identifier offsetof node, returns the name of
+ /// For a field or identifier offsetof node, returns the name of
/// the field.
IdentifierInfo *getFieldName() const;
- /// \brief For a base class node, returns the base specifier.
+ /// For a base class node, returns the base specifier.
CXXBaseSpecifier *getBase() const {
assert(getKind() == Base);
return reinterpret_cast<CXXBaseSpecifier *>(Data & ~(uintptr_t)Mask);
}
- /// \brief Retrieve the source range that covers this offsetof node.
+ /// Retrieve the source range that covers this offsetof node.
///
/// For an array element node, the source range contains the locations of
/// the square brackets. For a field or identifier node, the source range
@@ -1979,7 +1979,7 @@ public:
SourceLocation getOperatorLoc() const { return OperatorLoc; }
void setOperatorLoc(SourceLocation L) { OperatorLoc = L; }
- /// \brief Return the location of the right parentheses.
+ /// Return the location of the right parentheses.
SourceLocation getRParenLoc() const { return RParenLoc; }
void setRParenLoc(SourceLocation R) { RParenLoc = R; }
@@ -2073,7 +2073,7 @@ public:
QualType resultType, SourceLocation op,
SourceLocation rp);
- /// \brief Construct an empty sizeof/alignof expression.
+ /// Construct an empty sizeof/alignof expression.
explicit UnaryExprOrTypeTraitExpr(EmptyShell Empty)
: Expr(UnaryExprOrTypeTraitExprClass, Empty) { }
@@ -2156,7 +2156,7 @@ public:
SubExprs[RHS] = rhs;
}
- /// \brief Create an empty array subscript expression.
+ /// Create an empty array subscript expression.
explicit ArraySubscriptExpr(EmptyShell Shell)
: Expr(ArraySubscriptExprClass, Shell) { }
@@ -2261,7 +2261,7 @@ public:
CallExpr(const ASTContext& C, Expr *fn, ArrayRef<Expr*> args, QualType t,
ExprValueKind VK, SourceLocation rparenloc);
- /// \brief Build an empty call expression.
+ /// Build an empty call expression.
CallExpr(const ASTContext &C, StmtClass SC, EmptyShell Empty);
const Expr *getCallee() const { return cast<Expr>(SubExprs[FN]); }
@@ -2273,7 +2273,7 @@ public:
return const_cast<CallExpr*>(this)->getCalleeDecl();
}
- /// \brief If the callee is a FunctionDecl, return it. Otherwise return 0.
+ /// If the callee is a FunctionDecl, return it. Otherwise return 0.
FunctionDecl *getDirectCallee();
const FunctionDecl *getDirectCallee() const {
return const_cast<CallExpr*>(this)->getDirectCallee();
@@ -2283,7 +2283,7 @@ public:
///
unsigned getNumArgs() const { return NumArgs; }
- /// \brief Retrieve the call arguments.
+ /// Retrieve the call arguments.
Expr **getArgs() {
return reinterpret_cast<Expr **>(SubExprs+getNumPreArgs()+PREARGS_START);
}
@@ -2351,7 +2351,7 @@ public:
/// of the callee. If not, return 0.
unsigned getBuiltinCallee() const;
- /// \brief Returns \c true if this is a call to a builtin which does not
+ /// Returns \c true if this is a call to a builtin which does not
/// evaluate side-effects within its arguments.
bool isUnevaluatedBuiltinCall(const ASTContext &Ctx) const;
@@ -2395,11 +2395,11 @@ public:
/// Extra data stored in some MemberExpr objects.
struct MemberExprNameQualifier {
- /// \brief The nested-name-specifier that qualifies the name, including
+ /// The nested-name-specifier that qualifies the name, including
/// source-location information.
NestedNameSpecifierLoc QualifierLoc;
- /// \brief The DeclAccessPair through which the MemberDecl was found due to
+ /// The DeclAccessPair through which the MemberDecl was found due to
/// name qualifiers.
DeclAccessPair FoundDecl;
};
@@ -2432,20 +2432,20 @@ class MemberExpr final
/// IsArrow - True if this is "X->F", false if this is "X.F".
bool IsArrow : 1;
- /// \brief True if this member expression used a nested-name-specifier to
+ /// True if this member expression used a nested-name-specifier to
/// refer to the member, e.g., "x->Base::f", or found its member via a using
/// declaration. When true, a MemberExprNameQualifier
/// structure is allocated immediately after the MemberExpr.
bool HasQualifierOrFoundDecl : 1;
- /// \brief True if this member expression specified a template keyword
+ /// True if this member expression specified a template keyword
/// and/or a template argument list explicitly, e.g., x->f<int>,
/// x->template f, x->template f<int>.
/// When true, an ASTTemplateKWAndArgsInfo structure and its
/// TemplateArguments (if any) are present.
bool HasTemplateKWAndArgsInfo : 1;
- /// \brief True if this member expression refers to a method that
+ /// True if this member expression refers to a method that
/// was resolved from an overloaded set having size greater than 1.
bool HadMultipleCandidates : 1;
@@ -2498,14 +2498,14 @@ public:
void setBase(Expr *E) { Base = E; }
Expr *getBase() const { return cast<Expr>(Base); }
- /// \brief Retrieve the member declaration to which this expression refers.
+ /// Retrieve the member declaration to which this expression refers.
///
/// The returned declaration will be a FieldDecl or (in C++) a VarDecl (for
/// static data members), a CXXMethodDecl, or an EnumConstantDecl.
ValueDecl *getMemberDecl() const { return MemberDecl; }
void setMemberDecl(ValueDecl *D) { MemberDecl = D; }
- /// \brief Retrieves the declaration found by lookup.
+ /// Retrieves the declaration found by lookup.
DeclAccessPair getFoundDecl() const {
if (!HasQualifierOrFoundDecl)
return DeclAccessPair::make(getMemberDecl(),
@@ -2513,12 +2513,12 @@ public:
return getTrailingObjects<MemberExprNameQualifier>()->FoundDecl;
}
- /// \brief Determines whether this member expression actually had
+ /// Determines whether this member expression actually had
/// a C++ nested-name-specifier prior to the name of the member, e.g.,
/// x->Base::foo.
bool hasQualifier() const { return getQualifier() != nullptr; }
- /// \brief If the member name was qualified, retrieves the
+ /// If the member name was qualified, retrieves the
/// nested-name-specifier that precedes the member name, with source-location
/// information.
NestedNameSpecifierLoc getQualifierLoc() const {
@@ -2528,28 +2528,28 @@ public:
return getTrailingObjects<MemberExprNameQualifier>()->QualifierLoc;
}
- /// \brief If the member name was qualified, retrieves the
+ /// If the member name was qualified, retrieves the
/// nested-name-specifier that precedes the member name. Otherwise, returns
/// NULL.
NestedNameSpecifier *getQualifier() const {
return getQualifierLoc().getNestedNameSpecifier();
}
- /// \brief Retrieve the location of the template keyword preceding
+ /// Retrieve the location of the template keyword preceding
/// the member name, if any.
SourceLocation getTemplateKeywordLoc() const {
if (!HasTemplateKWAndArgsInfo) return SourceLocation();
return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
}
- /// \brief Retrieve the location of the left angle bracket starting the
+ /// Retrieve the location of the left angle bracket starting the
/// explicit template argument list following the member name, if any.
SourceLocation getLAngleLoc() const {
if (!HasTemplateKWAndArgsInfo) return SourceLocation();
return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
}
- /// \brief Retrieve the location of the right angle bracket ending the
+ /// Retrieve the location of the right angle bracket ending the
/// explicit template argument list following the member name, if any.
SourceLocation getRAngleLoc() const {
if (!HasTemplateKWAndArgsInfo) return SourceLocation();
@@ -2559,11 +2559,11 @@ public:
/// Determines whether the member name was preceded by the template keyword.
bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
- /// \brief Determines whether the member name was followed by an
+ /// Determines whether the member name was followed by an
/// explicit template argument list.
bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
- /// \brief Copies the template arguments (if present) into the given
+ /// Copies the template arguments (if present) into the given
/// structure.
void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
if (hasExplicitTemplateArgs())
@@ -2571,7 +2571,7 @@ public:
getTrailingObjects<TemplateArgumentLoc>(), List);
}
- /// \brief Retrieve the template arguments provided as part of this
+ /// Retrieve the template arguments provided as part of this
/// template-id.
const TemplateArgumentLoc *getTemplateArgs() const {
if (!hasExplicitTemplateArgs())
@@ -2580,7 +2580,7 @@ public:
return getTrailingObjects<TemplateArgumentLoc>();
}
- /// \brief Retrieve the number of template arguments provided as part of this
+ /// Retrieve the number of template arguments provided as part of this
/// template-id.
unsigned getNumTemplateArgs() const {
if (!hasExplicitTemplateArgs())
@@ -2593,7 +2593,7 @@ public:
return {getTemplateArgs(), getNumTemplateArgs()};
}
- /// \brief Retrieve the member declaration name info.
+ /// Retrieve the member declaration name info.
DeclarationNameInfo getMemberNameInfo() const {
return DeclarationNameInfo(MemberDecl->getDeclName(),
MemberLoc, MemberDNLoc);
@@ -2614,24 +2614,24 @@ public:
SourceLocation getExprLoc() const LLVM_READONLY { return MemberLoc; }
- /// \brief Determine whether the base of this explicit is implicit.
+ /// Determine whether the base of this explicit is implicit.
bool isImplicitAccess() const {
return getBase() && getBase()->isImplicitCXXThis();
}
- /// \brief Returns true if this member expression refers to a method that
+ /// Returns true if this member expression refers to a method that
/// was resolved from an overloaded set having size greater than 1.
bool hadMultipleCandidates() const {
return HadMultipleCandidates;
}
- /// \brief Sets the flag telling whether this expression refers to
+ /// Sets the flag telling whether this expression refers to
/// a method that was resolved from an overloaded set having size
/// greater than 1.
void setHadMultipleCandidates(bool V = true) {
HadMultipleCandidates = V;
}
- /// \brief Returns true if virtual dispatch is performed.
+ /// Returns true if virtual dispatch is performed.
/// If the member access is fully qualified, (i.e. X::f()), virtual
/// dispatching is not performed. In -fapple-kext mode qualified
/// calls to virtual method will still go through the vtable.
@@ -2678,7 +2678,7 @@ public:
init->containsUnexpandedParameterPack()),
LParenLoc(lparenloc), TInfoAndScope(tinfo, fileScope), Init(init) {}
- /// \brief Construct an empty compound literal.
+ /// Construct an empty compound literal.
explicit CompoundLiteralExpr(EmptyShell Empty)
: Expr(CompoundLiteralExprClass, Empty) { }
@@ -2769,7 +2769,7 @@ protected:
assert(CastConsistency());
}
- /// \brief Construct an empty cast.
+ /// Construct an empty cast.
CastExpr(StmtClass SC, EmptyShell Empty, unsigned BasePathSize)
: Expr(SC, Empty) {
setBasePathSize(BasePathSize);
@@ -2786,7 +2786,7 @@ public:
const Expr *getSubExpr() const { return cast<Expr>(Op); }
void setSubExpr(Expr *E) { Op = E; }
- /// \brief Retrieve the cast subexpression as it was written in the source
+ /// Retrieve the cast subexpression as it was written in the source
/// code, looking through any implicit casts or other intermediate nodes
/// introduced by semantic analysis.
Expr *getSubExprAsWritten();
@@ -2852,7 +2852,7 @@ private:
: CastExpr(ImplicitCastExprClass, ty, VK, kind, op, BasePathLength) {
}
- /// \brief Construct an empty implicit cast.
+ /// Construct an empty implicit cast.
explicit ImplicitCastExpr(EmptyShell Shell, unsigned PathSize)
: CastExpr(ImplicitCastExprClass, Shell, PathSize) { }
@@ -2920,7 +2920,7 @@ protected:
TypeSourceInfo *writtenTy)
: CastExpr(SC, exprTy, VK, kind, op, PathSize), TInfo(writtenTy) {}
- /// \brief Construct an empty explicit cast.
+ /// Construct an empty explicit cast.
ExplicitCastExpr(StmtClass SC, EmptyShell Shell, unsigned PathSize)
: CastExpr(SC, Shell, PathSize) { }
@@ -2955,7 +2955,7 @@ class CStyleCastExpr final
: ExplicitCastExpr(CStyleCastExprClass, exprTy, vk, kind, op, PathSize,
writtenTy), LPLoc(l), RPLoc(r) {}
- /// \brief Construct an empty C-style explicit cast.
+ /// Construct an empty C-style explicit cast.
explicit CStyleCastExpr(EmptyShell Shell, unsigned PathSize)
: ExplicitCastExpr(CStyleCastExprClass, Shell, PathSize) { }
@@ -2988,7 +2988,7 @@ public:
friend class CastExpr;
};
-/// \brief A builtin binary operation expression such as "x + y" or "x <= y".
+/// A builtin binary operation expression such as "x + y" or "x <= y".
///
/// This expression node kind describes a builtin binary operation,
/// such as "x + y" for integer values "x" and "y". The operands will
@@ -3039,7 +3039,7 @@ public:
"Use CompoundAssignOperator for compound assignments");
}
- /// \brief Construct an empty binary operator.
+ /// Construct an empty binary operator.
explicit BinaryOperator(EmptyShell Empty)
: Expr(BinaryOperatorClass, Empty), Opc(BO_Comma) { }
@@ -3068,11 +3068,11 @@ public:
StringRef getOpcodeStr() const { return getOpcodeStr(getOpcode()); }
- /// \brief Retrieve the binary opcode that corresponds to the given
+ /// Retrieve the binary opcode that corresponds to the given
/// overloaded operator.
static Opcode getOverloadedOpcode(OverloadedOperatorKind OO);
- /// \brief Retrieve the overloaded operator kind that corresponds to
+ /// Retrieve the overloaded operator kind that corresponds to
/// the given binary opcode.
static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
@@ -3228,7 +3228,7 @@ public:
"Only should be used for compound assignments");
}
- /// \brief Build an empty compound assignment operator expression.
+ /// Build an empty compound assignment operator expression.
explicit CompoundAssignOperator(EmptyShell Empty)
: BinaryOperator(CompoundAssignOperatorClass, Empty) { }
@@ -3318,7 +3318,7 @@ public:
SubExprs[RHS] = rhs;
}
- /// \brief Build an empty conditional operator.
+ /// Build an empty conditional operator.
explicit ConditionalOperator(EmptyShell Empty)
: AbstractConditionalOperator(ConditionalOperatorClass, Empty) { }
@@ -3396,30 +3396,30 @@ public:
assert(OpaqueValue->getSourceExpr() == common && "Wrong opaque value");
}
- /// \brief Build an empty conditional operator.
+ /// Build an empty conditional operator.
explicit BinaryConditionalOperator(EmptyShell Empty)
: AbstractConditionalOperator(BinaryConditionalOperatorClass, Empty) { }
- /// \brief getCommon - Return the common expression, written to the
+ /// getCommon - Return the common expression, written to the
/// left of the condition. The opaque value will be bound to the
/// result of this expression.
Expr *getCommon() const { return cast<Expr>(SubExprs[COMMON]); }
- /// \brief getOpaqueValue - Return the opaque value placeholder.
+ /// getOpaqueValue - Return the opaque value placeholder.
OpaqueValueExpr *getOpaqueValue() const { return OpaqueValue; }
- /// \brief getCond - Return the condition expression; this is defined
+ /// getCond - Return the condition expression; this is defined
/// in terms of the opaque value.
Expr *getCond() const { return cast<Expr>(SubExprs[COND]); }
- /// \brief getTrueExpr - Return the subexpression which will be
+ /// getTrueExpr - Return the subexpression which will be
/// evaluated if the condition evaluates to true; this is defined
/// in terms of the opaque value.
Expr *getTrueExpr() const {
return cast<Expr>(SubExprs[LHS]);
}
- /// \brief getFalseExpr - Return the subexpression which will be
+ /// getFalseExpr - Return the subexpression which will be
/// evaluated if the condnition evaluates to false; this is
/// defined in terms of the opaque value.
Expr *getFalseExpr() const {
@@ -3475,7 +3475,7 @@ public:
false),
AmpAmpLoc(AALoc), LabelLoc(LLoc), Label(L) {}
- /// \brief Build an empty address of a label expression.
+ /// Build an empty address of a label expression.
explicit AddrLabelExpr(EmptyShell Empty)
: Expr(AddrLabelExprClass, Empty) { }
@@ -3522,7 +3522,7 @@ public:
T->isDependentType(), false, false, false),
SubStmt(substmt), LParenLoc(lp), RParenLoc(rp) { }
- /// \brief Build an empty statement expression.
+ /// Build an empty statement expression.
explicit StmtExpr(EmptyShell Empty) : Expr(StmtExprClass, Empty) { }
CompoundStmt *getSubStmt() { return cast<CompoundStmt>(SubStmt); }
@@ -3568,7 +3568,7 @@ public:
ShuffleVectorExpr(const ASTContext &C, ArrayRef<Expr*> args, QualType Type,
SourceLocation BLoc, SourceLocation RP);
- /// \brief Build an empty vector-shuffle expression.
+ /// Build an empty vector-shuffle expression.
explicit ShuffleVectorExpr(EmptyShell Empty)
: Expr(ShuffleVectorExprClass, Empty), SubExprs(nullptr) { }
@@ -3590,7 +3590,7 @@ public:
/// pointers.
unsigned getNumSubExprs() const { return NumExprs; }
- /// \brief Retrieve the array of expressions.
+ /// Retrieve the array of expressions.
Expr **getSubExprs() { return reinterpret_cast<Expr **>(SubExprs); }
/// getExpr - Return the Expr at the specified index.
@@ -3708,7 +3708,7 @@ public:
SubExprs[RHS] = rhs;
}
- /// \brief Build an empty __builtin_choose_expr.
+ /// Build an empty __builtin_choose_expr.
explicit ChooseExpr(EmptyShell Empty) : Expr(ChooseExprClass, Empty) { }
/// isConditionTrue - Return whether the condition is true (i.e. not
@@ -3775,7 +3775,7 @@ public:
false),
TokenLoc(Loc) { }
- /// \brief Build an empty GNU __null expression.
+ /// Build an empty GNU __null expression.
explicit GNUNullExpr(EmptyShell Empty) : Expr(GNUNullExprClass, Empty) { }
/// getTokenLocation - The location of the __null token.
@@ -3848,7 +3848,7 @@ public:
}
};
-/// @brief Describes an C or C++ initializer list.
+/// Describes an C or C++ initializer list.
///
/// InitListExpr describes an initializer list, which can be used to
/// initialize objects of different types, including
@@ -3906,7 +3906,7 @@ class InitListExpr : public Expr {
/// - the semantic form, if this is in syntactic form.
llvm::PointerIntPair<InitListExpr *, 1, bool> AltForm;
- /// \brief Either:
+ /// Either:
/// If this initializer list initializes an array with more elements than
/// there are initializers in the list, specifies an expression to be used
/// for value initialization of the rest of the elements.
@@ -3919,16 +3919,16 @@ public:
InitListExpr(const ASTContext &C, SourceLocation lbraceloc,
ArrayRef<Expr*> initExprs, SourceLocation rbraceloc);
- /// \brief Build an empty initializer list.
+ /// Build an empty initializer list.
explicit InitListExpr(EmptyShell Empty)
: Expr(InitListExprClass, Empty), AltForm(nullptr, true) { }
unsigned getNumInits() const { return InitExprs.size(); }
- /// \brief Retrieve the set of initializers.
+ /// Retrieve the set of initializers.
Expr **getInits() { return reinterpret_cast<Expr **>(InitExprs.data()); }
- /// \brief Retrieve the set of initializers.
+ /// Retrieve the set of initializers.
Expr * const *getInits() const {
return reinterpret_cast<Expr * const *>(InitExprs.data());
}
@@ -3964,10 +3964,10 @@ public:
}
}
- /// \brief Reserve space for some number of initializers.
+ /// Reserve space for some number of initializers.
void reserveInits(const ASTContext &C, unsigned NumInits);
- /// @brief Specify the number of initializers
+ /// Specify the number of initializers
///
/// If there are more than @p NumInits initializers, the remaining
/// initializers will be destroyed. If there are fewer than @p
@@ -3975,7 +3975,7 @@ public:
/// unknown initializers.
void resizeInits(const ASTContext &Context, unsigned NumInits);
- /// @brief Updates the initializer at index @p Init with the new
+ /// Updates the initializer at index @p Init with the new
/// expression @p expr, and returns the old expression at that
/// location.
///
@@ -3984,7 +3984,7 @@ public:
/// accommodate the new entry.
Expr *updateInit(const ASTContext &C, unsigned Init, Expr *expr);
- /// \brief If this initializer list initializes an array with more elements
+ /// If this initializer list initializes an array with more elements
/// than there are initializers in the list, specifies an expression to be
/// used for value initialization of the rest of the elements.
Expr *getArrayFiller() {
@@ -3995,11 +3995,11 @@ public:
}
void setArrayFiller(Expr *filler);
- /// \brief Return true if this is an array initializer and its array "filler"
+ /// Return true if this is an array initializer and its array "filler"
/// has been set.
bool hasArrayFiller() const { return getArrayFiller(); }
- /// \brief If this initializes a union, specifies which field in the
+ /// If this initializes a union, specifies which field in the
/// union to initialize.
///
/// Typically, this field is the first named field within the
@@ -4107,7 +4107,7 @@ public:
friend class ASTStmtWriter;
};
-/// @brief Represents a C99 designated initializer expression.
+/// Represents a C99 designated initializer expression.
///
/// A designated initializer expression (C99 6.7.8) contains one or
/// more designators (which can be field designators, array
@@ -4131,7 +4131,7 @@ class DesignatedInitExpr final
: public Expr,
private llvm::TrailingObjects<DesignatedInitExpr, Stmt *> {
public:
- /// \brief Forward declaration of the Designator class.
+ /// Forward declaration of the Designator class.
class Designator;
private:
@@ -4151,7 +4151,7 @@ private:
/// expressions used by array and array-range designators.
unsigned NumSubExprs : 16;
- /// \brief The designators in this designated initialization
+ /// The designators in this designated initialization
/// expression.
Designator *Designators;
@@ -4196,14 +4196,14 @@ public:
unsigned RBracketLoc;
};
- /// @brief Represents a single C99 designator.
+ /// Represents a single C99 designator.
///
/// @todo This class is infuriatingly similar to clang::Designator,
/// but minor differences (storing indices vs. storing pointers)
/// keep us from reusing it. Try harder, later, to rectify these
/// differences.
class Designator {
- /// @brief The kind of designator this describes.
+ /// The kind of designator this describes.
enum {
FieldDesignator,
ArrayDesignator,
@@ -4221,7 +4221,7 @@ public:
public:
Designator() {}
- /// @brief Initializes a field designator.
+ /// Initializes a field designator.
Designator(const IdentifierInfo *FieldName, SourceLocation DotLoc,
SourceLocation FieldLoc)
: Kind(FieldDesignator) {
@@ -4230,7 +4230,7 @@ public:
Field.FieldLoc = FieldLoc.getRawEncoding();
}
- /// @brief Initializes an array designator.
+ /// Initializes an array designator.
Designator(unsigned Index, SourceLocation LBracketLoc,
SourceLocation RBracketLoc)
: Kind(ArrayDesignator) {
@@ -4240,7 +4240,7 @@ public:
ArrayOrRange.RBracketLoc = RBracketLoc.getRawEncoding();
}
- /// @brief Initializes a GNU array-range designator.
+ /// Initializes a GNU array-range designator.
Designator(unsigned Index, SourceLocation LBracketLoc,
SourceLocation EllipsisLoc, SourceLocation RBracketLoc)
: Kind(ArrayRangeDesignator) {
@@ -4326,7 +4326,7 @@ public:
static DesignatedInitExpr *CreateEmpty(const ASTContext &C,
unsigned NumIndexExprs);
- /// @brief Returns the number of designators in this initializer.
+ /// Returns the number of designators in this initializer.
unsigned size() const { return NumDesignators; }
// Iterator access to the designators.
@@ -4350,17 +4350,17 @@ public:
Expr *getArrayRangeStart(const Designator &D) const;
Expr *getArrayRangeEnd(const Designator &D) const;
- /// @brief Retrieve the location of the '=' that precedes the
+ /// Retrieve the location of the '=' that precedes the
/// initializer value itself, if present.
SourceLocation getEqualOrColonLoc() const { return EqualOrColonLoc; }
void setEqualOrColonLoc(SourceLocation L) { EqualOrColonLoc = L; }
- /// @brief Determines whether this designated initializer used the
+ /// Determines whether this designated initializer used the
/// deprecated GNU syntax for designated initializers.
bool usesGNUSyntax() const { return GNUSyntax; }
void setGNUSyntax(bool GNU) { GNUSyntax = GNU; }
- /// @brief Retrieve the initializer value.
+ /// Retrieve the initializer value.
Expr *getInit() const {
return cast<Expr>(*const_cast<DesignatedInitExpr*>(this)->child_begin());
}
@@ -4369,7 +4369,7 @@ public:
*child_begin() = init;
}
- /// \brief Retrieve the total number of subexpressions in this
+ /// Retrieve the total number of subexpressions in this
/// designated initializer expression, including the actual
/// initialized value and any expressions that occur within array
/// and array-range designators.
@@ -4385,7 +4385,7 @@ public:
getTrailingObjects<Stmt *>()[Idx] = E;
}
- /// \brief Replaces the designator at index @p Idx with the series
+ /// Replaces the designator at index @p Idx with the series
/// of designators in [First, Last).
void ExpandDesignator(const ASTContext &C, unsigned Idx,
const Designator *First, const Designator *Last);
@@ -4412,7 +4412,7 @@ public:
friend TrailingObjects;
};
-/// \brief Represents a place-holder for an object not to be initialized by
+/// Represents a place-holder for an object not to be initialized by
/// anything.
///
/// This only makes sense when it appears as part of an updater of a
@@ -4495,7 +4495,7 @@ public:
}
};
-/// \brief Represents a loop initializing the elements of an array.
+/// Represents a loop initializing the elements of an array.
///
/// The need to initialize the elements of an array occurs in a number of
/// contexts:
@@ -4563,7 +4563,7 @@ public:
friend class ASTStmtWriter;
};
-/// \brief Represents the index of the current element of an array being
+/// Represents the index of the current element of an array being
/// initialized by an ArrayInitLoopExpr. This can only appear within the
/// subexpression of an ArrayInitLoopExpr.
class ArrayInitIndexExpr : public Expr {
@@ -4593,7 +4593,7 @@ public:
friend class ASTStmtReader;
};
-/// \brief Represents an implicitly-generated value initialization of
+/// Represents an implicitly-generated value initialization of
/// an object of a given type.
///
/// Implicit value initializations occur within semantic initializer
@@ -4607,7 +4607,7 @@ public:
: Expr(ImplicitValueInitExprClass, ty, VK_RValue, OK_Ordinary,
false, false, ty->isInstantiationDependentType(), false) { }
- /// \brief Construct an empty implicit value initialization.
+ /// Construct an empty implicit value initialization.
explicit ImplicitValueInitExpr(EmptyShell Empty)
: Expr(ImplicitValueInitExprClass, Empty) { }
@@ -4636,7 +4636,7 @@ public:
ParenListExpr(const ASTContext& C, SourceLocation lparenloc,
ArrayRef<Expr*> exprs, SourceLocation rparenloc);
- /// \brief Build an empty paren list.
+ /// Build an empty paren list.
explicit ParenListExpr(EmptyShell Empty) : Expr(ParenListExprClass, Empty) { }
unsigned getNumExprs() const { return NumExprs; }
@@ -4679,7 +4679,7 @@ public:
friend class ASTStmtWriter;
};
-/// \brief Represents a C11 generic selection.
+/// Represents a C11 generic selection.
///
/// A generic selection (C11 6.5.1.1) contains an unevaluated controlling
/// expression, followed by one or more generic associations. Each generic
@@ -4825,7 +4825,7 @@ public:
base->containsUnexpandedParameterPack()),
Base(base), Accessor(&accessor), AccessorLoc(loc) {}
- /// \brief Build an empty vector element expression.
+ /// Build an empty vector element expression.
explicit ExtVectorElementExpr(EmptyShell Empty)
: Expr(ExtVectorElementExprClass, Empty) { }
@@ -4883,7 +4883,7 @@ public:
false),
TheBlock(BD) {}
- /// \brief Build an empty block expression.
+ /// Build an empty block expression.
explicit BlockExpr(EmptyShell Empty) : Expr(BlockExprClass, Empty) { }
const BlockDecl *getBlockDecl() const { return TheBlock; }
@@ -5135,7 +5135,7 @@ public:
};
private:
- /// \brief Location of sub-expressions.
+ /// Location of sub-expressions.
/// The location of Scope sub-expression is NumSubExprs - 1, which is
/// not fixed, therefore is not defined in enum.
enum { PTR, ORDER, VAL1, ORDER_FAIL, VAL2, WEAK, END_EXPR };
@@ -5149,11 +5149,11 @@ public:
AtomicExpr(SourceLocation BLoc, ArrayRef<Expr*> args, QualType t,
AtomicOp op, SourceLocation RP);
- /// \brief Determine the number of arguments the specified atomic builtin
+ /// Determine the number of arguments the specified atomic builtin
/// should have.
static unsigned getNumSubExprs(AtomicOp Op);
- /// \brief Build an empty AtomicExpr.
+ /// Build an empty AtomicExpr.
explicit AtomicExpr(EmptyShell Empty) : Expr(AtomicExprClass, Empty) { }
Expr *getPtr() const {
@@ -5232,7 +5232,7 @@ public:
return const_child_range(SubExprs, SubExprs + NumSubExprs);
}
- /// \brief Get atomic scope model for the atomic op code.
+ /// Get atomic scope model for the atomic op code.
/// \return empty atomic scope model if the atomic op code does not have
/// scope operand.
static std::unique_ptr<AtomicScopeModel> getScopeModel(AtomicOp Op) {
@@ -5243,7 +5243,7 @@ public:
return AtomicScopeModel::create(Kind);
}
- /// \brief Get atomic scope model.
+ /// Get atomic scope model.
/// \return empty atomic scope model if this atomic expression does not have
/// scope operand.
std::unique_ptr<AtomicScopeModel> getScopeModel() const {