[cfe-commits] r161617 - in /cfe/trunk: include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp lib/StaticAnalyzer/Core/ProgramState.cpp

Anna Zaks ganna at apple.com
Thu Aug 9 14:02:46 PDT 2012


Author: zaks
Date: Thu Aug  9 16:02:45 2012
New Revision: 161617

URL: http://llvm.org/viewvc/llvm-project?rev=161617&view=rev
Log:
[analyzer] Rename the function to better reflect what it actually does.

Modified:
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp

Modified: cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h?rev=161617&r1=161616&r2=161617&view=diff
==============================================================================
--- cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h (original)
+++ cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h Thu Aug  9 16:02:45 2012
@@ -334,14 +334,14 @@
   /// \brief Get dynamic type information for a region.
   DynamicTypeInfo getDynamicTypeInfo(const MemRegion *Reg) const;
 
-  /// \brief Add dynamic type information to the region; return the new state.
-  ProgramStateRef addDynamicTypeInfo(const MemRegion *Reg,
+  /// \brief Set dynamic type information of the region; return the new state.
+  ProgramStateRef setDynamicTypeInfo(const MemRegion *Reg,
                                      DynamicTypeInfo NewTy) const;
 
-  /// \brief Add dynamic type information to the region; return the new state.
-  ProgramStateRef addDynamicTypeInfo(const MemRegion *Reg,
+  /// \brief Set dynamic type information of the region; return the new state.
+  ProgramStateRef setDynamicTypeInfo(const MemRegion *Reg,
                                      QualType NewTy) const {
-    return addDynamicTypeInfo(Reg, DynamicTypeInfo(NewTy));
+    return setDynamicTypeInfo(Reg, DynamicTypeInfo(NewTy));
   }
 
   //==---------------------------------------------------------------------==//

Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp?rev=161617&r1=161616&r2=161617&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp Thu Aug  9 16:02:45 2012
@@ -68,7 +68,7 @@
         return;
       QualType DynResTy =
                  C.getASTContext().getObjCObjectPointerType(QualType(ObjTy, 0));
-      C.addTransition(State->addDynamicTypeInfo(RetReg, DynResTy));
+      C.addTransition(State->setDynamicTypeInfo(RetReg, DynResTy));
       break;
     }
     case OMF_init: {
@@ -78,7 +78,7 @@
       if (!RecReg)
         return;
       DynamicTypeInfo RecDynType = State->getDynamicTypeInfo(RecReg);
-      C.addTransition(State->addDynamicTypeInfo(RetReg, RecDynType));
+      C.addTransition(State->setDynamicTypeInfo(RetReg, RecDynType));
       break;
     }
     }
@@ -98,7 +98,7 @@
   case CK_BitCast:
     // Only handle ObjCObjects for now.
     if (const Type *NewTy = getBetterObjCType(CastE, C))
-      C.addTransition(C.getState()->addDynamicTypeInfo(ToR, QualType(NewTy,0)));
+      C.addTransition(C.getState()->setDynamicTypeInfo(ToR, QualType(NewTy,0)));
     break;
   }
   return;

Modified: cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp?rev=161617&r1=161616&r2=161617&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp Thu Aug  9 16:02:45 2012
@@ -762,12 +762,10 @@
   return DynamicTypeInfo();
 }
 
-ProgramStateRef ProgramState::addDynamicTypeInfo(const MemRegion *Reg,
+ProgramStateRef ProgramState::setDynamicTypeInfo(const MemRegion *Reg,
                                                  DynamicTypeInfo NewTy) const {
   if (const SymbolicRegion *SR = dyn_cast<SymbolicRegion>(Reg)) {
     SymbolRef Sym = SR->getSymbol();
-    // TODO: Instead of resetting the type info, check the old type info and
-    // merge and pick the most precise type.
     ProgramStateRef NewState = set<DynamicTypeMap>(Sym, NewTy);
     assert(NewState);
     return NewState;





More information about the cfe-commits mailing list