Changeset 332
- Timestamp:
- 09/27/08 16:03:09 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cocoa/NSXReturnThrowError/NSXReturnThrowError.h
r328 r332 85 85 do{ \ 86 86 typeof(CODE) codeResult = (CODE); \ 87 NSXMakeErrorImp(@encode(typeof(CODE)), (intptr_t)codeResult, __FILE__, __LINE__, __PRETTY_FUNCTION__, #CODE, &ERROR); \ 87 if (!ERROR) { \ 88 NSXMakeErrorImp(@encode(typeof(CODE)), (intptr_t)codeResult, __FILE__, __LINE__, __PRETTY_FUNCTION__, #CODE, &ERROR); \ 89 } \ 88 90 }while(0) 89 91 trunk/cocoa/NSXReturnThrowError/TestNSXReturnThrowError.m
r213 r332 13 13 static int* returnGoodIntPtr(){ static int dummy = 42; return &dummy; } 14 14 static BOOL returnGoodBool(){ return YES; } 15 static BOOL returnGoodBoolAndNoError(NSError **error) { return YES; } 15 16 16 17 static OSErr returnOSErr() { return qErr; } … … 22 23 static int* returnBadIntPtr(){ return NULL; } 23 24 static BOOL returnBadBool(){ return NO; } 25 static BOOL returnBadBoolAndError(NSError **error) { assert(error); *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:paramErr userInfo:nil]; return NO; } 24 26 25 27 //-- … … 56 58 NSXReturnError(returnGoodBool()); 57 59 assert(!error); 60 NSXReturnError(returnGoodBoolAndNoError(&error)); 61 assert(!error); 58 62 59 63 //-- … … 99 103 assert([error code] == -1); 100 104 error = nil; 105 NSXReturnError(returnBadBoolAndError(&error)); 106 assert(error); 107 assert([[error domain] isEqualToString:NSOSStatusErrorDomain]); 108 assert([error code] == paramErr); 109 error = nil; 101 110 102 111 //-- … … 196 205 assert([[error domain] isEqualToString:BOOLErrorDomain]); 197 206 assert([error code] == -1); 207 error = nil; 208 209 NS_DURING 210 NSXThrowError(returnBadBoolAndError(&error)); 211 assert(0); 212 NS_HANDLER 213 assert([[localException name] isEqualToString:@"NSXError"]); 214 error = [[localException userInfo] objectForKey:@"error"]; 215 NS_ENDHANDLER 216 assert(error); 217 assert([[error domain] isEqualToString:NSOSStatusErrorDomain]); 218 assert([error code] == paramErr); 198 219 error = nil; 199 220 trunk/cocoa/NSXReturnThrowError/TestNSXReturnThrowError.xcodeproj/project.pbxproj
r188 r332 16 16 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; }; 17 17 32A70AAB03705E1F00C91783 /* TestNSXReturnThrowError_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestNSXReturnThrowError_Prefix.pch; sourceTree = "<group>"; }; 18 79 874C510B50BA6300AEDF1A/* NSXReturnThrowError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSXReturnThrowError.h; sourceTree = "<group>"; };18 792530BA0E8F340D00DFAD98 /* NSXReturnThrowError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSXReturnThrowError.h; sourceTree = "<group>"; }; 19 19 8DD76FA10486AA7600D96B5E /* TestNSXReturnThrowError */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = TestNSXReturnThrowError; sourceTree = BUILT_PRODUCTS_DIR; }; 20 20 /* End PBXFileReference section */ … … 46 46 children = ( 47 47 08FB7796FE84155DC02AAC07 /* TestNSXReturnThrowError.m */, 48 79 874C510B50BA6300AEDF1A/* NSXReturnThrowError.h */,48 792530BA0E8F340D00DFAD98 /* NSXReturnThrowError.h */, 49 49 32A70AAB03705E1F00C91783 /* TestNSXReturnThrowError_Prefix.pch */, 50 50 ); … … 94 94 isa = PBXProject; 95 95 buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "TestNSXReturnThrowError" */; 96 compatibilityVersion = "Xcode 2.4"; 96 97 hasScannedForEncodings = 1; 97 98 mainGroup = 08FB7794FE84155DC02AAC07 /* TestNSXReturnThrowError */; 98 99 projectDirPath = ""; 100 projectRoot = ""; 99 101 targets = ( 100 102 8DD76F960486AA7600D96B5E /* TestNSXReturnThrowError */,
