.class public Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData; .super Ljava/lang/Object; .source "SourceFile" # instance fields .field public final cause:Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData; .field public final className:Ljava/lang/String; .field public final localizedMessage:Ljava/lang/String; .field public final stacktrace:[Ljava/lang/StackTraceElement; # direct methods .method public constructor (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/StackTraceElement;Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;)V .locals 0 .line 35 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;->localizedMessage:Ljava/lang/String; iput-object p2, p0, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;->className:Ljava/lang/String; iput-object p3, p0, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;->stacktrace:[Ljava/lang/StackTraceElement; iput-object p4, p0, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;->cause:Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData; return-void .end method .method public static makeTrimmedThrowableData(Ljava/lang/Throwable;Lcom/google/firebase/crashlytics/internal/stacktrace/StackTraceTrimmingStrategy;)Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData; .locals 5 .line 44 new-instance v0, Ljava/util/Stack; invoke-direct {v0}, Ljava/util/Stack;->()V :goto_0 if-eqz p0, :cond_0 .line 47 invoke-virtual {v0, p0}, Ljava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object; .line 48 invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable; move-result-object p0 goto :goto_0 :cond_0 const/4 p0, 0x0 .line 52 :goto_1 invoke-virtual {v0}, Ljava/util/AbstractCollection;->isEmpty()Z move-result v1 if-nez v1, :cond_1 .line 53 invoke-virtual {v0}, Ljava/util/Stack;->pop()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Throwable; .line 54 new-instance v2, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData; .line 56 invoke-virtual {v1}, Ljava/lang/Throwable;->getLocalizedMessage()Ljava/lang/String; move-result-object v3 .line 57 invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v4 .line 58 invoke-virtual {v1}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement; move-result-object v1 invoke-interface {p1, v1}, Lcom/google/firebase/crashlytics/internal/stacktrace/StackTraceTrimmingStrategy;->getTrimmedStackTrace([Ljava/lang/StackTraceElement;)[Ljava/lang/StackTraceElement; move-result-object v1 invoke-direct {v2, v3, v4, v1, p0}, Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;->(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/StackTraceElement;Lcom/google/firebase/crashlytics/internal/stacktrace/TrimmedThrowableData;)V move-object p0, v2 goto :goto_1 :cond_1 return-object p0 .end method