)]}'
{
  "commit": "0fc1232d4eda14f656ab07b1118e707b664c43d6",
  "tree": "f38ae457edbc54afe42b18af4a34be8b43451a96",
  "parents": [
    "2a7cb48b9d58a719367fa971aba5561d090236a5"
  ],
  "author": {
    "name": "Christoffer Quist Adamsen",
    "email": "christofferqa@google.com",
    "time": "Mon Apr 04 09:01:23 2022 +0200"
  },
  "committer": {
    "name": "Christoffer Adamsen",
    "email": "christofferqa@google.com",
    "time": "Tue Apr 05 06:42:36 2022 +0000"
  },
  "message": "Implement data flow analysis over an abstraction of the IR\n\nChange-Id: I4a81e523188054d3493bf1f44ba0cfdb4d6210eb",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af7a8369b97f5a3e8d1fdacc396994f8c823e979",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java",
      "new_id": "a3013e37e61a726000127fc314607f1aca6fa5b8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/AbstractTransferFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "41fcd44fa4ee537703ed1e3a2ccbb882f5cb6e0a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/ControlFlowGraph.java"
    },
    {
      "type": "modify",
      "old_id": "a8a1832d2e90fb6dc3b1fc9f64e7eb4e5aa31772",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/DataflowAnalysisResult.java",
      "new_id": "8974bbf285d431e171d8177425dc5948119950ba",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/DataflowAnalysisResult.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b015d2994db9266173ee2634ee39d9af0d38d97",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraProceduralDataflowAnalysisBase.java"
    },
    {
      "type": "modify",
      "old_id": "4f00ef04ef6bd098bb2bb2c01aacbb7d9e7abc31",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraproceduralDataflowAnalysis.java",
      "new_id": "13a9c42a690220cf1ae02471d6ce7a9fd16b9332",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/analysis/framework/intraprocedural/IntraproceduralDataflowAnalysis.java"
    },
    {
      "type": "modify",
      "old_id": "01b08a82da76775dfd404c67e06c92b2b157ebfb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/code/IRCode.java",
      "new_id": "a67618b8c767d9a2e1c0b6623d55ce14510e3d41",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/code/IRCode.java"
    },
    {
      "type": "modify",
      "old_id": "854188ef38b685646c93c2e033bbf8238bbdad1e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/classinliner/analysis/ClassInlinerMethodConstraintAnalysis.java",
      "new_id": "f45344f0d5dd2ddd30715fe22278e42a2853904f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/classinliner/analysis/ClassInlinerMethodConstraintAnalysis.java"
    },
    {
      "type": "modify",
      "old_id": "65c05e651b98a47ffb2525a3cd6f97d0c2bc0622",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/classinliner/analysis/TransferFunction.java",
      "new_id": "0e4a8dd9404fff60269d48e840053f35a8ce994e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/classinliner/analysis/TransferFunction.java"
    },
    {
      "type": "modify",
      "old_id": "80066f30b6049d1e34fb2b68c6aa0fe3826a0f00",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/string/StringBuilderAppendFlowAnalysis.java",
      "new_id": "1179c6d855eec5502a3a35bb39bc92940b5fc518",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/string/StringBuilderAppendFlowAnalysis.java"
    },
    {
      "type": "modify",
      "old_id": "b851f1e6f55661910fa237375744a735e4d41232",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/ir/optimize/string/StringBuilderOptimizer.java",
      "new_id": "7e0b884942b6b349959070759d3cc7973ec100f7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/ir/optimize/string/StringBuilderOptimizer.java"
    }
  ]
}
