Switch to metalava for ahat docs

Update ahat_apit.txt and ahat_removed_api.txt to be created with
metalava.

Bug: 144248501
Bug: 143136634
Test: m ahat-docs
Test: m checkapi

Change-Id: I9357ae6ea1266f6a158fa5ce8cb187d0a685dde6
diff --git a/tools/ahat/Android.bp b/tools/ahat/Android.bp
index 85aca4c..6ee12b1 100644
--- a/tools/ahat/Android.bp
+++ b/tools/ahat/Android.bp
@@ -12,19 +12,28 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-droiddoc_host {
-    name: "ahat-docs",
+droidstubs_host {
+    name: "ahat-docs-stubs",
     srcs: [
         "src/main/**/*.java",
     ],
-    custom_template: "droiddoc-templates-sdk",
-    args: "-stubpackages com.android.ahat:com.android.ahat.*",
     check_api: {
         current: {
             api_file: "etc/ahat_api.txt",
             removed_api_file: "etc/ahat_removed_api.txt",
         },
     },
+    flags: ["-stubpackages com.android.ahat:com.android.ahat.*"],
+    create_doc_stubs: true,
+}
+
+droiddoc_host {
+    name: "ahat-docs",
+    srcs: [
+        ":ahat-docs-stubs",
+    ],
+    custom_template: "droiddoc-templates-sdk",
+    create_stubs: false,
 }
 
 // --- ahat.jar ----------------
diff --git a/tools/ahat/etc/ahat_api.txt b/tools/ahat/etc/ahat_api.txt
index 962f12b..89f01b6 100644
--- a/tools/ahat/etc/ahat_api.txt
+++ b/tools/ahat/etc/ahat_api.txt
@@ -1,7 +1,8 @@
+// Signature format: 2.0
 package com.android.ahat {
 
   public class Main {
-    method public static void main(java.lang.String[]);
+    method public static void main(String[]);
   }
 
 }
@@ -14,23 +15,23 @@
     method public com.android.ahat.dominators.Dominators progress(com.android.ahat.progress.Progress, long);
   }
 
-  public static abstract interface Dominators.Graph<Node> {
-    method public abstract java.lang.Object getDominatorsComputationState(Node);
-    method public abstract java.lang.Iterable<? extends Node> getReferencesForDominators(Node);
-    method public abstract void setDominator(Node, Node);
-    method public abstract void setDominatorsComputationState(Node, java.lang.Object);
+  public static interface Dominators.Graph<Node> {
+    method public Object getDominatorsComputationState(Node);
+    method public Iterable<? extends Node> getReferencesForDominators(Node);
+    method public void setDominator(Node, Node);
+    method public void setDominatorsComputationState(Node, Object);
   }
 
-  public deprecated class DominatorsComputation {
-    method public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node);
-    method public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node, com.android.ahat.progress.Progress, long);
+  @Deprecated public class DominatorsComputation {
+    method @Deprecated public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node);
+    method @Deprecated public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node, com.android.ahat.progress.Progress, long);
   }
 
-  public static abstract interface DominatorsComputation.Node {
-    method public abstract java.lang.Object getDominatorsComputationState();
-    method public abstract java.lang.Iterable<? extends com.android.ahat.dominators.DominatorsComputation.Node> getReferencesForDominators();
-    method public abstract void setDominator(com.android.ahat.dominators.DominatorsComputation.Node);
-    method public abstract void setDominatorsComputationState(java.lang.Object);
+  @Deprecated public static interface DominatorsComputation.Node {
+    method @Deprecated public Object getDominatorsComputationState();
+    method @Deprecated public Iterable<? extends Node> getReferencesForDominators();
+    method @Deprecated public void setDominator(com.android.ahat.dominators.DominatorsComputation.Node);
+    method @Deprecated public void setDominatorsComputationState(Object);
   }
 
 }
