package com.squareup.haha.perflib; import java.util.ArrayList; import java.util.List; /* loaded from: classes.dex */ public class ClassInstance extends Instance { private final long mValuesOffset; public static class FieldValue { private Field mField; private Object mValue; public FieldValue(Field field, Object obj) { this.mField = field; this.mValue = obj; } public Field getField() { return this.mField; } public Object getValue() { return this.mValue; } } public ClassInstance(long j, StackTrace stackTrace, long j2) { super(j, stackTrace); this.mValuesOffset = j2; } @Override // com.squareup.haha.perflib.Instance public final void accept(Visitor visitor) { visitor.visitClassInstance(this); for (FieldValue fieldValue : getValues()) { if (fieldValue.getValue() instanceof Instance) { if (!this.mReferencesAdded) { ((Instance) fieldValue.getValue()).addReference(fieldValue.getField(), this); } visitor.visitLater(this, (Instance) fieldValue.getValue()); } } this.mReferencesAdded = true; } List getFields(String str) { ArrayList arrayList = new ArrayList(); for (FieldValue fieldValue : getValues()) { if (fieldValue.getField().getName().equals(str)) { arrayList.add(fieldValue); } } return arrayList; } @Override // com.squareup.haha.perflib.Instance public boolean getIsSoftReference() { return getClassObj().getIsSoftReference(); } public List getValues() { ArrayList arrayList = new ArrayList(); getBuffer().setPosition(this.mValuesOffset); for (ClassObj classObj = getClassObj(); classObj != null; classObj = classObj.getSuperClassObj()) { for (Field field : classObj.getFields()) { arrayList.add(new FieldValue(field, readValue(field.getType()))); } } return arrayList; } public final String toString() { return String.format("%s@%d (0x%x)", getClassObj().getClassName(), Long.valueOf(getUniqueId()), Long.valueOf(getUniqueId())); } }