]> granicus.if.org Git - clang/commitdiff
Remove const_casts by propagating constness down to called functions.
authorDmitri Gribenko <gribozavr@gmail.com>
Fri, 19 Oct 2012 16:51:38 +0000 (16:51 +0000)
committerDmitri Gribenko <gribozavr@gmail.com>
Fri, 19 Oct 2012 16:51:38 +0000 (16:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166287 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Comment.h
lib/AST/Comment.cpp
lib/AST/CommentDumper.cpp
tools/libclang/CXComment.cpp

index 33a24df43d442f4b4885eb0d378955b3cd0d5404..316a1801bd4605f1a798c53d809450c7856029f7 100644 (file)
@@ -706,8 +706,8 @@ public:
     return getNumArgs() > 0;
   }
 
-  StringRef getParamName(comments::FullComment *FC) const;
-  
+  StringRef getParamName(const FullComment *FC) const;
+
   StringRef getParamNameAsWritten() const {
     return Args[0].Text;
   }
@@ -763,8 +763,8 @@ public:
     return getNumArgs() > 0;
   }
 
-  StringRef getParamName(comments::FullComment *FC) const;
-  
+  StringRef getParamName(const FullComment *FC) const;
+
   StringRef getParamNameAsWritten() const {
     return Args[0].Text;
   }
index edb0f60fdfe2374c3f169ff52096617dd614e7c5..361f8ac61c2a4bc06d398d0c8eac60783af4e295 100644 (file)
@@ -305,12 +305,12 @@ void DeclInfo::fill() {
   IsFilled = true;
 }
 
-StringRef ParamCommandComment::getParamName(comments::FullComment *FC) const {
+StringRef ParamCommandComment::getParamName(const FullComment *FC) const {
   assert(isParamIndexValid());
   return FC->getThisDeclInfo()->ParamVars[getParamIndex()]->getName();
 }
 
-StringRef TParamCommandComment::getParamName(comments::FullComment *FC) const {
+StringRef TParamCommandComment::getParamName(const FullComment *FC) const {
   assert(isPositionValid());
   const TemplateParameterList *TPL = FC->getThisDeclInfo()->TemplateParameters;
   for (unsigned i = 0, e = getDepth(); i != e; ++i) {
@@ -323,7 +323,7 @@ StringRef TParamCommandComment::getParamName(comments::FullComment *FC) const {
   }
   return "";
 }
-  
+
 } // end namespace comments
 } // end namespace clang
 
index 18ba47ff6c7b68d793cd579883f6a234d4925028..18d3406217bf2d372411811f6bcfe061fbbedaf8 100644 (file)
@@ -188,7 +188,7 @@ void CommentDumper::visitParamCommandComment(const ParamCommandComment *C) {
 
   if (C->hasParamName()) {
     if (C->isParamIndexValid())
-      OS << " Param=\"" << C->getParamName(const_cast<FullComment*>(FC)) << "\"";
+      OS << " Param=\"" << C->getParamName(FC) << "\"";
     else
       OS << " Param=\"" << C->getParamNameAsWritten() << "\"";
   }
@@ -202,7 +202,7 @@ void CommentDumper::visitTParamCommandComment(const TParamCommandComment *C) {
 
   if (C->hasParamName()) {
     if (C->isPositionValid())
-      OS << " Param=\"" << C->getParamName(const_cast<FullComment*>(FC)) << "\"";
+      OS << " Param=\"" << C->getParamName(FC) << "\"";
     else
       OS << " Param=\"" << C->getParamNameAsWritten() << "\"";
   }
index 6f3f382444f799a1d9a7322b53615a43ff0a7f43..0c3b8c7388e135cd58a340f2201d33420c228f17 100644 (file)
@@ -536,7 +536,7 @@ class CommentASTToHTMLConverter :
     public ConstCommentVisitor<CommentASTToHTMLConverter> {
 public:
   /// \param Str accumulator for HTML.
-  CommentASTToHTMLConverter(FullComment *FC,
+  CommentASTToHTMLConverter(const FullComment *FC,
                             SmallVectorImpl<char> &Str,
                             const CommandTraits &Traits) :
       FC(FC), Result(Str), Traits(Traits)
@@ -568,7 +568,7 @@ public:
   void appendToResultWithHTMLEscaping(StringRef S);
 
 private:
-  FullComment *FC;
+  const FullComment *FC;
   /// Output stream for HTML.
   llvm::raw_svector_ostream Result;
 
@@ -844,8 +844,7 @@ CXString clang_FullComment_getAsHTML(CXComment CXC) {
     return createCXString((const char *) 0);
 
   SmallString<1024> HTML;
-  CommentASTToHTMLConverter Converter(const_cast<FullComment *>(FC),
-                                      HTML, getCommandTraits(CXC));
+  CommentASTToHTMLConverter Converter(FC, HTML, getCommandTraits(CXC));
   Converter.visit(FC);
   return createCXString(HTML.str(), /* DupString = */ true);
 }
@@ -857,7 +856,7 @@ class CommentASTToXMLConverter :
     public ConstCommentVisitor<CommentASTToXMLConverter> {
 public:
   /// \param Str accumulator for XML.
-  CommentASTToXMLConverter(FullComment *FC,
+  CommentASTToXMLConverter(const FullComment *FC,
                            SmallVectorImpl<char> &Str,
                            const CommandTraits &Traits,
                            const SourceManager &SM) :
@@ -884,8 +883,8 @@ public:
   void appendToResultWithXMLEscaping(StringRef S);
 
 private:
-  FullComment *FC;
-      
+  const FullComment *FC;
+
   /// Output stream for XML.
   llvm::raw_svector_ostream Result;
 
@@ -1325,8 +1324,7 @@ CXString clang_FullComment_getAsXML(CXComment CXC) {
   SourceManager &SM = static_cast<ASTUnit *>(TU->TUData)->getSourceManager();
 
   SmallString<1024> XML;
-  CommentASTToXMLConverter Converter(const_cast<FullComment *>(FC), XML,
-                                     getCommandTraits(CXC), SM);
+  CommentASTToXMLConverter Converter(FC, XML, getCommandTraits(CXC), SM);
   Converter.visit(FC);
   return createCXString(XML.str(), /* DupString = */ true);
 }