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
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
