)]}'
{
  "commit": "ecb0a84e686275a2c8cc01991566fb71efc4b48b",
  "tree": "182dd8ae6a8e4eb7566cd1dcb13287edb23fe640",
  "parents": [
    "30fa73683c2b25d2be0b4d1bdcfd1485fae26db6"
  ],
  "author": {
    "name": "Goktug Gokdogan",
    "email": "goktug@google.com",
    "time": "Thu Sep 24 17:35:40 2015 -0700"
  },
  "committer": {
    "name": "Goktug Gokdogan",
    "email": "goktug@google.com",
    "time": "Fri Sep 25 01:03:46 2015 +0000"
  },
  "message": "Change the JsInterop bridge direction.\n\nEarlier we were forwarding jsmethod at the first place it was exposed:\n\n  parent.prototype.m \u003d function() { return this.m_obfuscated() };\n\nThis caused a code regression in Closure based apps as Closure fail\nto prune anything due to missing type information. This basically left\nan alias bride method for every jsmethod.\n\nI changed the implementation so that the direction is reversed.\nSo we generate methods with pretty js names and then create a bridge\nfrom obfuscated name only if\n - method override a non-jsmethod\n - there is no parent who created such bridge.\n\nChange-Id: I3ae2b023c8406abe42dcb2acc1a1271a873364e9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d01a2f0e18244509809e14a0b8db8e68b1706178",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java",
      "new_id": "ed39c7c46e29fcf5ef1befea7ca0526d3118fb41",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java"
    },
    {
      "type": "modify",
      "old_id": "fce135d305a49de39cb7e73fe3e8178105e5fc20",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java",
      "new_id": "833c0705dcc0d0d511b9b2ec4a0d1cade8a21e94",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java"
    },
    {
      "type": "modify",
      "old_id": "ba5c3626b98888efe30a3136d0dd383cf67886d9",
      "old_mode": 33188,
      "old_path": "user/test/com/google/gwt/core/client/interop/ConcreteJsType.java",
      "new_id": "74c89e43b74b3b0a87a0fadea6bf15f43eabcea7",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/core/client/interop/ConcreteJsType.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e89e4167ea10de057709f5cd30e3015f7b6909d",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/core/client/interop/ConcreteJsTypeJsSubclass.java"
    },
    {
      "type": "modify",
      "old_id": "edaf15c43500b7a5e9628a28c58c1c73df7ebdff",
      "old_mode": 33188,
      "old_path": "user/test/com/google/gwt/core/client/interop/JsTypeTest.java",
      "new_id": "3c6fe9468c5d5274765b53b678d2f85da6398d96",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/core/client/interop/JsTypeTest.java"
    }
  ]
}
