{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments/81219214","pull_request_review_id":2215723,"id":81219214,"diff_hunk":"@@ -0,0 +1,605 @@\n+//******************************************************************************\n+//\n+// Copyright (c) Microsoft. All rights reserved.\n+//\n+// This code is licensed under the MIT License (MIT).\n+//\n+// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n+// THE SOFTWARE.\n+//\n+//******************************************************************************\n+\n+#import <Starboard.h>\n+#import <StubReturn.h>\n+#import <Foundation/NSDecimal.h>\n+#import <algorithm>\n+\n+#define IS_NEGATIVE(decimal) (decimal)->_isNegative\n+\n+#define IS_POSITIVE(decimal) !IS_NEGATIVE(decimal)\n+\n+#define IS_ZERO(decimal) (((decimal)->_length == 0) && IS_POSITIVE(decimal))\n+\n+#define INVALIDATE_DECIMAL(decimal) \\\n+    \\\n+decimal->_length = 0;               \\\n+    \\\n+decimal->_isNegative = YES;\n+\n+#define SET_TO_ZERO(decimal) \\\n+    \\\n+decimal->_length = 0;        \\\n+    \\\n+decimal->_isNegative = NO;   \\\n+    \\\n+NSDecimalCompact(decimal);\n+\n+#define VALIDATE_ARITHMETIC_INPUT(result, leftOperand, rightOperand)                 \\\n+    if (NSDecimalIsNotANumber(leftOperand) || NSDecimalIsNotANumber(rightOperand)) { \\\n+        INVALIDATE_DECIMAL(result);                                                  \\\n+        return NSCalculationOverflow;                                                \\\n+    }\n+\n+const int _MAX_EXP = 127;\n+\n+typedef struct {\n+    NSDecimal decimal;\n+    unsigned short* _mantissa;\n+    unsigned short _remainder;\n+    // only used for cases where we have carryover\n+    unsigned int _extendedLen;\n+} NSDecimalInternal;\n+\n+/**\n+ @Status Interoperable\n+*/\n+void NSDecimalCopy(NSDecimal* destination, const NSDecimal* source) {\n+    if (!source || !destination) {\n+        return;\n+    }\n+\n+    destination->_isNegative = source->_isNegative;\n+    destination->_exponent = source->_exponent;\n+    destination->_length = source->_length;\n+    destination->_isCompact = source->_isCompact;\n+    destination->_reserved = source->_reserved;\n+    memcpy(&destination->_mantissa, &source->_mantissa, NSDecimalMaxSize * sizeof(unsigned short));\n+}\n+\n+/**\n+ @Status Interoperable\n+*/\n+BOOL NSDecimalIsNotANumber(const NSDecimal* dcm) {\n+    THROW_NS_IF_FALSE(E_INVALIDARG, dcm != NULL);\n+    return !dcm->_length && IS_NEGATIVE(dcm);\n+}\n+\n+static void _InternalDecimalCopy(NSDecimal* destination, NSDecimalInternal* source) {\n+    if (!source || !destination) {\n+        return;\n+    }\n+    NSDecimalCopy(destination, &(source->decimal));\n+    memcpy(destination->_mantissa, source->_mantissa, NSDecimalMaxSize * sizeof(unsigned short));\n+}\n+\n+static NSCalculationError _subtraction(NSDecimal* result, const NSDecimal* left, const NSDecimal* right) {\n+    // Note: All inputs have been normalized via NSDecimalNormalize\n+    unsigned int commonLength = std::min(left->_length, right->_length);\n+\n+    unsigned int overflow = 1;\n+\n+    // subtract the numbers in the same size\n+    for (int index = 0; index < commonLength; index++) {\n+        overflow += USHRT_MAX + ((left->_mantissa)[index] - (right->_mantissa)[index]);\n+        (result->_mantissa)[index] = overflow;\n+        overflow = overflow >> 16;\n+    }\n+\n+    unsigned int length = right->_length;\n+\n+    // handle the rest of the length.\n+    if (right->_length < left->_length) {\n+        while (length < left->_length && overflow == 0) {\n+            overflow = USHRT_MAX + (left->_mantissa)[length];\n+            (result->_mantissa)[length] = overflow;\n+            overflow = overflow >> 16;\n+            length++;\n+        }\n+\n+        memmove((result->_mantissa) + length, left->_mantissa + length, (left->_length - length) * sizeof(unsigned short));\n+        length = (length < left->_length) ? left->_length : length;\n+    }\n+\n+    result->_length = length;\n+\n+    return NSCalculationNoError;\n+}\n+\n+static NSCalculationError _mantissaAddition(NSDecimalInternal* result, NSDecimalInternal* augend, unsigned short addend) {\n+    // Note: All inputs have been normalized via NSDecimalNormalize\n+    for (int index = 0; index < augend->decimal._length; ++index) {\n+        unsigned int res = static_cast<unsigned int>((augend->_mantissa)[index]) + static_cast<unsigned int>(addend);\n+        (result->_mantissa)[index] = res;\n+        addend = res >> 16;\n+    }\n+\n+    if (addend != 0) {\n+        if (result->_extendedLen == augend->decimal._length) {\n+            // overflow\n+            return NSCalculationOverflow;\n+        }\n+\n+        // set the carryover\n+        (result->_mantissa)[augend->decimal._length] = addend;\n+        result->decimal._length++;\n+    }\n+\n+    return NSCalculationNoError;\n+}\n+\n+/**\n+ @Status Stub\n+ @Notes\n+*/\n+NSCalculationError NSDecimalMultiply(NSDecimal* result,\n+                                     const NSDecimal* leftOperand,\n+                                     const NSDecimal* rightOperand,\n+                                     NSRoundingMode roundingMode) {\n+    UNIMPLEMENTED();\n+    return StubReturn();\n+}\n+\n+static NSCalculationError _mantissaMultiplication(NSDecimalInternal* result, NSDecimalInternal* multiplicand, unsigned short multiplier) {\n+    // Note: All inputs have been normalized via NSDecimalNormalize\n+    // This will be used for by hand style multiplication\n+    if (multiplier == 0 || multiplicand->decimal._length == 0) {\n+        result->decimal._length = 0;\n+        result->decimal._exponent = 0;\n+        return NSCalculationNoError;\n+    }\n+\n+    unsigned int carryOver = 0;\n+\n+    for (int index = 0; index < multiplicand->decimal._length; ++index) {\n+        unsigned int res =\n+            (static_cast<unsigned int>(multiplier) * static_cast<unsigned int>((multiplicand->_mantissa)[index])) + carryOver;\n+        (result->_mantissa)[index] = res;\n+        carryOver = res >> 0x10;\n+    }\n+\n+    // we have the carry over\n+    if (carryOver != 0) {\n+        if (result->_extendedLen == multiplicand->decimal._length) {\n+            // overflow\n+            return NSCalculationOverflow;\n+        }\n+\n+        // set the overflow\n+        (result->_mantissa)[multiplicand->decimal._length] = carryOver;\n+        result->decimal._length++;\n+    }\n+\n+    return NSCalculationNoError;\n+}\n+\n+static unsigned int _obtainLength(unsigned short* mantissa, int length) {\n+    unsigned int result = 0;\n+    for (int i = length - 1; i >= 0; --i) {\n+        result = i + 1;\n+        if (mantissa[i] != 0) {\n+            break;\n+        }\n+    }\n+\n+    return result;\n+}\n+\n+/**\n+ @Status Stub\n+ @Notes\n+*/\n+NSCalculationError NSDecimalDivide(NSDecimal* result,\n+                                   const NSDecimal* leftOperand,\n+                                   const NSDecimal* rightOperand,\n+                                   NSRoundingMode roundingMode) {\n+    UNIMPLEMENTED();\n+    return StubReturn();\n+}\n+\n+static NSCalculationError _mantissaDivision(NSDecimalInternal* result, NSDecimalInternal* dividend, unsigned short divisor) {\n+    // Note: All inputs have been normalized via NSDecimalNormalize\n+    if (!divisor) {\n+        INVALIDATE_DECIMAL((&result->decimal));\n+        return NSCalculationDivideByZero;\n+    }\n+\n+    for (int index = dividend->decimal._length - 1; index >= 0; --index) {\n+        unsigned int res = static_cast<unsigned int>((dividend->_mantissa)[index]) | (result->_remainder << 16);\n+        result->_remainder = res % divisor;\n+        (result->_mantissa)[index] = res / divisor;\n+    }\n+\n+    result->decimal._length = _obtainLength(result->_mantissa, dividend->decimal._length);\n+\n+    return NSCalculationNoError;\n+}\n+\n+static NSCalculationError _compactMantissa(NSDecimalInternal* iDecimal, NSRoundingMode roundingMode) {\n+    // Note: All inputs have been normalized via NSDecimalNormalize\n+    // divide by 10 until we can compact it.\n+    int exponent = 0;\n+\n+    NSDecimalInternal result;\n+    while (iDecimal->decimal._length > NSDecimalMaxSize) {\n+        exponent++;\n+        NSCalculationError error = _mantissaDivision(iDecimal, iDecimal, 10);\n+        if (error != NSCalculationNoError) {\n+            return error;\n+        }\n+    }\n+\n+    // update the exp\n+    result.decimal._exponent += exponent;\n+\n+    // TODO: Add Support for rounding\n+    if (result._remainder != 0) {\n+    }\n+\n+    return NSCalculationNoError;\n+}\n+\n+/**\n+ @Status Stub\n+ @Notes\n+*/\n+NSString* NSDecimalString(const NSDecimal* dcm, id locale) STUB_METHOD {\n+    UNIMPLEMENTED();\n+    return StubReturn();\n+}\n+\n+/**\n+ @Status Interoperable\n+*/\n+NSComparisonResult NSDecimalCompare(const NSDecimal* leftOperand, const NSDecimal* rightOperand) {\n+    if (leftOperand == rightOperand) {\n+        return NSOrderedSame;\n+    }\n+\n+    THROW_NS_IF_FALSE(E_INVALIDARG, (leftOperand != NULL) && (rightOperand != NULL));\n+\n+    NSDecimal left, right;\n+    NSDecimalCopy(&left, leftOperand);\n+    NSDecimalCopy(&right, rightOperand);\n+    NSDecimalNormalize(&left, &right, 0);\n+\n+    if (!left._isNegative && right._isNegative) {\n+        return NSOrderedDescending;\n+    }\n+\n+    if (left._isNegative && !right._isNegative) {\n+        return NSOrderedAscending;\n+    }\n+\n+    // same signs\n+    if (left._length < right._length) {\n+        return right._isNegative ? NSOrderedDescending : NSOrderedAscending;\n+    }\n+\n+    if (left._length > right._length) {\n+        return right._isNegative ? NSOrderedAscending : NSOrderedDescending;\n+    }\n+\n+    // all same\n+    int index = right._length - 1;\n+    while (index >= 0) {\n+        if (left._mantissa[index] < right._mantissa[index]) {\n+            return right._isNegative ? NSOrderedDescending : NSOrderedAscending;\n+        }\n+\n+        if (left._mantissa[index] > right._mantissa[index]) {\n+            return right._isNegative ? NSOrderedAscending : NSOrderedDescending;\n+        }\n+        index--;\n+    }\n+\n+    return NSOrderedSame;\n+}\n+\n+/**\n+ @Status Caveat\n+ @Notes roundingMode is not supported.\n+*/\n+NSCalculationError NSDecimalNormalize(NSDecimal* number1, NSDecimal* number2, NSRoundingMode roundingMode) {\n+    THROW_NS_IF_FALSE(E_INVALIDARG,\n+                      (number1 != NULL) && (number2 != NULL) && !NSDecimalIsNotANumber(number1) && !NSDecimalIsNotANumber(number2));\n+\n+    if (number1->_exponent == number2->_exponent) {\n+        return NSCalculationNoError;\n+    }\n+\n+    NSDecimal* decimalToNormalize;\n+    NSDecimal* refDecimal;\n+\n+    if (number1->_exponent > number2->_exponent) {\n+        decimalToNormalize = number1;\n+        refDecimal = number2;\n+    } else {\n+        decimalToNormalize = number2;\n+        refDecimal = number1;\n+    }","path":"Frameworks/Foundation/NSDecimal.mm","position":177,"original_position":334,"commit_id":"9f78a538e3842248ff94fd7de69f267a23129613","original_commit_id":"21d4c13565ce0c88b11a4e9df49cd029826ea045","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":"good point. i'm going to open a bug for this, as it would need some more testing after the change.\r\n\r\n---\r\nIn reply to: [81217804](https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81217804) [](ancestors = 81217804,80622059,80588035)","created_at":"2016-09-29T19:46:57Z","updated_at":"2016-09-29T19:46:57Z","html_url":"https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81219214","pull_request_url":"https://api.github.com/repos/Microsoft/WinObjC/pulls/1032","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/WinObjC/pulls/comments/81219214"},"html":{"href":"https://github.com/Microsoft/WinObjC/pull/1032#discussion_r81219214"},"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-29T19:46:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5b3dd916477f597dd22b22b3cd07a11d5eabe075","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/9f78a538e3842248ff94fd7de69f267a23129613","head":{"label":"msft-Jeyaram:NSDecimal_Imp_","ref":"NSDecimal_Imp_","sha":"9f78a538e3842248ff94fd7de69f267a23129613","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:21:20Z","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":333032,"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-29T19:21:21Z","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":221,"forks":698,"open_issues":221,"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/9f78a538e3842248ff94fd7de69f267a23129613"}}}}
{"actor":{"display_login":"msft-Jeyaram"}}