mirror of
https://github.com/darlinghq/darling-cocotron.git
synced 2024-10-07 09:33:28 +00:00
- Fixed issue #29, indexGreaterThanIndex: not working.
- Implemented sel_isMapped()
This commit is contained in:
parent
35d4c5b24f
commit
bedc7810fe
@ -1313,6 +1313,9 @@
|
||||
FE53BE7C0BA9ED490050277F /* NSXMLNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FE53BE520BA9ED490050277F /* NSXMLNode.m */; };
|
||||
FE53BE7F0BA9ED490050277F /* NSXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = FE53BE550BA9ED490050277F /* NSXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE53BE800BA9ED490050277F /* NSXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = FE53BE560BA9ED490050277F /* NSXMLParser.m */; };
|
||||
FE5F11AC0BF0FF1100A00B2F /* objc_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = FE5F11AB0BF0FF1100A00B2F /* objc_lock.h */; };
|
||||
FE5F11AD0BF0FF1100A00B2F /* objc_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = FE5F11AB0BF0FF1100A00B2F /* objc_lock.h */; };
|
||||
FE5F11AE0BF0FF1100A00B2F /* objc_lock.h in Headers */ = {isa = PBXBuildFile; fileRef = FE5F11AB0BF0FF1100A00B2F /* objc_lock.h */; };
|
||||
FE6DC2570BA902710082AC66 /* NSAffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FE6DC2550BA902710082AC66 /* NSAffineTransform.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE6DC2580BA902710082AC66 /* NSAffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6DC2560BA902710082AC66 /* NSAffineTransform.m */; };
|
||||
FE6DC2590BA902710082AC66 /* NSAffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FE6DC2550BA902710082AC66 /* NSAffineTransform.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -2340,6 +2343,7 @@
|
||||
FE53BE520BA9ED490050277F /* NSXMLNode.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSXMLNode.m; sourceTree = "<group>"; };
|
||||
FE53BE550BA9ED490050277F /* NSXMLParser.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSXMLParser.h; sourceTree = "<group>"; };
|
||||
FE53BE560BA9ED490050277F /* NSXMLParser.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSXMLParser.m; sourceTree = "<group>"; };
|
||||
FE5F11AB0BF0FF1100A00B2F /* objc_lock.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = objc_lock.h; sourceTree = "<group>"; };
|
||||
FE6DC2550BA902710082AC66 /* NSAffineTransform.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSAffineTransform.h; sourceTree = "<group>"; };
|
||||
FE6DC2560BA902710082AC66 /* NSAffineTransform.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSAffineTransform.m; sourceTree = "<group>"; };
|
||||
FE74776D0BAC4E9000829F4F /* NSDecimal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSDecimal.h; sourceTree = "<group>"; };
|
||||
@ -3129,6 +3133,7 @@
|
||||
6E28034609747A2500EC542B /* objc */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE5F11AB0BF0FF1100A00B2F /* objc_lock.h */,
|
||||
FEB6CC0E0B4A169C004FADF2 /* objc-class.m */,
|
||||
6E28052609747C8900EC542B /* objc_functions.m */,
|
||||
6E8115B20A55CB99000DE3F1 /* objc_msg_lookup.m */,
|
||||
@ -3875,6 +3880,7 @@
|
||||
FED163820BE4093700BF9889 /* NSExpression_self.h in Headers */,
|
||||
FED163840BE4093700BF9889 /* NSExpression_variable.h in Headers */,
|
||||
FE3F7D9E0BE63BBE007E9363 /* NSDateComponents.h in Headers */,
|
||||
FE5F11AE0BF0FF1100A00B2F /* objc_lock.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -4163,6 +4169,7 @@
|
||||
FED163780BE4093700BF9889 /* NSExpression_self.h in Headers */,
|
||||
FED1637A0BE4093700BF9889 /* NSExpression_variable.h in Headers */,
|
||||
FE3F7D9C0BE63BBE007E9363 /* NSDateComponents.h in Headers */,
|
||||
FE5F11AD0BF0FF1100A00B2F /* objc_lock.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -4454,6 +4461,7 @@
|
||||
FED1636E0BE4093700BF9889 /* NSExpression_self.h in Headers */,
|
||||
FED163700BE4093700BF9889 /* NSExpression_variable.h in Headers */,
|
||||
FE3F7D9A0BE63BBD007E9363 /* NSDateComponents.h in Headers */,
|
||||
FE5F11AC0BF0FF1100A00B2F /* objc_lock.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -101,10 +101,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
|
||||
// these two functions are the lynchpin of performance, should be improved for large sets
|
||||
static unsigned positionOfRangeGreaterThanOrEqualToLocation(NSRange *ranges,unsigned length,unsigned location){
|
||||
unsigned i=0;
|
||||
unsigned i;
|
||||
|
||||
for(i=0;i<length;i++)
|
||||
if(location<NSMaxRange(ranges[i]));
|
||||
if(location<NSMaxRange(ranges[i]))
|
||||
return i;
|
||||
|
||||
return NSNotFound;
|
||||
|
@ -82,3 +82,8 @@ const char *sel_getName(SEL selector) {
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
BOOL sel_isMapped(SEL selector) {
|
||||
return (sel_getName(selector)!=NULL)?YES:NO;
|
||||
}
|
||||
|
||||
|
9
Foundation/objc/objc_lock.h
Normal file
9
Foundation/objc/objc_lock.h
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
typedef int objc_lock;
|
||||
|
||||
static inline void objc_lock_lock(objc_lock *lock) {
|
||||
}
|
||||
|
||||
static inline void objc_lock_unlock(objc_lock *lock) {
|
||||
}
|
||||
|
@ -52,7 +52,6 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
OBJCMethodCacheEntry table[OBJCMethodCacheNumberOfEntries];
|
||||
// if we need a lock, put it at the end to avoid addition during cache lookup
|
||||
} OBJCMethodCache;
|
||||
|
||||
@class Protocol;
|
||||
|
@ -28,3 +28,5 @@ typedef char BOOL;
|
||||
OBJC_EXPORT SEL sel_getUid(const char *cString);
|
||||
OBJC_EXPORT SEL sel_registerName(const char *cString);
|
||||
OBJC_EXPORT const char *sel_getName(SEL selector);
|
||||
OBJC_EXPORT BOOL sel_isMapped(SEL selector);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user