mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 11:39:35 +00:00
followsFundamentalRule() returns true if "alloc" or "new" appear at the beginning of the string, not anywhere within it.
llvm-svn: 58112
This commit is contained in:
parent
8d8a14a3fc
commit
01acb6284e
@ -34,8 +34,30 @@
|
|||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
using namespace clang;
|
using namespace clang;
|
||||||
|
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
// Utility functions.
|
||||||
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
using llvm::CStrInCStrNoCase;
|
using llvm::CStrInCStrNoCase;
|
||||||
|
|
||||||
|
// The "fundamental rule" for naming conventions of methods:
|
||||||
|
// (url broken into two lines)
|
||||||
|
// http://developer.apple.com/documentation/Cocoa/Conceptual/
|
||||||
|
// MemoryMgmt/Tasks/MemoryManagementRules.html
|
||||||
|
//
|
||||||
|
// "You take ownership of an object if you create it using a method whose name
|
||||||
|
// begins with “alloc” or “new” or contains “copy” (for example, alloc,
|
||||||
|
// newObject, or mutableCopy), or if you send it a retain message. You are
|
||||||
|
// responsible for relinquishing ownership of objects you own using release
|
||||||
|
// or autorelease. Any other time you receive an object, you must
|
||||||
|
// not release it."
|
||||||
|
//
|
||||||
|
static bool followsFundamentalRule(const char* s) {
|
||||||
|
return CStrInCStrNoCase(s, "create") || CStrInCStrNoCase(s, "copy") ||
|
||||||
|
CStrInCStrNoCase(s, "new") == s || CStrInCStrNoCase(s, "alloc") == s;
|
||||||
|
}
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// Selector creation functions.
|
// Selector creation functions.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
@ -1834,22 +1856,6 @@ void CFRefCount::EvalStore(ExplodedNodeSet<GRState>& Dst,
|
|||||||
|
|
||||||
// End-of-path.
|
// End-of-path.
|
||||||
|
|
||||||
// The "fundamental rule" for naming conventions of methods:
|
|
||||||
// (url broken into two lines)
|
|
||||||
// http://developer.apple.com/documentation/Cocoa/Conceptual/
|
|
||||||
// MemoryMgmt/Tasks/MemoryManagementRules.html
|
|
||||||
//
|
|
||||||
// "You take ownership of an object if you create it using a method whose name
|
|
||||||
// begins with “alloc” or “new” or contains “copy” (for example, alloc,
|
|
||||||
// newObject, or mutableCopy), or if you send it a retain message. You are
|
|
||||||
// responsible for relinquishing ownership of objects you own using release
|
|
||||||
// or autorelease. Any other time you receive an object, you must
|
|
||||||
// not release it."
|
|
||||||
//
|
|
||||||
static bool followsFundamentalRule(const char* s) {
|
|
||||||
return CStrInCStrNoCase(s, "create") || CStrInCStrNoCase(s, "copy") ||
|
|
||||||
CStrInCStrNoCase(s, "new");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::pair<GRStateRef,bool>
|
std::pair<GRStateRef,bool>
|
||||||
CFRefCount::HandleSymbolDeath(GRStateManager& VMgr,
|
CFRefCount::HandleSymbolDeath(GRStateManager& VMgr,
|
||||||
|
Loading…
Reference in New Issue
Block a user