)]}'
{
  "commit": "0ab763ddedfe1f89631ea253022c73252d0bd48f",
  "tree": "88c8d46a57d9792beea32dce9d9168b2908a10f7",
  "parents": [
    "67d86419e0f6c3a9c8d18fe94b1326e999199586"
  ],
  "author": {
    "name": "Eric Milles",
    "email": "eric.milles@thomsonreuters.com",
    "time": "Fri Jun 12 15:13:40 2020 -0500"
  },
  "committer": {
    "name": "Eric Milles",
    "email": "eric.milles@thomsonreuters.com",
    "time": "Fri Jun 12 15:13:40 2020 -0500"
  },
  "message": "GROOVY-5410: handle method selection for proxy object more carefully\n\ngetMetaClass() is passed on to InvocationHandler and $ProvyN is lost:\n\n    def dp \u003d Proxy.newProxyInstance(..., invocationHandler)\n    def mc \u003d dp.getMetaClass()\n    def c \u003d mc.getTheClass()\n\n\"c\" refers to class of whatever the handler returned a meta class for",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5fe58fbae8182328504216509ef8463ab2ad5cc5",
      "old_mode": 33188,
      "old_path": "src/main/java/org/codehaus/groovy/runtime/callsite/CallSiteArray.java",
      "new_id": "a4ffc8955740350c6ee7afe6e4751086c2bdb52e",
      "new_mode": 33188,
      "new_path": "src/main/java/org/codehaus/groovy/runtime/callsite/CallSiteArray.java"
    },
    {
      "type": "modify",
      "old_id": "f0761e172831e5b9e67a01c32a6d0e9e497d60b0",
      "old_mode": 33188,
      "old_path": "src/main/java/org/codehaus/groovy/vmplugin/v8/Selector.java",
      "new_id": "aecfba8e6ae5607445866f2692fdd98bd6d806a3",
      "new_mode": 33188,
      "new_path": "src/main/java/org/codehaus/groovy/vmplugin/v8/Selector.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6365ab0e87734e9e2c6beed8bd3c0e42d62b4e2f",
      "new_mode": 33188,
      "new_path": "src/test/groovy/bugs/Groovy5410.groovy"
    }
  ]
}
