JexlException.smali
.class public Lorg/apache/commons/jexl3/JexlException;
.super Ljava/lang/RuntimeException;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/apache/commons/jexl3/JexlException$Continue;,
Lorg/apache/commons/jexl3/JexlException$Break;,
Lorg/apache/commons/jexl3/JexlException$Cancel;,
Lorg/apache/commons/jexl3/JexlException$Return;,
Lorg/apache/commons/jexl3/JexlException$Annotation;,
Lorg/apache/commons/jexl3/JexlException$Operator;,
Lorg/apache/commons/jexl3/JexlException$Method;,
Lorg/apache/commons/jexl3/JexlException$Property;,
Lorg/apache/commons/jexl3/JexlException$Variable;,
Lorg/apache/commons/jexl3/JexlException$Assignment;,
Lorg/apache/commons/jexl3/JexlException$Ambiguous;,
Lorg/apache/commons/jexl3/JexlException$Parsing;,
Lorg/apache/commons/jexl3/JexlException$Tokenization;
}
.end annotation
# static fields
.field private static final MAX_EXCHARLOC:I = 0x2a
# instance fields
.field private final transient info:Lorg/apache/commons/jexl3/JexlInfo;
.field private final transient mark:Lorg/apache/commons/jexl3/parser/JexlNode;
# direct methods
.method public constructor <init>(Lorg/apache/commons/jexl3/JexlInfo;Ljava/lang/String;Ljava/lang/Throwable;)V
.registers 4
if-eqz p2, :cond_3
goto :goto_5
:cond_3
const-string p2, ""
.line 7
:goto_5
invoke-static {p3}, Lorg/apache/commons/jexl3/JexlException;->unwrap(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object p3
invoke-direct {p0, p2, p3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
const/4 p2, 0x0
.line 8
iput-object p2, p0, Lorg/apache/commons/jexl3/JexlException;->mark:Lorg/apache/commons/jexl3/parser/JexlNode;
.line 9
iput-object p1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
return-void
.end method
.method public constructor <init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)V
.registers 4
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, p2, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public constructor <init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
.registers 4
if-eqz p2, :cond_3
goto :goto_5
:cond_3
const-string p2, ""
.line 2
:goto_5
invoke-static {p3}, Lorg/apache/commons/jexl3/JexlException;->unwrap(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object p3
invoke-direct {p0, p2, p3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
if-eqz p1, :cond_17
.line 3
iput-object p1, p0, Lorg/apache/commons/jexl3/JexlException;->mark:Lorg/apache/commons/jexl3/parser/JexlNode;
.line 4
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/JexlNode;->jexlInfo()Lorg/apache/commons/jexl3/JexlInfo;
move-result-object p1
iput-object p1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
goto :goto_1c
:cond_17
const/4 p1, 0x0
.line 5
iput-object p1, p0, Lorg/apache/commons/jexl3/JexlException;->mark:Lorg/apache/commons/jexl3/parser/JexlNode;
.line 6
iput-object p1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
:goto_1c
return-void
.end method
.method public static synthetic access$000(Lorg/apache/commons/jexl3/JexlInfo;Lorg/apache/commons/jexl3/parser/JavaccError;)Lorg/apache/commons/jexl3/JexlInfo;
.registers 2
invoke-static {p0, p1}, Lorg/apache/commons/jexl3/JexlException;->merge(Lorg/apache/commons/jexl3/JexlInfo;Lorg/apache/commons/jexl3/parser/JavaccError;)Lorg/apache/commons/jexl3/JexlInfo;
move-result-object p0
return-object p0
.end method
.method public static annotationError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
move-result-object p0
const-string v0, "error processing annotation \'"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p1, 0x27
.line 4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static clean(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"<X:",
"Ljava/lang/Throwable;",
">(TX;)TX;"
}
.end annotation
if-eqz p0, :cond_3a
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 3
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v1
array-length v2, v1
const/4 v3, 0x0
:goto_d
if-ge v3, v2, :cond_2b
aget-object v4, v1, v3
.line 4
invoke-virtual {v4}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object v5
const-string v6, "org.apache.commons.jexl3.internal"
.line 5
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-nez v6, :cond_28
const-string v6, "org.apache.commons.jexl3.parser"
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v5
if-nez v5, :cond_28
.line 6
invoke-virtual {v0, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_28
add-int/lit8 v3, v3, 0x1
goto :goto_d
.line 7
:cond_2b
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/StackTraceElement;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/StackTraceElement;
invoke-virtual {p0, v0}, Ljava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V
:cond_3a
return-object p0
.end method
.method private static errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
.registers 2
if-eqz p0, :cond_b
.line 1
invoke-virtual {p0}, Lorg/apache/commons/jexl3/parser/JexlNode;->jexlInfo()Lorg/apache/commons/jexl3/JexlInfo;
move-result-object v0
invoke-static {p0, v0}, Lorg/apache/commons/jexl3/JexlException;->getInfo(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlInfo;)Lorg/apache/commons/jexl3/JexlInfo;
move-result-object p0
goto :goto_c
:cond_b
const/4 p0, 0x0
.line 2
:goto_c
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
if-eqz p0, :cond_1b
.line 3
invoke-virtual {p0}, Lorg/apache/commons/jexl3/JexlInfo;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_20
:cond_1b
const-string p0, "?:"
.line 4
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_20
const/16 p0, 0x20
.line 5
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
return-object v0
.end method
.method public static getInfo(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlInfo;)Lorg/apache/commons/jexl3/JexlInfo;
.registers 3
if-eqz p1, :cond_15
if-eqz p0, :cond_15
.line 2
new-instance v0, Lorg/apache/commons/jexl3/internal/Debugger;
invoke-direct {v0}, Lorg/apache/commons/jexl3/internal/Debugger;-><init>()V
.line 3
invoke-virtual {v0, p0}, Lorg/apache/commons/jexl3/internal/Debugger;->debug(Lorg/apache/commons/jexl3/parser/JexlNode;)Z
move-result p0
if-eqz p0, :cond_15
.line 4
new-instance p0, Lorg/apache/commons/jexl3/JexlException$1;
invoke-direct {p0, p1, v0}, Lorg/apache/commons/jexl3/JexlException$1;-><init>(Lorg/apache/commons/jexl3/JexlInfo;Lorg/apache/commons/jexl3/internal/Debugger;)V
return-object p0
:cond_15
return-object p1
.end method
.method private static merge(Lorg/apache/commons/jexl3/JexlInfo;Lorg/apache/commons/jexl3/parser/JavaccError;)Lorg/apache/commons/jexl3/JexlInfo;
.registers 4
if-eqz p0, :cond_3
goto :goto_4
:cond_3
const/4 p0, 0x0
:goto_4
if-nez p1, :cond_7
return-object p0
:cond_7
if-nez p0, :cond_19
.line 1
new-instance p0, Lorg/apache/commons/jexl3/JexlInfo;
invoke-interface {p1}, Lorg/apache/commons/jexl3/parser/JavaccError;->getLine()I
move-result v0
invoke-interface {p1}, Lorg/apache/commons/jexl3/parser/JavaccError;->getColumn()I
move-result p1
const-string v1, ""
invoke-direct {p0, v1, v0, p1}, Lorg/apache/commons/jexl3/JexlInfo;-><init>(Ljava/lang/String;II)V
return-object p0
.line 2
:cond_19
new-instance v0, Lorg/apache/commons/jexl3/JexlInfo;
invoke-virtual {p0}, Lorg/apache/commons/jexl3/JexlInfo;->getName()Ljava/lang/String;
move-result-object p0
invoke-interface {p1}, Lorg/apache/commons/jexl3/parser/JavaccError;->getLine()I
move-result v1
invoke-interface {p1}, Lorg/apache/commons/jexl3/parser/JavaccError;->getColumn()I
move-result p1
invoke-direct {v0, p0, v1, p1}, Lorg/apache/commons/jexl3/JexlInfo;-><init>(Ljava/lang/String;II)V
return-object v0
.end method
.method public static methodError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
move-result-object p0
const-string v0, "unsolvable function/method \'"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p1, 0x27
.line 4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static operatorError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
move-result-object p0
const-string v0, "error calling operator \'"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p1, 0x27
.line 4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static propertyError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
move-result-object p0
const-string v0, "unsolvable property \'"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p1, 0x27
.line 4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 5
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static unwrap(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.registers 2
.line 1
instance-of v0, p0, Ljava/lang/reflect/InvocationTargetException;
if-eqz v0, :cond_9
.line 2
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p0
return-object p0
.line 3
:cond_9
instance-of v0, p0, Ljava/lang/reflect/UndeclaredThrowableException;
if-eqz v0, :cond_11
.line 4
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p0
:cond_11
return-object p0
.end method
.method public static variableError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Z)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->errorAt(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/StringBuilder;
move-result-object p0
if-eqz p2, :cond_c
const-string p2, "undefined"
.line 2
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_11
:cond_c
const-string p2, "null value"
.line 3
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_11
const-string p2, " variable "
.line 4
invoke-static {p0, p2, p1}, Landroid/support/v4/media/session/b;->d(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public clean()Lorg/apache/commons/jexl3/JexlException;
.registers 2
.line 1
invoke-static {p0}, Lorg/apache/commons/jexl3/JexlException;->clean(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
check-cast v0, Lorg/apache/commons/jexl3/JexlException;
return-object v0
.end method
.method public detailedMessage()Ljava/lang/String;
.registers 2
invoke-super {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getInfo()Lorg/apache/commons/jexl3/JexlInfo;
.registers 3
.line 1
iget-object v0, p0, Lorg/apache/commons/jexl3/JexlException;->mark:Lorg/apache/commons/jexl3/parser/JexlNode;
iget-object v1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
invoke-static {v0, v1}, Lorg/apache/commons/jexl3/JexlException;->getInfo(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlInfo;)Lorg/apache/commons/jexl3/JexlInfo;
move-result-object v0
return-object v0
.end method
.method public getMessage()Ljava/lang/String;
.registers 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
iget-object v1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
if-eqz v1, :cond_11
.line 3
invoke-virtual {v1}, Lorg/apache/commons/jexl3/JexlInfo;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_16
:cond_11
const-string v1, "?:"
.line 4
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_16
const/16 v1, 0x20
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 6
invoke-virtual {p0}, Lorg/apache/commons/jexl3/JexlException;->detailedMessage()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object v1
.line 8
instance-of v1, v1, Lorg/apache/commons/jexl3/JexlArithmetic$NullOperand;
if-eqz v1, :cond_2f
const-string v1, " caused by null operand"
.line 9
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 10
:cond_2f
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public parserError(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 7
.line 1
invoke-virtual {p2}, Ljava/lang/String;->length()I
move-result v0
const/16 v1, 0x2a
if-ge v0, v1, :cond_11
const-string v0, " error in \'"
const-string v1, "\'"
.line 2
invoke-static {p1, v0, p2, v1}, Landroidx/appcompat/k;->c(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.line 3
:cond_11
iget-object v1, p0, Lorg/apache/commons/jexl3/JexlException;->info:Lorg/apache/commons/jexl3/JexlInfo;
invoke-virtual {v1}, Lorg/apache/commons/jexl3/JexlInfo;->getColumn()I
move-result v1
add-int/lit8 v2, v1, 0x15
add-int/lit8 v1, v1, -0x15
if-gez v1, :cond_1f
sub-int/2addr v2, v1
const/4 v1, 0x0
:cond_1f
const-string v3, " error near \'... "
.line 4
invoke-static {p1, v3}, Landroidx/appcompat/p;->d(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
if-le v2, v0, :cond_28
goto :goto_29
:cond_28
move v0, v2
.line 5
:goto_29
invoke-virtual {p2, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p2, " ...\'"
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method