)]}'
{
  "commit": "652cb09df6c9bc3b434202b199be3db798f583c8",
  "tree": "e22bd89187f5e8668767e5fba070ac0143730be3",
  "parents": [
    "94d05a9c26460f87045bf1f2165253d95ae0b687"
  ],
  "author": {
    "name": "Roberto Lublinerman",
    "email": "rluble@google.com",
    "time": "Tue Jun 14 19:00:16 2016 -0700"
  },
  "committer": {
    "name": "Roberto Lublinerman",
    "email": "rluble@google.com",
    "time": "Thu Jun 23 12:39:01 2016 -0700"
  },
  "message": "Change restrictions for JsFunction implementations.\n\nThis patch *adds* the following restrictions:\n- JsFunction implementations cannot define any method that has\n  dynamic dispatch. In particular it can not override j.l.Object\n  methods.\n- JsFunction interfaces fields and methods other than the SAM\n  need explicit @JsOverlay markers\n\nThis patch *relaxes* the following restrictions:\n- Default methods can be declared in JsFunction interfaces as long\n  as they are JsOverlay.\n\nThe intention is to make sure JsFunction implementations do not\nneed to be backed up by class at runtime and can eventually be\nimplemented as just lightweight JS functions.\n\nBug: #9348\nBug-Link: http://github.com/gwtproject/gwt/issues/9348\nChange-Id: I7746100e9122c47c0100e396d085884582b0f916\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f251fa89624fd709c5c7c42c145f8a76f7565670",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java",
      "new_id": "e3eb08592ea39c387f04d02e7e7a5a79bec6fa09",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/javac/JSORestrictionsChecker.java"
    },
    {
      "type": "modify",
      "old_id": "f168d42d91a578dc39e6758fb0baaf5e88e3f740",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java",
      "new_id": "f31c96ac4ed4ef9c0677c880415a3a46985285cb",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java"
    },
    {
      "type": "modify",
      "old_id": "3f8dc71ac05ce29a17786c2efe7973bd791cadda",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java",
      "new_id": "2e070c2bb16976871e22919a5e2f5db0208482d3",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java"
    },
    {
      "type": "modify",
      "old_id": "4c6e8ff797eba7c3f16c4711beee42dbda226ff1",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/dev/javac/JSORestrictionsTest.java",
      "new_id": "d5e1d6d9a1d1d54976e1a53c935783871be51a41",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/dev/javac/JSORestrictionsTest.java"
    },
    {
      "type": "modify",
      "old_id": "44007b66dbc1f52a7e1bc96601a72d77b9c3ca59",
      "old_mode": 33188,
      "old_path": "dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java",
      "new_id": "a110ab312dc2e506d45bda8907601b17c90342a1",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java"
    },
    {
      "type": "modify",
      "old_id": "d38bf76edf7fe9adf9b33777d22c06e138926dc5",
      "old_mode": 33188,
      "old_path": "user/test-super/com/google/gwt/dev/jjs/super/com/google/gwt/dev/jjs/test/Java8Test.java",
      "new_id": "a040c8541f5a065f4631180404755c9a35b1af06",
      "new_mode": 33188,
      "new_path": "user/test-super/com/google/gwt/dev/jjs/super/com/google/gwt/dev/jjs/test/Java8Test.java"
    },
    {
      "type": "modify",
      "old_id": "e435da0525a202c1a71deec12de983fcf20e05f7",
      "old_mode": 33188,
      "old_path": "user/test/com/google/gwt/dev/jjs/test/Java8Test.java",
      "new_id": "e77792ffceac82f03b2748a42e6649981a6a70ff",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/dev/jjs/test/Java8Test.java"
    }
  ]
}