@@ -40,82 +41,85 @@
   public class AhatArrayInstance extends com.android.ahat.heapdump.AhatInstance {
     method public int getLength();
     method public com.android.ahat.heapdump.Value getValue(int);
-    method public java.util.List<com.android.ahat.heapdump.Value> getValues();
+    method public List<Value> getValues();
+    method public String toString();
   }
 
   public class AhatClassInstance extends com.android.ahat.heapdump.AhatInstance {
-    method public java.lang.Iterable<com.android.ahat.heapdump.FieldValue> getInstanceFields();
+    method public Iterable<FieldValue> getInstanceFields();
+    method public String toString();
   }
 
   public class AhatClassObj extends com.android.ahat.heapdump.AhatInstance {
     method public com.android.ahat.heapdump.AhatInstance getClassLoader();
     method public com.android.ahat.heapdump.Field[] getInstanceFields();
     method public long getInstanceSize();
-    method public java.lang.String getName();
-    method public java.util.List<com.android.ahat.heapdump.FieldValue> getStaticFieldValues();
+    method public String getName();
+    method public List<FieldValue> getStaticFieldValues();
     method public com.android.ahat.heapdump.AhatClassObj getSuperClassObj();
+    method public String toString();
   }
 
-  public class AhatHeap implements com.android.ahat.heapdump.Diffable {
+  public class AhatHeap implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.AhatHeap> {
     method public com.android.ahat.heapdump.AhatHeap getBaseline();
-    method public java.lang.String getName();
+    method public String getName();
     method public com.android.ahat.heapdump.Size getSize();
     method public boolean isPlaceHolder();
   }
 
-  public abstract class AhatInstance implements com.android.ahat.heapdump.Diffable {
+  public abstract class AhatInstance implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.AhatInstance> {
     method public com.android.ahat.heapdump.AhatArrayInstance asArrayInstance();
-    method public java.awt.image.BufferedImage asBitmap();
+    method public BufferedImage asBitmap();
     method public com.android.ahat.heapdump.AhatClassInstance asClassInstance();
     method public com.android.ahat.heapdump.AhatClassObj asClassObj();
-    method public java.lang.String asString(int);
-    method public java.lang.String asString();
+    method public String asString(int);
+    method public String asString();
     method public com.android.ahat.heapdump.AhatInstance getAssociatedBitmapInstance();
     method public com.android.ahat.heapdump.AhatClassObj getAssociatedClassForOverhead();
     method public com.android.ahat.heapdump.AhatInstance getBaseline();
-    method public java.lang.String getBinderProxyInterfaceName();
-    method public java.lang.String getBinderStubInterfaceName();
-    method public java.lang.String getBinderTokenDescriptor();
-    method public java.lang.String getClassName();
+    method public String getBinderProxyInterfaceName();
+    method public String getBinderStubInterfaceName();
+    method public String getBinderTokenDescriptor();
+    method public String getClassName();
     method public com.android.ahat.heapdump.AhatClassObj getClassObj();
-    method public java.lang.String getDexCacheLocation(int);
-    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getDominated();
-    method public com.android.ahat.heapdump.Value getField(java.lang.String);
-    method public deprecated java.util.List<com.android.ahat.heapdump.AhatInstance> getHardReverseReferences();
+    method public String getDexCacheLocation(int);
+    method public List<AhatInstance> getDominated();
+    method public com.android.ahat.heapdump.Value getField(String);
+    method @Deprecated public List<AhatInstance> getHardReverseReferences();
     method public com.android.ahat.heapdump.AhatHeap getHeap();
     method public long getId();
     method public com.android.ahat.heapdump.AhatInstance getImmediateDominator();
-    method public java.util.List<com.android.ahat.heapdump.PathElement> getPathFromGcRoot();
+    method public List<PathElement> getPathFromGcRoot();
     method public com.android.ahat.heapdump.Reachability getReachability();
-    method public com.android.ahat.heapdump.AhatInstance getRefField(java.lang.String);
+    method public com.android.ahat.heapdump.AhatInstance getRefField(String);
     method public com.android.ahat.heapdump.AhatInstance getReferent();
     method public com.android.ahat.heapdump.Size getRetainedSize(com.android.ahat.heapdump.AhatHeap);
-    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getReverseReferences();
-    method public java.util.Collection<com.android.ahat.heapdump.RootType> getRootTypes();
+    method public List<AhatInstance> getReverseReferences();
+    method public Collection<RootType> getRootTypes();
     method public com.android.ahat.heapdump.Site getSite();
     method public com.android.ahat.heapdump.Size getSize();
-    method public deprecated java.util.List<com.android.ahat.heapdump.AhatInstance> getSoftReverseReferences();
+    method @Deprecated public List<AhatInstance> getSoftReverseReferences();
     method public com.android.ahat.heapdump.Size getTotalRetainedSize();
     method public boolean isArrayInstance();
     method public boolean isClassInstance();
     method public boolean isClassObj();
-    method public boolean isInstanceOfClass(java.lang.String);
+    method public boolean isInstanceOfClass(String);
     method public boolean isPlaceHolder();
     method public boolean isRoot();
     method public boolean isStronglyReachable();
     method public boolean isUnreachable();
-    method public deprecated boolean isWeaklyReachable();
-    method public abstract java.lang.String toString();
+    method @Deprecated public boolean isWeaklyReachable();
+    method public abstract String toString();
   }
 
-  public class AhatSnapshot implements com.android.ahat.heapdump.Diffable {
+  public class AhatSnapshot implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.AhatSnapshot> {
     method public com.android.ahat.heapdump.AhatClassObj findClassObj(long);
     method public com.android.ahat.heapdump.AhatInstance findInstance(long);
     method public com.android.ahat.heapdump.AhatSnapshot getBaseline();
-    method public com.android.ahat.heapdump.AhatHeap getHeap(java.lang.String);
-    method public java.util.List<com.android.ahat.heapdump.AhatHeap> getHeaps();
+    method public com.android.ahat.heapdump.AhatHeap getHeap(String);
+    method public List<AhatHeap> getHeaps();
     method public com.android.ahat.heapdump.Site getRootSite();
-    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getRooted();
+    method public List<AhatInstance> getRooted();
     method public com.android.ahat.heapdump.Site getSite(long);
     method public boolean isDiffed();
     method public boolean isPlaceHolder();
@@ -127,73 +131,73 @@
 
   public class DiffFields {
     ctor public DiffFields();
-    method public static java.util.List<com.android.ahat.heapdump.DiffedFieldValue> diff(java.lang.Iterable<com.android.ahat.heapdump.FieldValue>, java.lang.Iterable<com.android.ahat.heapdump.FieldValue>);
+    method public static List<DiffedFieldValue> diff(Iterable<FieldValue>, Iterable<FieldValue>);
   }
 
-  public abstract interface Diffable<T> {
-    method public abstract T getBaseline();
-    method public abstract boolean isPlaceHolder();
+  public interface Diffable<T> {
+    method public T getBaseline();
+    method public boolean isPlaceHolder();
   }
 
   public class DiffedFieldValue {
     method public static com.android.ahat.heapdump.DiffedFieldValue added(com.android.ahat.heapdump.FieldValue);
     method public static com.android.ahat.heapdump.DiffedFieldValue deleted(com.android.ahat.heapdump.FieldValue);
+    method public boolean equals(Object);
+    method public int hashCode();
     method public static com.android.ahat.heapdump.DiffedFieldValue matched(com.android.ahat.heapdump.FieldValue, com.android.ahat.heapdump.FieldValue);
+    method public String toString();
     field public final com.android.ahat.heapdump.Value baseline;
     field public final com.android.ahat.heapdump.Value current;
-    field public final java.lang.String name;
+    field public final String name;
     field public final com.android.ahat.heapdump.DiffedFieldValue.Status status;
     field public final com.android.ahat.heapdump.Type type;
   }
 
-  public static final class DiffedFieldValue.Status extends java.lang.Enum {
-    method public static com.android.ahat.heapdump.DiffedFieldValue.Status valueOf(java.lang.String);
-    method public static final com.android.ahat.heapdump.DiffedFieldValue.Status[] values();
+  public enum DiffedFieldValue.Status {
     enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status ADDED;
     enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status DELETED;
     enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status MATCHED;
   }
 
   public class Field {
-    ctor public Field(java.lang.String, com.android.ahat.heapdump.Type);
-    field public final java.lang.String name;
+    ctor public Field(String, com.android.ahat.heapdump.Type);
+    field public final String name;
     field public final com.android.ahat.heapdump.Type type;
   }
 
   public class FieldValue {
-    ctor public FieldValue(java.lang.String, com.android.ahat.heapdump.Type, com.android.ahat.heapdump.Value);
-    field public final java.lang.String name;
+    ctor public FieldValue(String, com.android.ahat.heapdump.Type, com.android.ahat.heapdump.Value);
+    field public final String name;
     field public final com.android.ahat.heapdump.Type type;
     field public final com.android.ahat.heapdump.Value value;
   }
 
-  public class HprofFormatException extends java.lang.Exception {
+  public class HprofFormatException {
   }
 
   public class Parser {
-    ctor public Parser(java.nio.ByteBuffer);
-    ctor public Parser(java.io.File) throws java.io.IOException;
+    ctor public Parser(ByteBuffer);
+    ctor public Parser(File);
     method public com.android.ahat.heapdump.Parser map(com.android.ahat.proguard.ProguardMap);
-    method public com.android.ahat.heapdump.AhatSnapshot parse() throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException;
-    method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(java.io.File, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException;
-    method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(java.nio.ByteBuffer, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException;
+    method public com.android.ahat.heapdump.AhatSnapshot parse() throws com.android.ahat.heapdump.HprofFormatException;
+    method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(File, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException;
+    method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(ByteBuffer, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException;
     method public com.android.ahat.heapdump.Parser progress(com.android.ahat.progress.Progress);
     method public com.android.ahat.heapdump.Parser retained(com.android.ahat.heapdump.Reachability);
   }
 
-  public class PathElement implements com.android.ahat.heapdump.Diffable {
-    ctor public PathElement(com.android.ahat.heapdump.AhatInstance, java.lang.String);
+  public class PathElement implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.PathElement> {
+    ctor public PathElement(com.android.ahat.heapdump.AhatInstance, String);
     method public com.android.ahat.heapdump.PathElement getBaseline();
     method public boolean isPlaceHolder();
-    field public final java.lang.String field;
+    field public final String field;
     field public final com.android.ahat.heapdump.AhatInstance instance;
     field public boolean isDominator;
   }
 
-  public final class Reachability extends java.lang.Enum {
+  public enum Reachability {
     method public boolean notWeakerThan(com.android.ahat.heapdump.Reachability);
-    method public static com.android.ahat.heapdump.Reachability valueOf(java.lang.String);
-    method public static final com.android.ahat.heapdump.Reachability[] values();
+    method public String toString();
     enum_constant public static final com.android.ahat.heapdump.Reachability FINALIZER;
     enum_constant public static final com.android.ahat.heapdump.Reachability PHANTOM;
     enum_constant public static final com.android.ahat.heapdump.Reachability SOFT;
@@ -202,9 +206,7 @@
     enum_constant public static final com.android.ahat.heapdump.Reachability WEAK;
   }
 
-  public final class RootType extends java.lang.Enum {
-    method public static com.android.ahat.heapdump.RootType valueOf(java.lang.String);
-    method public static final com.android.ahat.heapdump.RootType[] values();
+  public enum RootType {
     enum_constant public static final com.android.ahat.heapdump.RootType DEBUGGER;
     enum_constant public static final com.android.ahat.heapdump.RootType FINALIZING;
     enum_constant public static final com.android.ahat.heapdump.RootType INTERNED_STRING;
@@ -221,27 +223,27 @@
     enum_constant public static final com.android.ahat.heapdump.RootType VM_INTERNAL;
   }
 
-  public class Site implements com.android.ahat.heapdump.Diffable {
+  public class Site implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.Site> {
     method public com.android.ahat.heapdump.Site findSite(long);
     method public com.android.ahat.heapdump.Site getBaseline();
-    method public java.util.List<com.android.ahat.heapdump.Site> getChildren();
-    method public java.lang.String getFilename();
+    method public List<Site> getChildren();
+    method public String getFilename();
     method public long getId();
     method public int getLineNumber();
-    method public java.lang.String getMethodName();
-    method public void getObjects(java.lang.String, java.lang.String, java.util.Collection<com.android.ahat.heapdump.AhatInstance>);
-    method public void getObjects(java.util.function.Predicate<com.android.ahat.heapdump.AhatInstance>, java.util.function.Consumer<com.android.ahat.heapdump.AhatInstance>);
-    method public java.util.List<com.android.ahat.heapdump.Site.ObjectsInfo> getObjectsInfos();
+    method public String getMethodName();
+    method public void getObjects(String, String, Collection<AhatInstance>);
+    method public void getObjects(Predicate<AhatInstance>, Consumer<AhatInstance>);
+    method public List<ObjectsInfo> getObjectsInfos();
     method public com.android.ahat.heapdump.Site getParent();
-    method public java.lang.String getSignature();
+    method public String getSignature();
     method public com.android.ahat.heapdump.Size getSize(com.android.ahat.heapdump.AhatHeap);
     method public com.android.ahat.heapdump.Size getTotalSize();
     method public boolean isPlaceHolder();
   }
 
-  public static class Site.ObjectsInfo implements com.android.ahat.heapdump.Diffable {
+  public static class Site.ObjectsInfo implements com.android.ahat.heapdump.Diffable<com.android.ahat.heapdump.Site.ObjectsInfo> {
     method public com.android.ahat.heapdump.Site.ObjectsInfo getBaseline();
-    method public java.lang.String getClassName();
+    method public String getClassName();
     method public boolean isPlaceHolder();
     field public com.android.ahat.heapdump.AhatClassObj classObj;
     field public com.android.ahat.heapdump.AhatHeap heap;
@@ -251,9 +253,11 @@
 
   public class Size {
     ctor public Size(long, long);
+    method public boolean equals(Object);
     method public long getJavaSize();
     method public long getRegisteredNativeSize();
     method public long getSize();
+    method public int hashCode();
     method public boolean isZero();
     method public com.android.ahat.heapdump.Size plus(com.android.ahat.heapdump.Size);
     method public com.android.ahat.heapdump.Size plusRegisteredNativeSize(long);
@@ -262,22 +266,21 @@
 
   public class Sort {
     ctor public Sort();
-    method public static java.util.Comparator<com.android.ahat.heapdump.AhatInstance> defaultInstanceCompare(com.android.ahat.heapdump.AhatSnapshot);
-    method public static java.util.Comparator<com.android.ahat.heapdump.Site> defaultSiteCompare(com.android.ahat.heapdump.AhatSnapshot);
-    method public static <T> java.util.Comparator<T> withPriority(java.util.Comparator<T>...);
-    field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_NAME;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_TYPE;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.AhatInstance> INSTANCE_BY_TOTAL_RETAINED_SIZE;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_CLASS_NAME;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_HEAP_NAME;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_SIZE;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.Site> SITE_BY_TOTAL_SIZE;
-    field public static final java.util.Comparator<com.android.ahat.heapdump.Size> SIZE_BY_SIZE;
+    method public static Comparator<AhatInstance> defaultInstanceCompare(com.android.ahat.heapdump.AhatSnapshot);
+    method public static Comparator<Site> defaultSiteCompare(com.android.ahat.heapdump.AhatSnapshot);
+    method public static <T> Comparator<T> withPriority(Comparator<T>...);
+    field public static final Comparator<FieldValue> FIELD_VALUE_BY_NAME;
+    field public static final Comparator<FieldValue> FIELD_VALUE_BY_TYPE;
+    field public static final Comparator<AhatInstance> INSTANCE_BY_TOTAL_RETAINED_SIZE;
+    field public static final Comparator<Site.ObjectsInfo> OBJECTS_INFO_BY_CLASS_NAME;
+    field public static final Comparator<Site.ObjectsInfo> OBJECTS_INFO_BY_HEAP_NAME;
+    field public static final Comparator<Site.ObjectsInfo> OBJECTS_INFO_BY_SIZE;
+    field public static final Comparator<Site> SITE_BY_TOTAL_SIZE;
+    field public static final Comparator<Size> SIZE_BY_SIZE;
   }
 
-  public final class Type extends java.lang.Enum {
-    method public static com.android.ahat.heapdump.Type valueOf(java.lang.String);
-    method public static final com.android.ahat.heapdump.Type[] values();
+  public enum Type {
+    method public String toString();
     enum_constant public static final com.android.ahat.heapdump.Type BOOLEAN;
     enum_constant public static final com.android.ahat.heapdump.Type BYTE;
     enum_constant public static final com.android.ahat.heapdump.Type CHAR;
@@ -287,17 +290,17 @@
     enum_constant public static final com.android.ahat.heapdump.Type LONG;
     enum_constant public static final com.android.ahat.heapdump.Type OBJECT;
     enum_constant public static final com.android.ahat.heapdump.Type SHORT;
-    field public final java.lang.String name;
+    field public final String name;
   }
 
   public abstract class Value {
     ctor public Value();
     method public com.android.ahat.heapdump.AhatInstance asAhatInstance();
-    method public java.lang.Byte asByte();
-    method public java.lang.Character asChar();
-    method public java.lang.Integer asInteger();
-    method public java.lang.Long asLong();
-    method public abstract boolean equals(java.lang.Object);
+    method public Byte asByte();
+    method public Character asChar();
+    method public Integer asInteger();
+    method public Long asLong();
+    method public abstract boolean equals(Object);
     method public static com.android.ahat.heapdump.Value getBaseline(com.android.ahat.heapdump.Value);
     method public static com.android.ahat.heapdump.Type getType(com.android.ahat.heapdump.Value);
     method public abstract int hashCode();
@@ -313,7 +316,7 @@
     method public static com.android.ahat.heapdump.Value pack(short);
     method public static com.android.ahat.heapdump.Value pack(int);
     method public static com.android.ahat.heapdump.Value pack(long);
-    method public abstract java.lang.String toString();
+    method public abstract String toString();
   }
 
 }
@@ -324,16 +327,16 @@
     ctor public NullProgress();
     method public void advance(long);
     method public void done();
-    method public void start(java.lang.String, long);
+    method public void start(String, long);
     method public void update(long);
   }
 
-  public abstract interface Progress {
+  public interface Progress {
     method public default void advance();
-    method public abstract void advance(long);
-    method public abstract void done();
-    method public abstract void start(java.lang.String, long);
-    method public abstract void update(long);
+    method public void advance(long);
+    method public void done();
+    method public void start(String, long);
+    method public void update(long);
   }
 
 }
@@ -342,18 +345,18 @@
 
   public class ProguardMap {
     ctor public ProguardMap();
-    method public java.lang.String getClassName(java.lang.String);
-    method public java.lang.String getFieldName(java.lang.String, java.lang.String);
-    method public com.android.ahat.proguard.ProguardMap.Frame getFrame(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int);
-    method public void readFromFile(java.io.File) throws java.io.FileNotFoundException, java.io.IOException, java.text.ParseException;
-    method public void readFromReader(java.io.Reader) throws java.io.IOException, java.text.ParseException;
+    method public String getClassName(String);
+    method public String getFieldName(String, String);
+    method public com.android.ahat.proguard.ProguardMap.Frame getFrame(String, String, String, String, int);
+    method public void readFromFile(File);
+    method public void readFromReader(Reader);
   }
 
   public static class ProguardMap.Frame {
-    field public final java.lang.String filename;
+    field public final String filename;
     field public final int line;
-    field public final java.lang.String method;
-    field public final java.lang.String signature;
+    field public final String method;
+    field public final String signature;
   }
 
 }
diff --git a/tools/ahat/etc/ahat_removed_api.txt b/tools/ahat/etc/ahat_removed_api.txt
index e69de29..d802177 100644
--- a/tools/ahat/etc/ahat_removed_api.txt
+++ b/tools/ahat/etc/ahat_removed_api.txt
@@ -0,0 +1 @@
+// Signature format: 2.0