[cfe-commits] r160991 - in /cfe/trunk: include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h lib/StaticAnalyzer/Core/CallEvent.cpp lib/StaticAnalyzer/Core/ProgramState.cpp lib/StaticAnalyzer/Core/Store.cpp test/Analysis/inlining/InlineObjCInstanceMethod.h test/Analysis/inlining/InlineObjCInstanceMethod.m

jahanian fjahanian at apple.com
Mon Jul 30 14:15:15 PDT 2012


On Jul 30, 2012, at 1:31 PM, Anna Zaks wrote:

> Author: zaks
> Date: Mon Jul 30 15:31:29 2012
> New Revision: 160991
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=160991&view=rev
> Log:
> [analyzer] Very simple ObjC instance method inlining
> 
> - Retrieves the type of the object/receiver from the state.
> - Binds self during stack setup.
> - Only explores the path on which the method is inlined (no
> bifurcation to explore the path on which the method is not inlined).
> 
> Added:
>    cfe/trunk/test/Analysis/inlining/InlineObjCInstanceMethod.h
>    cfe/trunk/test/Analysis/inlining/InlineObjCInstanceMethod.m
> Modified:
>    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
>    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
>    cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp
>    cfe/trunk/lib/StaticAnalyzer/Core/ProgramState.cpp
>    cfe/trunk/lib/StaticAnalyzer/Core/Store.cpp
> 
> 
> -      //  Method = LookupPrivateInstanceMethod(Sel, ClassDecl);
> +const Decl *ObjCMethodCall::getRuntimeDefinition() const {
> +  const ObjCMessageExpr *E = getOriginExpr();
> +  Selector Sel = E->getSelector();
> +  assert(E);
assert goes before its first use.
- fariborz




More information about the cfe-commits mailing list