{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments/81245689","pull_request_review_id":2240922,"id":81245689,"diff_hunk":"@@ -14,296 +14,344 @@\n //\n //******************************************************************************\n \n-#import \"Starboard.h\"\n-#import \"StubReturn.h\"\n-#include <Foundation/Foundation.h>\n+#import <Starboard.h>\n+#import <StubReturn.h>\n+#import <Foundation/Foundation.h>\n+#import <Foundation/NSDecimal.h>\n+#import <Foundation/NSDecimalNumberHandler.h>\n+#import <vector>\n+#import <algorithm>\n+#import <limits>\n \n NSString* const NSDecimalNumberExactnessException = @\"NSDecimalNumberExactnessException\";\n NSString* const NSDecimalNumberOverflowException = @\"NSDecimalNumberOverflowException\";\n NSString* const NSDecimalNumberUnderflowException = @\"NSDecimalNumberUnderflowException\";\n NSString* const NSDecimalNumberDivideByZeroException = @\"NSDecimalNumberDivideByZeroException\";\n \n+static const int _MAX_EXP = 127;\n+\n+// This is the limit of initWithDouble on the reference platform.\n+static const double _DOUBLE_LIMIT = 1.8e146;\n+\n+@implementation NSDecimalNumber {\n+    NSDecimal _decimal;\n+}\n+\n+- (NSDecimalNumber*)_decimalOperation:(NSCalculationError (*)(NSDecimal* result,\n+                                                              const NSDecimal* leftOperand,\n+                                                              const NSDecimal* rightOperand,\n+                                                              NSRoundingMode roundingMode))operand\n+                        decimalNumber:(NSDecimalNumber*)decimalNumber\n+                         withBehavior:(id<NSDecimalNumberBehaviors>)behavior {\n+    RETURN_NULL_IF(!decimalNumber);\n+\n+    NSDecimal a = [self decimalValue];\n+    NSDecimal b = [decimalNumber decimalValue];\n+\n+    NSDecimal result;\n+    NSCalculationError error = operand(&result, &a, &b, [behavior roundingMode]);\n+\n+    if (error != NSCalculationNoError) {\n+        NSDecimalNumber* res = [behavior exceptionDuringOperation:_cmd error:error leftOperand:self rightOperand:decimalNumber];\n+        if (res != nil) {\n+            return res;\n+        }\n+    }\n+\n+    // TODO: Implement NSDecimalRound\n+    // NSDecimalRound(&result, &result, [behavior scale], [behavior roundingMode]);\n+    return [NSDecimalNumber decimalNumberWithDecimal:result];\n+}\n+\n /**\n  @Status Stub\n  @Notes\n */\n-NSCalculationError NSDecimalAdd(NSDecimal* result,\n-                                const NSDecimal* leftOperand,\n-                                const NSDecimal* rightOperand,\n-                                NSRoundingMode roundingMode) {\n++ (NSDecimalNumber*)decimalNumberWithString:(NSString*)str {\n     UNIMPLEMENTED();\n     return StubReturn();\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-void NSDecimalCompact(NSDecimal* number) {\n-    UNIMPLEMENTED();\n+- (const char*)objCType {\n+    return \"d\";\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSComparisonResult NSDecimalCompare(const NSDecimal* leftOperand, const NSDecimal* rightOperand) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (id<NSDecimalNumberBehaviors>)defaultBehavior {\n+    return [NSDecimalNumberHandler defaultDecimalNumberHandler];\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-void NSDecimalCopy(NSDecimal* destination, const NSDecimal* source) {\n-    UNIMPLEMENTED();\n++ (NSDecimalNumber*)one {\n+    static NSDecimalNumber* s_one = [[NSDecimalNumber alloc] initWithMantissa:1 exponent:0 isNegative:NO];\n+    return s_one;\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSCalculationError NSDecimalDivide(NSDecimal* result,\n-                                   const NSDecimal* leftOperand,\n-                                   const NSDecimal* rightOperand,\n-                                   NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (NSDecimalNumber*)zero {\n+    static NSDecimalNumber* s_zero = [[NSDecimalNumber alloc] initWithMantissa:0 exponent:0 isNegative:NO];\n+\n+    return s_zero;\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-BOOL NSDecimalIsNotANumber(const NSDecimal* dcm) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (NSDecimalNumber*)notANumber {\n+    static NSDecimalNumber* s_notANumber = [[NSDecimalNumber alloc] initWithMantissa:0 exponent:0 isNegative:YES];\n+\n+    return s_notANumber;\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSCalculationError NSDecimalMultiply(NSDecimal* result,\n-                                     const NSDecimal* leftOperand,\n-                                     const NSDecimal* rightOperand,\n-                                     NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (NSDecimalNumber*)maximumDecimalNumber {\n+    static NSDecimalNumber* s_maxNumber =\n+        [[NSDecimalNumber alloc] initWithMantissa:std::numeric_limits<unsigned long long>::max() exponent:_MAX_EXP isNegative:NO];\n+    return s_maxNumber;\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSCalculationError NSDecimalMultiplyByPowerOf10(NSDecimal* result, const NSDecimal* number, short power, NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (NSDecimalNumber*)minimumDecimalNumber {\n+    static NSDecimalNumber* s_minNumber =\n+        [[NSDecimalNumber alloc] initWithMantissa:std::numeric_limits<unsigned long long>::max() exponent:_MAX_EXP isNegative:YES];\n+    return s_minNumber;\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSCalculationError NSDecimalNormalize(NSDecimal* number1, NSDecimal* number2, NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n++ (NSDecimalNumber*)decimalNumberWithDecimal:(NSDecimal)decimal {\n+    return [[[NSDecimalNumber alloc] initWithDecimal:decimal] autorelease];\n+}\n+\n+/**\n+ @Status Interoperable\n+*/\n++ (NSDecimalNumber*)decimalNumberWithMantissa:(unsigned long long)mantissa exponent:(short)exponent isNegative:(BOOL)isNegative {\n+    return [[[NSDecimalNumber alloc] initWithMantissa:mantissa exponent:exponent isNegative:isNegative] autorelease];\n }\n \n /**\n  @Status Stub\n  @Notes\n */\n-NSCalculationError NSDecimalPower(NSDecimal* result, const NSDecimal* number, NSUInteger power, NSRoundingMode roundingMode) {\n++ (NSDecimalNumber*)decimalNumberWithString:(NSString*)numericString locale:(id)locale {\n     UNIMPLEMENTED();\n     return StubReturn();\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-void NSDecimalRound(NSDecimal* result, const NSDecimal* number, NSInteger scale, NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n+- (NSNumber*)initWithBool:(BOOL)value {\n+    return [self initWithLongLong:static_cast<long long>(value)];\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSString* NSDecimalString(const NSDecimal* dcm, id locale) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n+- (NSNumber*)initWithChar:(char)value {\n+    return [self initWithLongLong:static_cast<long long>(value)];\n }\n \n /**\n- @Status Stub\n- @Notes\n+ @Status Interoperable\n */\n-NSCalculationError NSDecimalSubtract(NSDecimal* result,\n-                                     const NSDecimal* leftOperand,\n-                                     const NSDecimal* rightOperand,\n-                                     NSRoundingMode roundingMode) {\n-    UNIMPLEMENTED();\n-    return StubReturn();\n+- (NSNumber*)initWithDouble:(double)value {\n+    int exp = 0;\n+    double res = value;\n+    if (res < 0) {\n+        res *= -1;\n+    }\n+\n+    if (res == DBL_MIN) {\n+        return [self initWithMantissa:0 exponent:0 isNegative:0];","path":"Frameworks/Foundation/NSDecimalNumber.mm","position":245,"original_position":245,"commit_id":"b9f81583c2f006a44b3d4b4e9d2b6e304f0d7178","original_commit_id":"b9f81583c2f006a44b3d4b4e9d2b6e304f0d7178","user":{"login":"ms-jihua","id":16024095,"avatar_url":"https://avatars.githubusercontent.com/u/16024095?v=3","gravatar_id":"","url":"https://api.github.com/users/ms-jihua","html_url":"https://github.com/ms-jihua","followers_url":"https://api.github.com/users/ms-jihua/followers","following_url":"https://api.github.com/users/ms-jihua/following{/other_user}","gists_url":"https://api.github.com/users/ms-jihua/gists{/gist_id}","starred_url":"https://api.github.com/users/ms-jihua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ms-jihua/subscriptions","organizations_url":"https://api.github.com/users/ms-jihua/orgs","repos_url":"https://api.github.com/users/ms-jihua/repos","events_url":"https://api.github.com/users/ms-jihua/events{/privacy}","received_events_url":"https://api.github.com/users/ms-jihua/received_events","type":"User","site_admin":false},"body":"reference says that it's usually 1E-37, that seems representable...\r\n\r\n---\r\nIn reply to: [81245463](https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81245463) [](ancestors = 81245463)","created_at":"2016-09-29T22:12:24Z","updated_at":"2016-09-29T22:12:24Z","html_url":"https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81245689","pull_request_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments/81245689"},"html":{"href":"https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81245689"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032"}}},"pull_request":{"url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032","id":86593643,"html_url":"https://github.com/Microsoft/WinObjC/pull/1032","diff_url":"https://github.com/Microsoft/WinObjC/pull/1032.diff","patch_url":"https://github.com/Microsoft/WinObjC/pull/1032.patch","issue_url":"https://api.github.com/repos/Microsoft/WinObjC/issues/1032","number":1032,"state":"open","locked":false,"title":"Implementation of NSDecimalNumber and NSDecimal functionality:","user":{"login":"msft-Jeyaram","id":18413092,"avatar_url":"https://avatars.githubusercontent.com/u/18413092?v=3","gravatar_id":"","url":"https://api.github.com/users/msft-Jeyaram","html_url":"https://github.com/msft-Jeyaram","followers_url":"https://api.github.com/users/msft-Jeyaram/followers","following_url":"https://api.github.com/users/msft-Jeyaram/following{/other_user}","gists_url":"https://api.github.com/users/msft-Jeyaram/gists{/gist_id}","starred_url":"https://api.github.com/users/msft-Jeyaram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msft-Jeyaram/subscriptions","organizations_url":"https://api.github.com/users/msft-Jeyaram/orgs","repos_url":"https://api.github.com/users/msft-Jeyaram/repos","events_url":"https://api.github.com/users/msft-Jeyaram/events{/privacy}","received_events_url":"https://api.github.com/users/msft-Jeyaram/received_events","type":"User","site_admin":false},"body":"Implementation of NSDecimalNumber and NSDecimal functionality:\r\n- Compact\r\n- Normalize\r\n- Addition\r\n- Subtraction\r\n- Helper functions for:\r\n\t- Division, Multiplication","created_at":"2016-09-23T22:55:17Z","updated_at":"2016-09-29T22:12:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"40626a7a2bbaed1b4be46dc4a8ad907235db0524","assignee":{"login":"DHowett-MSFT","id":14316954,"avatar_url":"https://avatars.githubusercontent.com/u/14316954?v=3","gravatar_id":"","url":"https://api.github.com/users/DHowett-MSFT","html_url":"https://github.com/DHowett-MSFT","followers_url":"https://api.github.com/users/DHowett-MSFT/followers","following_url":"https://api.github.com/users/DHowett-MSFT/following{/other_user}","gists_url":"https://api.github.com/users/DHowett-MSFT/gists{/gist_id}","starred_url":"https://api.github.com/users/DHowett-MSFT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DHowett-MSFT/subscriptions","organizations_url":"https://api.github.com/users/DHowett-MSFT/orgs","repos_url":"https://api.github.com/users/DHowett-MSFT/repos","events_url":"https://api.github.com/users/DHowett-MSFT/events{/privacy}","received_events_url":"https://api.github.com/users/DHowett-MSFT/received_events","type":"User","site_admin":false},"assignees":[{"login":"DHowett-MSFT","id":14316954,"avatar_url":"https://avatars.githubusercontent.com/u/14316954?v=3","gravatar_id":"","url":"https://api.github.com/users/DHowett-MSFT","html_url":"https://github.com/DHowett-MSFT","followers_url":"https://api.github.com/users/DHowett-MSFT/followers","following_url":"https://api.github.com/users/DHowett-MSFT/following{/other_user}","gists_url":"https://api.github.com/users/DHowett-MSFT/gists{/gist_id}","starred_url":"https://api.github.com/users/DHowett-MSFT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DHowett-MSFT/subscriptions","organizations_url":"https://api.github.com/users/DHowett-MSFT/orgs","repos_url":"https://api.github.com/users/DHowett-MSFT/repos","events_url":"https://api.github.com/users/DHowett-MSFT/events{/privacy}","received_events_url":"https://api.github.com/users/DHowett-MSFT/received_events","type":"User","site_admin":false},{"login":"rajsesh-msft","id":15148713,"avatar_url":"https://avatars.githubusercontent.com/u/15148713?v=3","gravatar_id":"","url":"https://api.github.com/users/rajsesh-msft","html_url":"https://github.com/rajsesh-msft","followers_url":"https://api.github.com/users/rajsesh-msft/followers","following_url":"https://api.github.com/users/rajsesh-msft/following{/other_user}","gists_url":"https://api.github.com/users/rajsesh-msft/gists{/gist_id}","starred_url":"https://api.github.com/users/rajsesh-msft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rajsesh-msft/subscriptions","organizations_url":"https://api.github.com/users/rajsesh-msft/orgs","repos_url":"https://api.github.com/users/rajsesh-msft/repos","events_url":"https://api.github.com/users/rajsesh-msft/events{/privacy}","received_events_url":"https://api.github.com/users/rajsesh-msft/received_events","type":"User","site_admin":false},{"login":"ms-jihua","id":16024095,"avatar_url":"https://avatars.githubusercontent.com/u/16024095?v=3","gravatar_id":"","url":"https://api.github.com/users/ms-jihua","html_url":"https://github.com/ms-jihua","followers_url":"https://api.github.com/users/ms-jihua/followers","following_url":"https://api.github.com/users/ms-jihua/following{/other_user}","gists_url":"https://api.github.com/users/ms-jihua/gists{/gist_id}","starred_url":"https://api.github.com/users/ms-jihua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ms-jihua/subscriptions","organizations_url":"https://api.github.com/users/ms-jihua/orgs","repos_url":"https://api.github.com/users/ms-jihua/repos","events_url":"https://api.github.com/users/ms-jihua/events{/privacy}","received_events_url":"https://api.github.com/users/ms-jihua/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032/commits","review_comments_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032/comments","review_comment_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/WinObjC/issues/1032/comments","statuses_url":"https://api.github.com/repos/Microsoft/WinObjC/statuses/b9f81583c2f006a44b3d4b4e9d2b6e304f0d7178","head":{"label":"msft-Jeyaram:NSDecimal_Imp_","ref":"NSDecimal_Imp_","sha":"b9f81583c2f006a44b3d4b4e9d2b6e304f0d7178","user":{"login":"msft-Jeyaram","id":18413092,"avatar_url":"https://avatars.githubusercontent.com/u/18413092?v=3","gravatar_id":"","url":"https://api.github.com/users/msft-Jeyaram","html_url":"https://github.com/msft-Jeyaram","followers_url":"https://api.github.com/users/msft-Jeyaram/followers","following_url":"https://api.github.com/users/msft-Jeyaram/following{/other_user}","gists_url":"https://api.github.com/users/msft-Jeyaram/gists{/gist_id}","starred_url":"https://api.github.com/users/msft-Jeyaram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msft-Jeyaram/subscriptions","organizations_url":"https://api.github.com/users/msft-Jeyaram/orgs","repos_url":"https://api.github.com/users/msft-Jeyaram/repos","events_url":"https://api.github.com/users/msft-Jeyaram/events{/privacy}","received_events_url":"https://api.github.com/users/msft-Jeyaram/received_events","type":"User","site_admin":false},"repo":{"id":62348752,"name":"WinObjC","full_name":"msft-Jeyaram/WinObjC","owner":{"login":"msft-Jeyaram","id":18413092,"avatar_url":"https://avatars.githubusercontent.com/u/18413092?v=3","gravatar_id":"","url":"https://api.github.com/users/msft-Jeyaram","html_url":"https://github.com/msft-Jeyaram","followers_url":"https://api.github.com/users/msft-Jeyaram/followers","following_url":"https://api.github.com/users/msft-Jeyaram/following{/other_user}","gists_url":"https://api.github.com/users/msft-Jeyaram/gists{/gist_id}","starred_url":"https://api.github.com/users/msft-Jeyaram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msft-Jeyaram/subscriptions","organizations_url":"https://api.github.com/users/msft-Jeyaram/orgs","repos_url":"https://api.github.com/users/msft-Jeyaram/repos","events_url":"https://api.github.com/users/msft-Jeyaram/events{/privacy}","received_events_url":"https://api.github.com/users/msft-Jeyaram/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/msft-Jeyaram/WinObjC","description":"Objective-C for Windows","fork":true,"url":"https://api.github.com/repos/msft-Jeyaram/WinObjC","forks_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/forks","keys_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/keys{/key_id}","collaborators_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/teams","hooks_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/hooks","issue_events_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/issues/events{/number}","events_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/events","assignees_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/assignees{/user}","branches_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/branches{/branch}","tags_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/tags","blobs_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/git/refs{/sha}","trees_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/git/trees{/sha}","statuses_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/statuses/{sha}","languages_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/languages","stargazers_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/stargazers","contributors_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/contributors","subscribers_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/subscribers","subscription_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/subscription","commits_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/commits{/sha}","git_commits_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/git/commits{/sha}","comments_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/comments{/number}","issue_comment_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/issues/comments{/number}","contents_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/contents/{+path}","compare_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/compare/{base}...{head}","merges_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/merges","archive_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/downloads","issues_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/issues{/number}","pulls_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/pulls{/number}","milestones_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/milestones{/number}","notifications_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/labels{/name}","releases_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/releases{/id}","deployments_url":"https://api.github.com/repos/msft-Jeyaram/WinObjC/deployments","created_at":"2016-06-30T23:38:58Z","updated_at":"2016-06-30T23:39:12Z","pushed_at":"2016-09-29T19:57:01Z","git_url":"git://github.com/msft-Jeyaram/WinObjC.git","ssh_url":"git@github.com:msft-Jeyaram/WinObjC.git","clone_url":"https://github.com/msft-Jeyaram/WinObjC.git","svn_url":"https://github.com/msft-Jeyaram/WinObjC","homepage":"","size":333055,"stargazers_count":0,"watchers_count":0,"language":"Objective-C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"Microsoft:develop","ref":"develop","sha":"90200b997fc131ce7450b39b2bd2cd3e512797e0","user":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":37950166,"name":"WinObjC","full_name":"Microsoft/WinObjC","owner":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=3","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/WinObjC","description":"Objective-C for Windows","fork":false,"url":"https://api.github.com/repos/Microsoft/WinObjC","forks_url":"https://api.github.com/repos/Microsoft/WinObjC/forks","keys_url":"https://api.github.com/repos/Microsoft/WinObjC/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/WinObjC/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/WinObjC/teams","hooks_url":"https://api.github.com/repos/Microsoft/WinObjC/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/WinObjC/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/WinObjC/events","assignees_url":"https://api.github.com/repos/Microsoft/WinObjC/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/WinObjC/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/WinObjC/tags","blobs_url":"https://api.github.com/repos/Microsoft/WinObjC/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/WinObjC/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/WinObjC/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/WinObjC/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/WinObjC/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/WinObjC/languages","stargazers_url":"https://api.github.com/repos/Microsoft/WinObjC/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/WinObjC/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/WinObjC/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/WinObjC/subscription","commits_url":"https://api.github.com/repos/Microsoft/WinObjC/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/WinObjC/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/WinObjC/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/WinObjC/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/WinObjC/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/WinObjC/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/WinObjC/merges","archive_url":"https://api.github.com/repos/Microsoft/WinObjC/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/WinObjC/downloads","issues_url":"https://api.github.com/repos/Microsoft/WinObjC/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/WinObjC/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/WinObjC/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/WinObjC/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/WinObjC/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/WinObjC/deployments","created_at":"2015-06-23T23:14:58Z","updated_at":"2016-09-29T15:39:36Z","pushed_at":"2016-09-29T22:10:59Z","git_url":"git://github.com/Microsoft/WinObjC.git","ssh_url":"git@github.com:Microsoft/WinObjC.git","clone_url":"https://github.com/Microsoft/WinObjC.git","svn_url":"https://github.com/Microsoft/WinObjC","homepage":"","size":337828,"stargazers_count":5460,"watchers_count":5460,"language":"Objective-C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":698,"mirror_url":null,"open_issues_count":223,"forks":698,"open_issues":223,"watchers":5460,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032"},"html":{"href":"https://github.com/Microsoft/WinObjC/pull/1032"},"issue":{"href":"https://api.github.com/repos/Microsoft/WinObjC/issues/1032"},"comments":{"href":"https://api.github.com/repos/Microsoft/WinObjC/issues/1032/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/WinObjC/statuses/b9f81583c2f006a44b3d4b4e9d2b6e304f0d7178"}}}}
{"actor":{"display_login":"ms-jihua"}}