From: Ted Kremenek Date: Thu, 6 Oct 2011 04:19:35 +0000 (+0000) Subject: Hoist truncation checking for ParmVarDeclBitfields::ParameterIndex into its own helpe... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f77c49681ab347f7602b21beda8be8b39386e0d2;p=clang Hoist truncation checking for ParmVarDeclBitfields::ParameterIndex into its own helper method. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141272 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h index a1d9bc5a4f..8bc35a0697 100644 --- a/include/clang/AST/Decl.h +++ b/include/clang/AST/Decl.h @@ -728,6 +728,8 @@ private: friend class StmtIteratorBase; protected: + enum { NumParameterIndexBits = 8 }; + class ParmVarDeclBitfields { friend class ParmVarDecl; friend class ASTDeclReader; @@ -752,7 +754,7 @@ protected: /// The number of parameters preceding this parameter in the /// function parameter scope in which it was declared. - unsigned ParameterIndex : 8; + unsigned ParameterIndex : NumParameterIndexBits; }; union { @@ -1218,12 +1220,10 @@ public: Expr *DefArg); virtual SourceRange getSourceRange() const; - + void setObjCMethodScopeInfo(unsigned parameterIndex) { ParmVarDeclBits.IsObjCMethodParam = true; - - ParmVarDeclBits.ParameterIndex = parameterIndex; - assert(ParmVarDeclBits.ParameterIndex == parameterIndex && "truncation!"); + setParameterIndex(parameterIndex); } void setScopeInfo(unsigned scopeDepth, unsigned parameterIndex) { @@ -1232,8 +1232,7 @@ public: ParmVarDeclBits.ScopeDepthOrObjCQuals = scopeDepth; assert(ParmVarDeclBits.ScopeDepthOrObjCQuals == scopeDepth && "truncation!"); - ParmVarDeclBits.ParameterIndex = parameterIndex; - assert(ParmVarDeclBits.ParameterIndex == parameterIndex && "truncation!"); + setParameterIndex(parameterIndex); } bool isObjCMethodParameter() const { @@ -1364,6 +1363,13 @@ public: static bool classof(const Decl *D) { return classofKind(D->getKind()); } static bool classof(const ParmVarDecl *D) { return true; } static bool classofKind(Kind K) { return K == ParmVar; } + +private: + void setParameterIndex(unsigned parameterIndex) { + ParmVarDeclBits.ParameterIndex = parameterIndex; + assert(ParmVarDeclBits.ParameterIndex == parameterIndex && "truncation!"); + } + }; /// FunctionDecl - An instance of this class is created to represent a