)]}'
{
  "commit": "4acc17d9cb0bdfe74d7a2ce5ff9b0bb0f293eb92",
  "tree": "7a9b002520f35f117c5b6d4814ff9c53a151e327",
  "parents": [
    "f006348e7ba2f7c7e10bc705a475b5f72614b247"
  ],
  "author": {
    "name": "Manu Sridharan",
    "email": "msridhar@gmail.com",
    "time": "Wed Jul 17 08:24:53 2019 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 17 08:24:53 2019 -0700"
  },
  "message": "Add support for @RecentlyNullable and @RecentlyNonNull (#335)\n\nIf the new `-XepOpt:Nullaway:AcknowledgeAndroidRecent` flag is set to `true` *and* `-XepOpt:Nullaway:AcknowledgeRestrictiveAnnotations` is set to `true`, we treat `@RecentlyNullable` as `@Nullable`, and similarly for `@RecentlyNonNull`.  We require both flags since at this point it doesn\u0027t seem to make sense to treat the Android libraries as being fully annotated according to NullAway defaults.\r\n\r\nThe change is mostly straightforward; we just need to pass a `Config` object into a few more routines.\r\n\r\nFixes #331 ",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b3871786135f3c9667fc6b419c1f08905d0718bd",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/AbstractConfig.java",
      "new_id": "b2d600b4a228fd3d328b9780cfb2ee192b8b0533",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/AbstractConfig.java"
    },
    {
      "type": "modify",
      "old_id": "32022f38ecc9a2845d321244d46d7017f1d7a99e",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/Config.java",
      "new_id": "0153be0f9126b852b655437ac1153f925a3575c0",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/Config.java"
    },
    {
      "type": "modify",
      "old_id": "352d76be12894d302e76ec2e02dce14b77bb9691",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/DummyOptionsConfig.java",
      "new_id": "3beed1d73ee7fdcb6aecef548864fe6ceba2ac12",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/DummyOptionsConfig.java"
    },
    {
      "type": "modify",
      "old_id": "bf4911dce2a9131b11949f0081596db93ed0a4a9",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/ErrorProneCLIFlagsConfig.java",
      "new_id": "e420758d02e0903d6f954920563d7150213cc6d6",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/ErrorProneCLIFlagsConfig.java"
    },
    {
      "type": "modify",
      "old_id": "f7e13d080b8c45d6b3ccbfbed0f9e763c8584a38",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/NullAway.java",
      "new_id": "7e4176fe469cdc47408384e1e092cd0cc07ffd36",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/NullAway.java"
    },
    {
      "type": "modify",
      "old_id": "f22eedc9abfbc5b4d5f0651d397d27fd5d215e5f",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/NullabilityUtil.java",
      "new_id": "f167844d67302025f668c4ec6179aaaa8fb8a874",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/NullabilityUtil.java"
    },
    {
      "type": "modify",
      "old_id": "376897195c90615b0bbe6ea77c9c7d9aeae917db",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/Nullness.java",
      "new_id": "3dadc8f452215e642d04046fba754b1e35dcee75",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/Nullness.java"
    },
    {
      "type": "modify",
      "old_id": "77b24ea2aa53b10ef122fe36fdaaa39a9e02fd5f",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessPropagation.java",
      "new_id": "52c1aabc471b89cca722be49b3e9cf65caa7bd52",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/dataflow/AccessPathNullnessPropagation.java"
    },
    {
      "type": "modify",
      "old_id": "0783ee66dbdf0cd48b58773980a29858bf76f246",
      "old_mode": 33188,
      "old_path": "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java",
      "new_id": "acee6eb011ab91c741aca810d4de1358bab878c5",
      "new_mode": 33188,
      "new_path": "nullaway/src/main/java/com/uber/nullaway/handlers/RestrictiveAnnotationHandler.java"
    },
    {
      "type": "modify",
      "old_id": "daf3b628f5300a0bef8576670584a52b6450761d",
      "old_mode": 33188,
      "old_path": "nullaway/src/test/java/com/uber/nullaway/NullAwayTest.java",
      "new_id": "a8b336d2a58280aebf20c4fdccca036ad2a1ac4b",
      "new_mode": 33188,
      "new_path": "nullaway/src/test/java/com/uber/nullaway/NullAwayTest.java"
    },
    {
      "type": "modify",
      "old_id": "5233831f6c48232d3243ef2efdcfeabaaa94bc2f",
      "old_mode": 33188,
      "old_path": "test-java-lib/build.gradle",
      "new_id": "ea0eb6efaec2a91540ca551c2a206cd2e02913a4",
      "new_mode": 33188,
      "new_path": "test-java-lib/build.gradle"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef97d227d35bd6785f08f5578486d02cad7b0590",
      "new_mode": 33188,
      "new_path": "test-java-lib/src/main/java/androidx/annotation/RecentlyNonNull.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c743b165e1d5ab808c53738e5235dddabd51213",
      "new_mode": 33188,
      "new_path": "test-java-lib/src/main/java/androidx/annotation/RecentlyNullable.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a609501c5b15496dae3923b7d1305f5544ec5b1",
      "new_mode": 33188,
      "new_path": "test-java-lib/src/main/java/com/uber/lib/unannotated/AndroidRecentlyAnnotatedClass.java"
    }
  ]
}
