1package com.android.ahat {
2
3  public class Main {
4    method public static void main(java.lang.String[]);
5  }
6
7}
8
9package com.android.ahat.dominators {
10
11  public class DominatorsComputation {
12    method public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node);
13  }
14
15  public static abstract interface DominatorsComputation.Node {
16    method public abstract java.lang.Object getDominatorsComputationState();
17    method public abstract java.lang.Iterable<? extends com.android.ahat.dominators.DominatorsComputation.Node> getReferencesForDominators();
18    method public abstract void setDominator(com.android.ahat.dominators.DominatorsComputation.Node);
19    method public abstract void setDominatorsComputationState(java.lang.Object);
20  }
21
22}
23
24package com.android.ahat.heapdump {
25
26  public class AhatArrayInstance extends com.android.ahat.heapdump.AhatInstance {
27    method public int getLength();
28    method public com.android.ahat.heapdump.Value getValue(int);
29    method public java.util.List<com.android.ahat.heapdump.Value> getValues();
30    method public java.lang.String toString();
31  }
32
33  public class AhatClassInstance extends com.android.ahat.heapdump.AhatInstance {
34    method public java.lang.Iterable<com.android.ahat.heapdump.FieldValue> getInstanceFields();
35    method public java.lang.String toString();
36  }
37
38  public class AhatClassObj extends com.android.ahat.heapdump.AhatInstance {
39    method public com.android.ahat.heapdump.AhatInstance getClassLoader();
40    method public com.android.ahat.heapdump.Field[] getInstanceFields();
41    method public long getInstanceSize();
42    method public java.lang.String getName();
43    method public java.util.List<com.android.ahat.heapdump.FieldValue> getStaticFieldValues();
44    method public com.android.ahat.heapdump.AhatClassObj getSuperClassObj();
45    method public java.lang.String toString();
46  }
47
48  public class AhatHeap implements com.android.ahat.heapdump.Diffable {
49    method public com.android.ahat.heapdump.AhatHeap getBaseline();
50    method public java.lang.String getName();
51    method public com.android.ahat.heapdump.Size getSize();
52    method public boolean isPlaceHolder();
53  }
54
55  public abstract class AhatInstance implements com.android.ahat.heapdump.Diffable com.android.ahat.dominators.DominatorsComputation.Node {
56    method public com.android.ahat.heapdump.AhatArrayInstance asArrayInstance();
57    method public java.awt.image.BufferedImage asBitmap();
58    method public com.android.ahat.heapdump.AhatClassInstance asClassInstance();
59    method public com.android.ahat.heapdump.AhatClassObj asClassObj();
60    method public java.lang.String asString(int);
61    method public java.lang.String asString();
62    method public com.android.ahat.heapdump.AhatInstance getAssociatedBitmapInstance();
63    method public com.android.ahat.heapdump.AhatInstance getBaseline();
64    method public java.lang.String getClassName();
65    method public com.android.ahat.heapdump.AhatClassObj getClassObj();
66    method public java.lang.String getDexCacheLocation(int);
67    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getDominated();
68    method public java.lang.Object getDominatorsComputationState();
69    method public com.android.ahat.heapdump.Value getField(java.lang.String);
70    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getHardReverseReferences();
71    method public com.android.ahat.heapdump.AhatHeap getHeap();
72    method public long getId();
73    method public com.android.ahat.heapdump.AhatInstance getImmediateDominator();
74    method public java.util.List<com.android.ahat.heapdump.PathElement> getPathFromGcRoot();
75    method public com.android.ahat.heapdump.AhatInstance getRefField(java.lang.String);
76    method public java.lang.Iterable<? extends com.android.ahat.dominators.DominatorsComputation.Node> getReferencesForDominators();
77    method public com.android.ahat.heapdump.AhatInstance getReferent();
78    method public com.android.ahat.heapdump.Size getRetainedSize(com.android.ahat.heapdump.AhatHeap);
79    method public java.util.Collection<com.android.ahat.heapdump.RootType> getRootTypes();
80    method public com.android.ahat.heapdump.Site getSite();
81    method public com.android.ahat.heapdump.Size getSize();
82    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getSoftReverseReferences();
83    method public com.android.ahat.heapdump.Size getTotalRetainedSize();
84    method public boolean isArrayInstance();
85    method public boolean isClassInstance();
86    method public boolean isClassObj();
87    method public boolean isPlaceHolder();
88    method public boolean isRoot();
89    method public boolean isStronglyReachable();
90    method public boolean isUnreachable();
91    method public boolean isWeaklyReachable();
92    method public void setDominator(com.android.ahat.dominators.DominatorsComputation.Node);
93    method public void setDominatorsComputationState(java.lang.Object);
94    method public abstract java.lang.String toString();
95  }
96
97  public class AhatSnapshot implements com.android.ahat.heapdump.Diffable {
98    method public com.android.ahat.heapdump.AhatClassObj findClassObj(long);
99    method public com.android.ahat.heapdump.AhatInstance findInstance(long);
100    method public com.android.ahat.heapdump.AhatSnapshot getBaseline();
101    method public com.android.ahat.heapdump.AhatHeap getHeap(java.lang.String);
102    method public java.util.List<com.android.ahat.heapdump.AhatHeap> getHeaps();
103    method public com.android.ahat.heapdump.Site getRootSite();
104    method public java.util.List<com.android.ahat.heapdump.AhatInstance> getRooted();
105    method public com.android.ahat.heapdump.Site getSite(long);
106    method public boolean isDiffed();
107    method public boolean isPlaceHolder();
108  }
109
110  public class Diff {
111    method public static void snapshots(com.android.ahat.heapdump.AhatSnapshot, com.android.ahat.heapdump.AhatSnapshot);
112  }
113
114  public class DiffFields {
115    ctor public DiffFields();
116    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>);
117  }
118
119  public abstract interface Diffable<T> {
120    method public abstract T getBaseline();
121    method public abstract boolean isPlaceHolder();
122  }
123
124  public class DiffedFieldValue {
125    method public static com.android.ahat.heapdump.DiffedFieldValue added(com.android.ahat.heapdump.FieldValue);
126    method public static com.android.ahat.heapdump.DiffedFieldValue deleted(com.android.ahat.heapdump.FieldValue);
127    method public static com.android.ahat.heapdump.DiffedFieldValue matched(com.android.ahat.heapdump.FieldValue, com.android.ahat.heapdump.FieldValue);
128    field public final com.android.ahat.heapdump.Value baseline;
129    field public final com.android.ahat.heapdump.Value current;
130    field public final java.lang.String name;
131    field public final com.android.ahat.heapdump.DiffedFieldValue.Status status;
132    field public final com.android.ahat.heapdump.Type type;
133  }
134
135  public static final class DiffedFieldValue.Status extends java.lang.Enum {
136    method public static com.android.ahat.heapdump.DiffedFieldValue.Status valueOf(java.lang.String);
137    method public static final com.android.ahat.heapdump.DiffedFieldValue.Status[] values();
138    enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status ADDED;
139    enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status DELETED;
140    enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status MATCHED;
141  }
142
143  public class Field {
144    ctor public Field(java.lang.String, com.android.ahat.heapdump.Type);
145    field public final java.lang.String name;
146    field public final com.android.ahat.heapdump.Type type;
147  }
148
149  public class FieldValue {
150    ctor public FieldValue(java.lang.String, com.android.ahat.heapdump.Type, com.android.ahat.heapdump.Value);
151    field public final java.lang.String name;
152    field public final com.android.ahat.heapdump.Type type;
153    field public final com.android.ahat.heapdump.Value value;
154  }
155
156  public class HprofFormatException extends java.lang.Exception {
157  }
158
159  public class Parser {
160    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;
161    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;
162  }
163
164  public class PathElement implements com.android.ahat.heapdump.Diffable {
165    ctor public PathElement(com.android.ahat.heapdump.AhatInstance, java.lang.String);
166    method public com.android.ahat.heapdump.PathElement getBaseline();
167    method public boolean isPlaceHolder();
168    field public final java.lang.String field;
169    field public final com.android.ahat.heapdump.AhatInstance instance;
170    field public boolean isDominator;
171  }
172
173  public final class RootType extends java.lang.Enum {
174    method public static com.android.ahat.heapdump.RootType valueOf(java.lang.String);
175    method public static final com.android.ahat.heapdump.RootType[] values();
176    enum_constant public static final com.android.ahat.heapdump.RootType DEBUGGER;
177    enum_constant public static final com.android.ahat.heapdump.RootType FINALIZING;
178    enum_constant public static final com.android.ahat.heapdump.RootType INTERNED_STRING;
179    enum_constant public static final com.android.ahat.heapdump.RootType JAVA_FRAME;
180    enum_constant public static final com.android.ahat.heapdump.RootType JNI_GLOBAL;
181    enum_constant public static final com.android.ahat.heapdump.RootType JNI_LOCAL;
182    enum_constant public static final com.android.ahat.heapdump.RootType JNI_MONITOR;
183    enum_constant public static final com.android.ahat.heapdump.RootType MONITOR;
184    enum_constant public static final com.android.ahat.heapdump.RootType NATIVE_STACK;
185    enum_constant public static final com.android.ahat.heapdump.RootType STICKY_CLASS;
186    enum_constant public static final com.android.ahat.heapdump.RootType THREAD;
187    enum_constant public static final com.android.ahat.heapdump.RootType THREAD_BLOCK;
188    enum_constant public static final com.android.ahat.heapdump.RootType UNKNOWN;
189    enum_constant public static final com.android.ahat.heapdump.RootType VM_INTERNAL;
190  }
191
192  public class Site implements com.android.ahat.heapdump.Diffable {
193    method public com.android.ahat.heapdump.Site findSite(long);
194    method public com.android.ahat.heapdump.Site getBaseline();
195    method public java.util.List<com.android.ahat.heapdump.Site> getChildren();
196    method public java.lang.String getFilename();
197    method public long getId();
198    method public int getLineNumber();
199    method public java.lang.String getMethodName();
200    method public void getObjects(java.lang.String, java.lang.String, java.util.Collection<com.android.ahat.heapdump.AhatInstance>);
201    method public java.util.List<com.android.ahat.heapdump.Site.ObjectsInfo> getObjectsInfos();
202    method public com.android.ahat.heapdump.Site getParent();
203    method public java.lang.String getSignature();
204    method public com.android.ahat.heapdump.Size getSize(com.android.ahat.heapdump.AhatHeap);
205    method public com.android.ahat.heapdump.Size getTotalSize();
206    method public boolean isPlaceHolder();
207  }
208
209  public static class Site.ObjectsInfo implements com.android.ahat.heapdump.Diffable {
210    method public com.android.ahat.heapdump.Site.ObjectsInfo getBaseline();
211    method public java.lang.String getClassName();
212    method public boolean isPlaceHolder();
213    field public com.android.ahat.heapdump.AhatClassObj classObj;
214    field public com.android.ahat.heapdump.AhatHeap heap;
215    field public com.android.ahat.heapdump.Size numBytes;
216    field public long numInstances;
217  }
218
219  public class Size {
220    ctor public Size(long, long);
221    method public long getJavaSize();
222    method public long getRegisteredNativeSize();
223    method public long getSize();
224    method public boolean isZero();
225    method public com.android.ahat.heapdump.Size plus(com.android.ahat.heapdump.Size);
226    method public com.android.ahat.heapdump.Size plusRegisteredNativeSize(long);
227    field public static com.android.ahat.heapdump.Size ZERO;
228  }
229
230  public class Sort {
231    ctor public Sort();
232    method public static java.util.Comparator<com.android.ahat.heapdump.AhatInstance> defaultInstanceCompare(com.android.ahat.heapdump.AhatSnapshot);
233    method public static java.util.Comparator<com.android.ahat.heapdump.Site> defaultSiteCompare(com.android.ahat.heapdump.AhatSnapshot);
234    method public static <T> java.util.Comparator<T> withPriority(java.util.Comparator<T>...);
235    field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_NAME;
236    field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_TYPE;
237    field public static final java.util.Comparator<com.android.ahat.heapdump.AhatInstance> INSTANCE_BY_TOTAL_RETAINED_SIZE;
238    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_CLASS_NAME;
239    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_HEAP_NAME;
240    field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_SIZE;
241    field public static final java.util.Comparator<com.android.ahat.heapdump.Site> SITE_BY_TOTAL_SIZE;
242    field public static final java.util.Comparator<com.android.ahat.heapdump.Size> SIZE_BY_SIZE;
243  }
244
245  public final class Type extends java.lang.Enum {
246    method public static com.android.ahat.heapdump.Type valueOf(java.lang.String);
247    method public static final com.android.ahat.heapdump.Type[] values();
248    enum_constant public static final com.android.ahat.heapdump.Type BOOLEAN;
249    enum_constant public static final com.android.ahat.heapdump.Type BYTE;
250    enum_constant public static final com.android.ahat.heapdump.Type CHAR;
251    enum_constant public static final com.android.ahat.heapdump.Type DOUBLE;
252    enum_constant public static final com.android.ahat.heapdump.Type FLOAT;
253    enum_constant public static final com.android.ahat.heapdump.Type INT;
254    enum_constant public static final com.android.ahat.heapdump.Type LONG;
255    enum_constant public static final com.android.ahat.heapdump.Type OBJECT;
256    enum_constant public static final com.android.ahat.heapdump.Type SHORT;
257    field public final java.lang.String name;
258  }
259
260  public abstract class Value {
261    ctor public Value();
262    method public com.android.ahat.heapdump.AhatInstance asAhatInstance();
263    method public java.lang.Byte asByte();
264    method public java.lang.Character asChar();
265    method public java.lang.Integer asInteger();
266    method public java.lang.Long asLong();
267    method public abstract boolean equals(java.lang.Object);
268    method public static com.android.ahat.heapdump.Value getBaseline(com.android.ahat.heapdump.Value);
269    method public static com.android.ahat.heapdump.Type getType(com.android.ahat.heapdump.Value);
270    method public boolean isAhatInstance();
271    method public boolean isInteger();
272    method public boolean isLong();
273    method public static com.android.ahat.heapdump.Value pack(com.android.ahat.heapdump.AhatInstance);
274    method public static com.android.ahat.heapdump.Value pack(boolean);
275    method public static com.android.ahat.heapdump.Value pack(char);
276    method public static com.android.ahat.heapdump.Value pack(float);
277    method public static com.android.ahat.heapdump.Value pack(double);
278    method public static com.android.ahat.heapdump.Value pack(byte);
279    method public static com.android.ahat.heapdump.Value pack(short);
280    method public static com.android.ahat.heapdump.Value pack(int);
281    method public static com.android.ahat.heapdump.Value pack(long);
282    method public abstract java.lang.String toString();
283  }
284
285}
286
287package com.android.ahat.proguard {
288
289  public class ProguardMap {
290    ctor public ProguardMap();
291    method public java.lang.String getClassName(java.lang.String);
292    method public java.lang.String getFieldName(java.lang.String, java.lang.String);
293    method public com.android.ahat.proguard.ProguardMap.Frame getFrame(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int);
294    method public void readFromFile(java.io.File) throws java.io.FileNotFoundException, java.io.IOException, java.text.ParseException;
295    method public void readFromReader(java.io.Reader) throws java.io.IOException, java.text.ParseException;
296  }
297
298  public static class ProguardMap.Frame {
299    field public final java.lang.String filename;
300    field public final int line;
301    field public final java.lang.String method;
302    field public final java.lang.String signature;
303  }
304
305}
306
307