Skip to content
  1. Jul 19, 2012
  2. Jul 18, 2012
    • Jordan Rose's avatar
      [analyzer] Combine all ObjC message CallEvents into ObjCMethodCall. · 627b046c
      Jordan Rose authored
      As pointed out by Anna, we only differentiate between explicit message sends
      
      This also adds support for ObjCSubscriptExprs, which are basically the same
      as properties in many ways. We were already checking these, but not emitting
      nice messages for them.
      
      This depends on the llvm::PointerIntPair change in r160456.
      
      llvm-svn: 160461
      627b046c
    • Jordan Rose's avatar
      [analyzer] Rename addExtraInvalidatedRegions to get...Regions · 9003d0d0
      Jordan Rose authored
      Per Anna's comment that "add..." sounds like a method that modifies
      the receiver, rather than its argument.
      
      No functionality change.
      
      llvm-svn: 160460
      9003d0d0
    • Jordan Rose's avatar
      [analyzer] Make CallEvent a value object. · 59e6ce92
      Jordan Rose authored
      We will need to be able to easily reconstruct a CallEvent from an ExplodedNode
      for diagnostic purposes, and that's exactly what factory functions are for.
      CallEvent objects are small enough (four pointers and a SourceLocation) that
      returning them through the stack is fairly cheap. Clients who just need to use
      existing CallEvents can continue to do so using const references.
      
      This uses the same sort of "kind-field-dispatch" as SVal, though most of the
      nastiness is contained in the DISPATCH and DISPATCH_ARG macros at the end of
      the file. (We can't use a template for this because member-pointers to base
      class methods don't call derived-class methods even when casting to the
      derived class. We can't use variadic macros because they're a C99 feature.)
      
      llvm-svn: 160459
      59e6ce92
    • Jordan Rose's avatar
      [analyzer] Remove obsolete ObjCPropRef SVal kind. · 074ebb3a
      Jordan Rose authored
      ObjC properties are handled through their semantic form of ObjCMessageExprs
      and their wrapper PseudoObjectExprs, and have been for quite a while. The
      syntactic ObjCPropertyRefExprs do not appear in the CFG and are not visited
      by ExprEngine.
      
      No functionality change.
      
      llvm-svn: 160458
      074ebb3a
    • Jordan Rose's avatar
      [analyzer] Remove unused ExprEngine::VisitCXXTemporaryObjectExpr. · be25b07f
      Jordan Rose authored
      llvm-svn: 160457
      be25b07f
Loading