)]}'
{
  "commit": "2d3eff8250fa327e3887b7661fad57ddf40960bb",
  "tree": "2d4b40af21f350784af01cd8d74bd7e6d15604bb",
  "parents": [
    "920ba9013b2b4714e931dbd63bb72f1cae403f2d"
  ],
  "author": {
    "name": "Roberto Lublinerman",
    "email": "rluble@gmail.com",
    "time": "Sun Aug 31 16:05:16 2014 -0700"
  },
  "committer": {
    "name": "Gerrit Code Review",
    "email": "noreply-gerritcodereview@google.com",
    "time": "Wed Oct 01 21:33:08 2014 +0000"
  },
  "message": "Fix nullness analysis in TypeTightener.\n\n(1) Makes the CanPotentiallySeeUninitializedFields analysis available\n    in TypeTightener to fix an unsafe assumption when computing\n    nullability.\n(2) Fixes a bug in CanPotentiallySeeUninitializedFields:\n    - instance initializer was incorrectly analyzed; the analysis\n      assumed $$init was the instance initializer whereas it was\n      the devirtualized instance initializer.\n(3) Improves the strength of the analysis by explicitly checking whether\n    a \"this\" reference (or its devirtualized version) is used for a\n    polymorphic call, involved in the parameters to static calls or\n    involved in an expression that may create an alias to it.\n(4) Adds some missing optimizations related to nullability.\n\nChange-Id: I7a14112af353d50c4d83a2a31f47b1138488586e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88d12783bc15713024029d844aa164a5db8bb53d",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/javac/testing/impl/JavaResourceBase.java",
      "new_id": "3f7f7c9abb8bd02cc342634f342720a02d0bd3b7",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/javac/testing/impl/JavaResourceBase.java"
    },
    {
      "type": "modify",
      "old_id": "a01323449874b4cef89fc32ca0f273cb63e46124",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java",
      "new_id": "9d80893f4b65fcae47ae83d24961629222ba9912",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java"
    },
    {
      "type": "modify",
      "old_id": "5c4d9d64090ce1138ad1e8b6c282aafd15ed1808",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java",
      "new_id": "0778d07b1dde79116f792ae9d7e122114c58ca07",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java"
    },
    {
      "type": "modify",
      "old_id": "da4b558bb8ea478321cfb728cf373e4bf0921b0f",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java",
      "new_id": "4a8d6a59bd42222b082ce51c1d8bc9da68c04330",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "556415e2da0ec42d4d947963e86d92607acdf8df",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/ComputePotentiallyObservableUninitializedValues.java"
    },
    {
      "type": "modify",
      "old_id": "2b5afe54ae57fe269fc1feee8d60bb2eef9aafd5",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java",
      "new_id": "b5b0779598e278a3f71c9caf35ddb349d4b7bddf",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java"
    },
    {
      "type": "modify",
      "old_id": "acc97c03e1f768f4cb47cb3e56254f9d05da9fc9",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java",
      "new_id": "3c05506554cb430ed2141eb3af8f72b85b2b4e64",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java"
    },
    {
      "type": "modify",
      "old_id": "14f3f5ebd1cb022b21f7414aa9d39f294eb9a3fc",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/JjsUtils.java",
      "new_id": "feeba911b9c3ece806f3988c1de52fad93279e22",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/JjsUtils.java"
    },
    {
      "type": "modify",
      "old_id": "819a35f43ae0c46af83e7cf863301bf7329769f4",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java",
      "new_id": "de4aca50e596f2e2831290f8e29f8004312600b1",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java"
    },
    {
      "type": "modify",
      "old_id": "7ff1ad616cc768fb865678c17ed9c7d761b66877",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java",
      "new_id": "7ba0e69b3026d3cf63b0099e062f93d6761f79ca",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/jjs/impl/TypeTightener.java"
    },
    {
      "type": "modify",
      "old_id": "e76e0bff492f2ff9bf863b254fb2d778b26c35d6",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/util/collect/Stack.java",
      "new_id": "53077afdeba26ea825cefe9d81de0d027982092d",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/util/collect/Stack.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae6bf37ea8815c1889e55183bf4e1699720be1a2",
      "new_mode": 33188,
      "new_path": "dev/core/test/com/google/gwt/dev/jjs/impl/ComputePotentiallyObservableUninitializedValuesTest.java"
    },
    {
      "type": "modify",
      "old_id": "56df7457b0c4d27a3c7f5280853c03a043fa7dcf",
      "old_mode": 33188,
      "old_path": "user/test/com/google/gwt/dev/jjs/test/FieldInitOrderChild.java",
      "new_id": "8281cdf646bd16c1354185a9105ed8be2a4725f2",
      "new_mode": 33188,
      "new_path": "user/test/com/google/gwt/dev/jjs/test/FieldInitOrderChild.java"
    }
  ]
}
