tree e7a1335e6c3ba0cf0550774e2d1e599500a956c8
parent 9ddef18ae95859a985e7a0de7e22999fcbc28e07
author Richard Uhler <ruhler@google.com> 1528123457 +0100
committer Richard Uhler <ruhler@google.com> 1528123643 +0100

Ignore comment lines in proguard mapping.

Comment lines are now being generated by R8 in the proguard mapping.
Update the proguard mapping parser to handle those. Fixes the ahat test
failure:

1) diffMatchedHeap(com.android.ahat.DiffTest)
java.io.IOException: Unable to load proguard map
  at com.android.ahat.TestDump.load(TestDump.java:116)
  at com.android.ahat.TestDump.getTestDump(TestDump.java:269)
  at com.android.ahat.TestDump.getTestDump(TestDump.java:241)
  at com.android.ahat.DiffTest.diffMatchedHeap(DiffTest.java:32)
  ...
Caused by: java.text.ParseException: Error parsing class line: '# compiler: R8'
  at com.android.ahat.proguard.ProguardMap.parseException(ProguardMap.java:142)
  at com.android.ahat.proguard.ProguardMap.readFromReader(ProguardMap.java:191)
  at com.android.ahat.TestDump.load(TestDump.java:114)
  ... 33 more

Change-Id: I70c9deb414086f454a1f3fefd3bace5b78953b44
Test: m ahat-test
