Interpreter.smali
.class public Lorg/apache/commons/jexl3/internal/Interpreter;
.super Lorg/apache/commons/jexl3/internal/InterpreterBase;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/apache/commons/jexl3/internal/Interpreter$ContextFuncall;,
Lorg/apache/commons/jexl3/internal/Interpreter$ArithmeticFuncall;,
Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;
}
.end annotation
# instance fields
.field public final cache:Z
.field public final frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
.field public final functions:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field public functors:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field public final ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
.field public final operators:Lorg/apache/commons/jexl3/internal/Operators;
# direct methods
.method public constructor <init>(Lorg/apache/commons/jexl3/internal/Engine;Lorg/apache/commons/jexl3/JexlContext;Lorg/apache/commons/jexl3/internal/Scope$Frame;)V
.registers 4
.line 1
invoke-direct {p0, p1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;-><init>(Lorg/apache/commons/jexl3/internal/Engine;Lorg/apache/commons/jexl3/JexlContext;)V
.line 2
new-instance p1, Lorg/apache/commons/jexl3/internal/Operators;
invoke-direct {p1, p0}, Lorg/apache/commons/jexl3/internal/Operators;-><init>(Lorg/apache/commons/jexl3/internal/Interpreter;)V
iput-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
.line 3
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
iget-object p2, p1, Lorg/apache/commons/jexl3/internal/Engine;->cache:Lorg/apache/commons/jexl3/internal/SoftCache;
if-eqz p2, :cond_12
const/4 p2, 0x1
goto :goto_13
:cond_12
const/4 p2, 0x0
:goto_13
iput-boolean p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
.line 4
iput-object p3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
.line 5
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of p3, p2, Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
if-eqz p3, :cond_22
.line 6
check-cast p2, Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
goto :goto_26
.line 7
:cond_22
sget-object p2, Lorg/apache/commons/jexl3/JexlEngine;->EMPTY_NS:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
.line 8
:goto_26
iget-object p1, p1, Lorg/apache/commons/jexl3/internal/Engine;->functions:Ljava/util/Map;
iput-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functions:Ljava/util/Map;
const/4 p1, 0x0
.line 9
iput-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
return-void
.end method
.method public constructor <init>(Lorg/apache/commons/jexl3/internal/Interpreter;Lorg/apache/commons/jexl3/JexlArithmetic;)V
.registers 3
.line 10
invoke-direct {p0, p1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;-><init>(Lorg/apache/commons/jexl3/internal/InterpreterBase;Lorg/apache/commons/jexl3/JexlArithmetic;)V
.line 11
iget-object p2, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
.line 12
iget-boolean p2, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
iput-boolean p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
.line 13
iget-object p2, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
.line 14
iget-object p2, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
.line 15
iget-object p2, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->functions:Ljava/util/Map;
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functions:Ljava/util/Map;
.line 16
iget-object p1, p1, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
iput-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
return-void
.end method
.method public static synthetic access$000(Lorg/apache/commons/jexl3/internal/Interpreter;Ljava/lang/Object;Z[Ljava/lang/Object;)[Ljava/lang/Object;
.registers 4
invoke-direct {p0, p1, p2, p3}, Lorg/apache/commons/jexl3/internal/Interpreter;->functionArguments(Ljava/lang/Object;Z[Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method private functionArgument(ZLjava/lang/Object;)Ljava/lang/Object;
.registers 3
if-eqz p1, :cond_e
instance-of p1, p2, Ljava/lang/Number;
if-eqz p1, :cond_e
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
check-cast p2, Ljava/lang/Number;
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrow(Ljava/lang/Number;)Ljava/lang/Number;
move-result-object p2
:cond_e
return-object p2
.end method
.method private functionArguments(Ljava/lang/Object;Z[Ljava/lang/Object;)[Ljava/lang/Object;
.registers 7
if-eqz p1, :cond_2d
.line 1
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
if-ne p1, v0, :cond_7
goto :goto_2d
.line 2
:cond_7
array-length v0, p3
const/4 v1, 0x1
add-int/2addr v0, v1
new-array v0, v0, [Ljava/lang/Object;
const/4 v2, 0x0
if-eqz p2, :cond_26
.line 3
invoke-direct {p0, v1, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->functionArgument(ZLjava/lang/Object;)Ljava/lang/Object;
move-result-object p1
aput-object p1, v0, v2
const/4 p1, 0x1
.line 4
:goto_16
array-length p2, p3
if-gt p1, p2, :cond_2c
add-int/lit8 p2, p1, -0x1
.line 5
aget-object p2, p3, p2
invoke-direct {p0, v1, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->functionArgument(ZLjava/lang/Object;)Ljava/lang/Object;
move-result-object p2
aput-object p2, v0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_16
.line 6
:cond_26
aput-object p1, v0, v2
.line 7
array-length p1, p3
invoke-static {p3, v2, v0, v1, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_2c
return-object v0
:cond_2d
:goto_2d
if-eqz p2, :cond_34
.line 8
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {p1, p3}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrowArguments([Ljava/lang/Object;)Z
:cond_34
return-object p3
.end method
# virtual methods
.method public call(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/ASTArguments;)Ljava/lang/Object;
.registers 14
.line 1
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-nez v0, :cond_13b
const/4 v0, 0x0
.line 2
invoke-virtual {p0, p4, v0}, Lorg/apache/commons/jexl3/internal/Interpreter;->visit(Lorg/apache/commons/jexl3/parser/ASTArguments;Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p4
.line 3
instance-of v1, p3, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
if-eqz v1, :cond_1c
.line 4
check-cast p3, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
.line 5
invoke-virtual {p3}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result v1
.line 6
invoke-virtual {p3}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object p3
move v2, v1
move-object v1, v0
goto :goto_30
.line 7
:cond_1c
instance-of v1, p3, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
if-eqz v1, :cond_2a
.line 8
check-cast p3, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
invoke-virtual {p3}, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;->getName()Ljava/lang/String;
move-result-object p3
const/4 v1, -0x1
move-object v1, v0
const/4 v2, -0x1
goto :goto_30
:cond_2a
if-eqz p3, :cond_134
const/4 v1, -0x2
move-object v1, p3
move-object p3, v0
const/4 v2, -0x2
.line 9
:goto_30
:try_start_30
iget-boolean v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
const/4 v4, 0x1
const/4 v5, 0x0
if-eqz p3, :cond_71
.line 10
iget-object v6, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
if-ne p2, v6, :cond_5c
if-ltz v2, :cond_44
.line 11
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {v1, v2}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->get(I)Ljava/lang/Object;
move-result-object v1
:goto_42
const/4 v2, 0x1
goto :goto_52
.line 12
:cond_44
invoke-interface {v6, p3}, Lorg/apache/commons/jexl3/JexlContext;->has(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_51
.line 13
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {v1, p3}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
goto :goto_42
:cond_51
const/4 v2, 0x0
:goto_52
if-eqz v2, :cond_5c
if-nez v1, :cond_5b
.line 14
invoke-virtual {p0, p1, p3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_5b
const/4 v3, 0x0
:cond_5c
if-eqz v3, :cond_71
.line 15
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetValue()Ljava/lang/Object;
move-result-object v2
.line 16
instance-of v6, v2, Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;
if-eqz v6, :cond_71
.line 17
check-cast v2, Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;
invoke-virtual {v2, p0, p3, p2, p4}, Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;->tryInvoke(Lorg/apache/commons/jexl3/internal/Interpreter;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 18
sget-object v6, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v6, v2, :cond_71
return-object v2
:cond_71
move-object v2, v1
move-object v1, p2
:goto_73
if-nez v2, :cond_ad
.line 19
iget-object v6, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v6, p2, p3, p4}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v6
if-eqz v6, :cond_8c
if-eqz v3, :cond_11b
.line 20
invoke-interface {v6}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->isCacheable()Z
move-result v1
if-eqz v1, :cond_11b
.line 21
new-instance v0, Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;
invoke-direct {v0, v6, v5}, Lorg/apache/commons/jexl3/internal/Interpreter$Funcall;-><init>(Lorg/apache/commons/jexl3/introspection/JexlMethod;Z)V
goto/16 :goto_11b
.line 22
:cond_8c
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
if-ne p2, v7, :cond_9f
.line 23
invoke-virtual {p0, v0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->resolveNamespace(Ljava/lang/String;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object v7
.line 24
iget-object v8, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
if-ne v7, v8, :cond_9a
goto/16 :goto_11b
:cond_9a
if-eqz v7, :cond_ad
move-object v1, v0
move-object p2, v7
goto :goto_73
:cond_9f
if-nez v5, :cond_ad
.line 25
iget-object v6, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v6, p2, p3}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getPropertyGet(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;
move-result-object v6
if-eqz v6, :cond_ad
.line 26
invoke-interface {v6, p2, p3}, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;->tryInvoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
:cond_ad
if-eqz v2, :cond_d6
.line 27
instance-of v1, v2, Lorg/apache/commons/jexl3/JexlScript;
if-eqz v1, :cond_bc
.line 28
check-cast v2, Lorg/apache/commons/jexl3/JexlScript;
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {v2, p2, p4}, Lorg/apache/commons/jexl3/JexlScript;->execute(Lorg/apache/commons/jexl3/JexlContext;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 29
:cond_bc
instance-of v1, v2, Lorg/apache/commons/jexl3/introspection/JexlMethod;
if-eqz v1, :cond_c7
.line 30
check-cast v2, Lorg/apache/commons/jexl3/introspection/JexlMethod;
invoke-interface {v2, p2, p4}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 31
:cond_c7
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
const-string v3, "call"
invoke-interface {v1, v2, v3, p4}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v6
if-eqz v6, :cond_11b
.line 32
invoke-interface {v6, v2, p4}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 33
:cond_d6
invoke-direct {p0, v1, v5, p4}, Lorg/apache/commons/jexl3/internal/Interpreter;->functionArguments(Ljava/lang/Object;Z[Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v6
.line 34
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
iget-object v8, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {v7, v8, p3, v6}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v7
if-eqz v7, :cond_f6
.line 35
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
if-eqz v3, :cond_f3
.line 36
invoke-interface {v7}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->isCacheable()Z
move-result p4
if-eqz p4, :cond_f3
.line 37
new-instance v0, Lorg/apache/commons/jexl3/internal/Interpreter$ContextFuncall;
invoke-direct {v0, v7, v5}, Lorg/apache/commons/jexl3/internal/Interpreter$ContextFuncall;-><init>(Lorg/apache/commons/jexl3/introspection/JexlMethod;Z)V
:cond_f3
:goto_f3
move-object p4, v6
:cond_f4
move-object v6, v7
goto :goto_11b
.line 38
:cond_f6
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
iget-object v8, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-interface {v7, v8, p3, v6}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getMethod(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v7
if-eqz v7, :cond_110
.line 39
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
if-eqz v3, :cond_f3
.line 40
invoke-interface {v7}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->isCacheable()Z
move-result p4
if-eqz p4, :cond_f3
.line 41
new-instance v0, Lorg/apache/commons/jexl3/internal/Interpreter$ArithmeticFuncall;
invoke-direct {v0, v7, v5}, Lorg/apache/commons/jexl3/internal/Interpreter$ArithmeticFuncall;-><init>(Lorg/apache/commons/jexl3/introspection/JexlMethod;Z)V
goto :goto_f3
.line 42
:cond_110
iget-object v5, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v5, p4}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrowArguments([Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_f4
const/4 v5, 0x1
goto/16 :goto_73
:cond_11b
:goto_11b
if-eqz v6, :cond_127
.line 43
invoke-interface {v6, p2, p4}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
if-eqz v0, :cond_126
.line 44
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtSetValue(Ljava/lang/Object;)V
:cond_126
return-object p2
.line 45
:cond_127
invoke-virtual {p0, p1, p3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
:try_end_12b
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_30 .. :try_end_12b} :catch_132
.catch Ljava/lang/Exception; {:try_start_30 .. :try_end_12b} :catch_12c
return-object p1
:catch_12c
move-exception p2
.line 46
invoke-virtual {p0, p1, p3, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->invocationException(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Exception;)Lorg/apache/commons/jexl3/JexlException;
move-result-object p1
throw p1
:catch_132
move-exception p1
.line 47
throw p1
:cond_134
const-string p2, "?"
.line 48
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 49
:cond_13b
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
.registers 22
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v0, p2
.line 1
invoke-virtual/range {p0 .. p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v3
if-nez v3, :cond_1d3
const/4 v3, 0x0
.line 2
invoke-virtual {v2, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v4
const/4 v5, 0x1
.line 3
invoke-virtual {v2, v5}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v6
move-object/from16 v7, p3
invoke-virtual {v6, v1, v7}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
const/4 v7, -0x1
.line 4
invoke-virtual {v4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v8
sub-int/2addr v8, v5
.line 5
instance-of v9, v4, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
const-string v10, "context is readonly"
const/4 v11, 0x2
if-eqz v9, :cond_a9
.line 6
move-object v7, v4
check-cast v7, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
.line 7
invoke-virtual {v7}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result v9
if-ltz v9, :cond_65
if-gez v8, :cond_5d
if-eqz v0, :cond_4d
.line 8
iget-object v4, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {v4, v9}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->get(I)Ljava/lang/Object;
move-result-object v4
.line 9
iget-object v7, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
new-array v8, v11, [Ljava/lang/Object;
aput-object v4, v8, v3
aput-object v6, v8, v5
invoke-virtual {v7, v2, v0, v8}, Lorg/apache/commons/jexl3/internal/Operators;->tryAssignOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 10
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ASSIGN:Lorg/apache/commons/jexl3/JexlOperator;
if-ne v6, v0, :cond_4d
return-object v4
.line 11
:cond_4d
iget-object v0, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {v0, v9, v6}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->set(ILjava/lang/Object;)V
.line 12
instance-of v0, v6, Lorg/apache/commons/jexl3/internal/Closure;
if-eqz v0, :cond_5c
.line 13
move-object v0, v6
check-cast v0, Lorg/apache/commons/jexl3/internal/Closure;
invoke-virtual {v0, v9, v6}, Lorg/apache/commons/jexl3/internal/Closure;->setHoisted(ILjava/lang/Object;)V
:cond_5c
return-object v6
.line 14
:cond_5d
iget-object v7, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {v7, v9}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->get(I)Ljava/lang/Object;
move-result-object v7
:goto_63
const/4 v13, 0x0
goto :goto_a3
:cond_65
if-gez v8, :cond_95
if-eqz v0, :cond_84
.line 15
iget-object v4, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v7}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v8
invoke-interface {v4, v8}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v4
.line 16
iget-object v8, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
new-array v9, v11, [Ljava/lang/Object;
aput-object v4, v9, v3
aput-object v6, v9, v5
invoke-virtual {v8, v2, v0, v9}, Lorg/apache/commons/jexl3/internal/Operators;->tryAssignOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 17
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ASSIGN:Lorg/apache/commons/jexl3/JexlOperator;
if-ne v6, v0, :cond_84
return-object v4
.line 18
:cond_84
:try_start_84
iget-object v0, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v7}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v3
invoke-interface {v0, v3, v6}, Lorg/apache/commons/jexl3/JexlContext;->set(Ljava/lang/String;Ljava/lang/Object;)V
:try_end_8d
.catch Ljava/lang/UnsupportedOperationException; {:try_start_84 .. :try_end_8d} :catch_8e
return-object v6
:catch_8e
move-exception v0
.line 19
new-instance v3, Lorg/apache/commons/jexl3/JexlException;
invoke-direct {v3, v2, v10, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
.line 20
:cond_95
iget-object v13, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v7}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v7
invoke-interface {v13, v7}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v7
if-eqz v7, :cond_a2
goto :goto_63
:cond_a2
const/4 v13, 0x1
:goto_a3
move/from16 v17, v9
move-object v9, v7
move/from16 v7, v17
goto :goto_af
.line 21
:cond_a9
instance-of v9, v4, Lorg/apache/commons/jexl3/parser/ASTReference;
if-eqz v9, :cond_1cb
const/4 v9, 0x0
const/4 v13, 0x1
:goto_af
if-ltz v7, :cond_b3
const/4 v7, 0x1
goto :goto_b4
:cond_b3
const/4 v7, 0x0
:goto_b4
const/4 v14, 0x0
const/4 v15, 0x0
const/16 v16, 0x1
:goto_b8
const/16 v12, 0x2e
const-string v5, "illegal assignment form"
if-ge v7, v8, :cond_11d
.line 22
invoke-virtual {v4, v7}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v15
.line 23
invoke-virtual {v15, v1, v9}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
if-eqz v9, :cond_ca
const/4 v13, 0x0
goto :goto_111
:cond_ca
if-eqz v13, :cond_117
if-nez v14, :cond_e8
.line 24
invoke-virtual {v4, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v11
.line 25
instance-of v3, v11, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
if-eqz v3, :cond_11d
check-cast v11, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
invoke-virtual {v11}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result v3
if-gez v3, :cond_11d
.line 26
new-instance v3, Ljava/lang/StringBuilder;
invoke-virtual {v11}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v5
invoke-direct {v3, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
move-object v14, v3
:cond_e8
move/from16 v3, v16
:goto_ea
if-gt v3, v7, :cond_104
.line 27
invoke-virtual {v4, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v5
.line 28
instance-of v5, v5, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
if-eqz v5, :cond_104
.line 29
invoke-virtual {v14, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 30
move-object v5, v15
check-cast v5, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
invoke-virtual {v5}, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;->getName()Ljava/lang/String;
move-result-object v5
invoke-virtual {v14, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v3, v3, 0x1
goto :goto_ea
.line 31
:cond_104
iget-object v5, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-interface {v5, v9}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v5
move/from16 v16, v3
move-object v9, v5
:goto_111
add-int/lit8 v7, v7, 0x1
const/4 v3, 0x0
const/4 v5, 0x1
const/4 v11, 0x2
goto :goto_b8
.line 32
:cond_117
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
invoke-direct {v0, v15, v5}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)V
throw v0
.line 33
:cond_11d
invoke-virtual {v4, v8}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
.line 34
instance-of v4, v3, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
if-eqz v4, :cond_16f
.line 35
move-object v4, v3
check-cast v4, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
invoke-virtual {v4}, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;->getIdentifier()Ljava/lang/Object;
move-result-object v4
if-eqz v14, :cond_16d
if-nez v9, :cond_16d
if-lez v8, :cond_135
.line 36
invoke-virtual {v14, v12}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 37
:cond_135
invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz v0, :cond_15c
.line 38
iget-object v3, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v3, v4}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 39
iget-object v4, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
const/4 v7, 0x0
aput-object v3, v5, v7
const/4 v7, 0x1
aput-object v6, v5, v7
invoke-virtual {v4, v2, v0, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryAssignOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 40
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ASSIGN:Lorg/apache/commons/jexl3/JexlOperator;
if-ne v6, v0, :cond_15c
return-object v3
.line 41
:cond_15c
:try_start_15c
iget-object v0, v1, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-interface {v0, v3, v6}, Lorg/apache/commons/jexl3/JexlContext;->set(Ljava/lang/String;Ljava/lang/Object;)V
:try_end_165
.catch Ljava/lang/UnsupportedOperationException; {:try_start_15c .. :try_end_165} :catch_166
return-object v6
:catch_166
move-exception v0
.line 42
new-instance v3, Lorg/apache/commons/jexl3/JexlException;
invoke-direct {v3, v2, v10, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
:cond_16d
const/4 v8, 0x0
goto :goto_195
.line 43
:cond_16f
instance-of v4, v3, Lorg/apache/commons/jexl3/parser/ASTArrayAccess;
if-eqz v4, :cond_1c5
.line 44
invoke-virtual {v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v4
const/4 v5, 0x1
sub-int/2addr v4, v5
const/4 v7, 0x0
:goto_17a
if-ge v7, v4, :cond_18c
.line 45
invoke-virtual {v3, v7}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v5
const/4 v8, 0x0
.line 46
invoke-virtual {v5, v1, v8}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v10
.line 47
invoke-virtual {v1, v9, v10, v5}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object v9
add-int/lit8 v7, v7, 0x1
goto :goto_17a
:cond_18c
const/4 v8, 0x0
.line 48
invoke-virtual {v3, v4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
.line 49
invoke-virtual {v3, v1, v8}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
:goto_195
if-nez v4, :cond_19e
const-string v0, "<?>.<null>"
.line 50
invoke-virtual {v1, v3, v0, v8}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableProperty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
return-object v0
:cond_19e
if-nez v9, :cond_1a7
const-string v0, "<null>.<?>"
.line 51
invoke-virtual {v1, v15, v0, v8}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableProperty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
return-object v0
:cond_1a7
if-eqz v0, :cond_1c1
.line 52
invoke-virtual {v1, v9, v4, v3}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object v5
.line 53
iget-object v7, v1, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const/4 v8, 0x2
new-array v8, v8, [Ljava/lang/Object;
const/4 v10, 0x0
aput-object v5, v8, v10
const/4 v10, 0x1
aput-object v6, v8, v10
invoke-virtual {v7, v2, v0, v8}, Lorg/apache/commons/jexl3/internal/Operators;->tryAssignOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
.line 54
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ASSIGN:Lorg/apache/commons/jexl3/JexlOperator;
if-ne v6, v0, :cond_1c1
return-object v5
.line 55
:cond_1c1
invoke-virtual {v1, v9, v4, v6, v3}, Lorg/apache/commons/jexl3/internal/Interpreter;->setAttribute(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)V
return-object v6
.line 56
:cond_1c5
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
invoke-direct {v0, v15, v5}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)V
throw v0
.line 57
:cond_1cb
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v2, "illegal assignment form 0"
invoke-direct {v0, v4, v2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)V
throw v0
.line 58
:cond_1d3
new-instance v0, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {v0, v2}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw v0
.end method
.method public getAttribute(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, v0}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
.registers 8
if-eqz p1, :cond_a2
.line 2
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-nez v0, :cond_9c
if-eqz p3, :cond_15
.line 3
invoke-virtual {p3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetParent()Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
instance-of v0, v0, Lorg/apache/commons/jexl3/parser/ASTArrayAccess;
if-eqz v0, :cond_15
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ARRAY_GET:Lorg/apache/commons/jexl3/JexlOperator;
goto :goto_17
:cond_15
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->PROPERTY_GET:Lorg/apache/commons/jexl3/JexlOperator;
.line 4
:goto_17
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
aput-object p2, v2, v3
invoke-virtual {v1, p3, v0, v2}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 5
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v1, v2, :cond_2b
return-object v1
:cond_2b
const/4 v1, 0x0
if-eqz p3, :cond_47
.line 6
:try_start_2e
iget-boolean v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v2, :cond_47
.line 7
invoke-virtual {p3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetValue()Ljava/lang/Object;
move-result-object v2
.line 8
instance-of v3, v2, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;
if-eqz v3, :cond_47
.line 9
check-cast v2, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;
.line 10
invoke-interface {v2, p1, p2}, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;->tryInvoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 11
invoke-interface {v2, v3}, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;->tryFailed(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_47
return-object v3
.line 12
:cond_47
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v2, v0, p1}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getResolvers(Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
.line 13
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v2, v0, p1, p2}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getPropertyGet(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;
move-result-object v0
if-eqz v0, :cond_69
.line 14
invoke-interface {v0, p1}, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz p3, :cond_68
.line 15
iget-boolean v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v3, :cond_68
invoke-interface {v0}, Lorg/apache/commons/jexl3/introspection/JexlPropertyGet;->isCacheable()Z
move-result v3
if-eqz v3, :cond_68
.line 16
invoke-virtual {p3, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtSetValue(Ljava/lang/Object;)V
:try_end_68
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_68} :catch_6b
:cond_68
return-object v2
:cond_69
move-object v0, v1
goto :goto_6c
:catch_6b
move-exception v0
:goto_6c
if-eqz p3, :cond_79
if-eqz p2, :cond_74
.line 17
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
.line 18
:cond_74
invoke-virtual {p0, p3, v1, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableProperty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_79
const-string p3, "unable to get object property, class: "
.line 19
invoke-static {p3}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p3
.line 20
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ", property: "
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 21
new-instance p2, Ljava/lang/UnsupportedOperationException;
invoke-direct {p2, p1, v0}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.line 22
:cond_9c
new-instance p1, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p1, p3}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p1
.line 23
:cond_a2
new-instance p1, Lorg/apache/commons/jexl3/JexlException;
const-string p2, "object is null"
invoke-direct {p1, p3, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)V
throw p1
.end method
.method public interpret(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 1
:try_start_1
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v1
if-nez v1, :cond_58
.line 2
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of v2, v1, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz v2, :cond_16
.line 3
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
check-cast v1, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
invoke-virtual {v2, v1}, Lorg/apache/commons/jexl3/internal/Engine;->putThreadLocal(Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;)Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
move-result-object v1
:try_end_15
.catch Lorg/apache/commons/jexl3/JexlException$Return; {:try_start_1 .. :try_end_15} :catch_101
.catch Lorg/apache/commons/jexl3/JexlException$Cancel; {:try_start_1 .. :try_end_15} :catch_b5
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_1 .. :try_end_15} :catch_62
.catchall {:try_start_1 .. :try_end_15} :catchall_5e
goto :goto_17
:cond_16
move-object v1, v0
.line 4
:goto_17
:try_start_17
invoke-virtual {p1, p0, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_1b
.catch Lorg/apache/commons/jexl3/JexlException$Return; {:try_start_17 .. :try_end_1b} :catch_55
.catch Lorg/apache/commons/jexl3/JexlException$Cancel; {:try_start_17 .. :try_end_1b} :catch_53
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_17 .. :try_end_1b} :catch_51
.catchall {:try_start_17 .. :try_end_1b} :catchall_13d
.line 5
monitor-enter p0
.line 6
:try_start_1c
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz v2, :cond_41
.line 7
sget-object v3, Lorg/apache/commons/jexl3/internal/InterpreterBase;->AUTOCLOSEABLE:Ljava/lang/Class;
if-eqz v3, :cond_3a
.line 8
invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v2
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_2c
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_3a
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 9
invoke-virtual {p0, v3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_2c
.line 10
:cond_3a
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->clear()V
.line 11
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 12
:cond_41
monitor-exit p0
:try_end_42
.catchall {:try_start_1c .. :try_end_42} :catchall_4e
.line 13
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of v0, v0, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz v0, :cond_4d
.line 14
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
invoke-virtual {v0, v1}, Lorg/apache/commons/jexl3/internal/Engine;->putThreadLocal(Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;)Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
:cond_4d
return-object p1
:catchall_4e
move-exception p1
.line 15
:try_start_4f
monitor-exit p0
:try_end_50
.catchall {:try_start_4f .. :try_end_50} :catchall_4e
throw p1
:catch_51
move-exception p1
goto :goto_64
:catch_53
move-exception p1
goto :goto_b7
:catch_55
move-exception p1
goto/16 :goto_103
.line 16
:cond_58
:try_start_58
new-instance v1, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {v1, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw v1
:try_end_5e
.catch Lorg/apache/commons/jexl3/JexlException$Return; {:try_start_58 .. :try_end_5e} :catch_101
.catch Lorg/apache/commons/jexl3/JexlException$Cancel; {:try_start_58 .. :try_end_5e} :catch_b5
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_58 .. :try_end_5e} :catch_62
.catchall {:try_start_58 .. :try_end_5e} :catchall_5e
:catchall_5e
move-exception p1
move-object v1, v0
goto/16 :goto_13e
:catch_62
move-exception p1
move-object v1, v0
.line 17
:goto_64
:try_start_64
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isSilent()Z
move-result v2
if-eqz v2, :cond_b0
.line 18
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->logger:Lorg/apache/commons/logging/Log;
invoke-interface {v2}, Lorg/apache/commons/logging/Log;->isWarnEnabled()Z
move-result v2
if-eqz v2, :cond_7f
.line 19
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->logger:Lorg/apache/commons/logging/Log;
invoke-virtual {p1}, Lorg/apache/commons/jexl3/JexlException;->getMessage()Ljava/lang/String;
move-result-object v3
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p1
invoke-interface {v2, v3, p1}, Lorg/apache/commons/logging/Log;->warn(Ljava/lang/Object;Ljava/lang/Throwable;)V
:try_end_7f
.catchall {:try_start_64 .. :try_end_7f} :catchall_13d
.line 20
:cond_7f
monitor-enter p0
.line 21
:try_start_80
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz p1, :cond_a5
.line 22
sget-object v2, Lorg/apache/commons/jexl3/internal/InterpreterBase;->AUTOCLOSEABLE:Ljava/lang/Class;
if-eqz v2, :cond_9e
.line 23
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object p1
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_90
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_9e
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 24
invoke-virtual {p0, v2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_90
.line 25
:cond_9e
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {p1}, Ljava/util/Map;->clear()V
.line 26
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 27
:cond_a5
monitor-exit p0
:try_end_a6
.catchall {:try_start_80 .. :try_end_a6} :catchall_ad
.line 28
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of p1, p1, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz p1, :cond_f8
goto :goto_f3
:catchall_ad
move-exception p1
.line 29
:try_start_ae
monitor-exit p0
:try_end_af
.catchall {:try_start_ae .. :try_end_af} :catchall_ad
throw p1
.line 30
:cond_b0
:try_start_b0
invoke-virtual {p1}, Lorg/apache/commons/jexl3/JexlException;->clean()Lorg/apache/commons/jexl3/JexlException;
move-result-object p1
throw p1
:catch_b5
move-exception p1
move-object v1, v0
.line 31
:goto_b7
iget-boolean v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->cancelled:Z
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
move-result v3
or-int/2addr v2, v3
iput-boolean v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->cancelled:Z
.line 32
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancellable()Z
move-result v2
:try_end_c4
.catchall {:try_start_b0 .. :try_end_c4} :catchall_13d
if-nez v2, :cond_fc
.line 33
monitor-enter p0
.line 34
:try_start_c7
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz p1, :cond_ec
.line 35
sget-object v2, Lorg/apache/commons/jexl3/internal/InterpreterBase;->AUTOCLOSEABLE:Ljava/lang/Class;
if-eqz v2, :cond_e5
.line 36
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object p1
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_d7
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_e5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 37
invoke-virtual {p0, v2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_d7
.line 38
:cond_e5
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {p1}, Ljava/util/Map;->clear()V
.line 39
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 40
:cond_ec
monitor-exit p0
:try_end_ed
.catchall {:try_start_c7 .. :try_end_ed} :catchall_f9
.line 41
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of p1, p1, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz p1, :cond_f8
.line 42
:goto_f3
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/internal/Engine;->putThreadLocal(Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;)Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
:cond_f8
return-object v0
:catchall_f9
move-exception p1
.line 43
:try_start_fa
monitor-exit p0
:try_end_fb
.catchall {:try_start_fa .. :try_end_fb} :catchall_f9
throw p1
.line 44
:cond_fc
:try_start_fc
invoke-virtual {p1}, Lorg/apache/commons/jexl3/JexlException;->clean()Lorg/apache/commons/jexl3/JexlException;
move-result-object p1
throw p1
:catch_101
move-exception p1
move-object v1, v0
.line 45
:goto_103
invoke-virtual {p1}, Lorg/apache/commons/jexl3/JexlException$Return;->getValue()Ljava/lang/Object;
move-result-object p1
:try_end_107
.catchall {:try_start_fc .. :try_end_107} :catchall_13d
.line 46
monitor-enter p0
.line 47
:try_start_108
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz v2, :cond_12d
.line 48
sget-object v3, Lorg/apache/commons/jexl3/internal/InterpreterBase;->AUTOCLOSEABLE:Ljava/lang/Class;
if-eqz v3, :cond_126
.line 49
invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v2
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_118
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_126
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 50
invoke-virtual {p0, v3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_118
.line 51
:cond_126
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->clear()V
.line 52
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 53
:cond_12d
monitor-exit p0
:try_end_12e
.catchall {:try_start_108 .. :try_end_12e} :catchall_13a
.line 54
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of v0, v0, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz v0, :cond_139
.line 55
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
invoke-virtual {v0, v1}, Lorg/apache/commons/jexl3/internal/Engine;->putThreadLocal(Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;)Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
:cond_139
return-object p1
:catchall_13a
move-exception p1
.line 56
:try_start_13b
monitor-exit p0
:try_end_13c
.catchall {:try_start_13b .. :try_end_13c} :catchall_13a
throw p1
:catchall_13d
move-exception p1
.line 57
:goto_13e
monitor-enter p0
.line 58
:try_start_13f
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz v2, :cond_164
.line 59
sget-object v3, Lorg/apache/commons/jexl3/internal/InterpreterBase;->AUTOCLOSEABLE:Ljava/lang/Class;
if-eqz v3, :cond_15d
.line 60
invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v2
invoke-interface {v2}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_14f
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_15d
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 61
invoke-virtual {p0, v3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_14f
.line 62
:cond_15d
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {v2}, Ljava/util/Map;->clear()V
.line 63
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 64
:cond_164
monitor-exit p0
:try_end_165
.catchall {:try_start_13f .. :try_end_165} :catchall_171
.line 65
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of v0, v0, Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
if-eqz v0, :cond_170
.line 66
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
invoke-virtual {v0, v1}, Lorg/apache/commons/jexl3/internal/Engine;->putThreadLocal(Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;)Lorg/apache/commons/jexl3/JexlContext$ThreadLocal;
:cond_170
throw p1
:catchall_171
move-exception p1
.line 67
:try_start_172
monitor-exit p0
:try_end_173
.catchall {:try_start_172 .. :try_end_173} :catchall_171
throw p1
.end method
.method public isLocalVariable(Lorg/apache/commons/jexl3/parser/ASTReference;I)Z
.registers 4
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
if-le v0, p2, :cond_1c
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
instance-of v0, v0, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
if-eqz v0, :cond_1c
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
check-cast p1, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result p1
if-ltz p1, :cond_1c
const/4 p1, 0x1
goto :goto_1d
:cond_1c
const/4 p1, 0x0
:goto_1d
return p1
.end method
.method public isTernaryProtected(Lorg/apache/commons/jexl3/parser/JexlNode;)Z
.registers 3
.line 1
:cond_0
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetParent()Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
if-eqz p1, :cond_14
.line 2
instance-of v0, p1, Lorg/apache/commons/jexl3/parser/ASTTernaryNode;
if-eqz v0, :cond_c
const/4 p1, 0x1
return p1
.line 3
:cond_c
instance-of v0, p1, Lorg/apache/commons/jexl3/parser/ASTReference;
if-nez v0, :cond_0
instance-of v0, p1, Lorg/apache/commons/jexl3/parser/ASTArrayAccess;
if-nez v0, :cond_0
:cond_14
const/4 p1, 0x0
return p1
.end method
.method public processAnnotation(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"Ljava/lang/Object;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 25
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
instance-of v1, v0, Lorg/apache/commons/jexl3/JexlContext$AnnotationProcessor;
if-eqz v1, :cond_d
check-cast v0, Lorg/apache/commons/jexl3/JexlContext$AnnotationProcessor;
invoke-interface {v0, p1, p2, p3}, Lorg/apache/commons/jexl3/JexlContext$AnnotationProcessor;->processAnnotation(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
move-result-object p1
goto :goto_11
:cond_d
invoke-interface {p3}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object p1
:goto_11
return-object p1
.end method
.method public processAnnotation(Lorg/apache/commons/jexl3/parser/ASTAnnotatedStatement;ILjava/lang/Object;)Ljava/lang/Object;
.registers 13
.line 1
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
const/4 v1, 0x1
sub-int/2addr v0, v1
if-ne p2, v0, :cond_6a
.line 2
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 3
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {p2, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->options(Lorg/apache/commons/jexl3/JexlContext;)Lorg/apache/commons/jexl3/JexlArithmetic;
move-result-object p2
.line 4
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
if-eq p2, v0, :cond_65
.line 5
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_52
.line 6
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->logger:Lorg/apache/commons/logging/Log;
const-string v1, "expected arithmetic to be "
.line 7
invoke-static {v1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
.line 8
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", got "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->warn(Ljava/lang/Object;)V
.line 9
:cond_52
new-instance v0, Lorg/apache/commons/jexl3/internal/Interpreter;
invoke-direct {v0, p0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;-><init>(Lorg/apache/commons/jexl3/internal/Interpreter;Lorg/apache/commons/jexl3/JexlArithmetic;)V
.line 10
invoke-virtual {p1, v0, p3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
.line 11
invoke-virtual {v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result p2
if-eqz p2, :cond_64
.line 12
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->cancel()Z
:cond_64
return-object p1
.line 13
:cond_65
invoke-virtual {p1, p0, p3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_6a
new-array v6, v1, [Z
const/4 v7, 0x0
aput-boolean v7, v6, v7
.line 14
new-instance v8, Lorg/apache/commons/jexl3/internal/Interpreter$1;
move-object v0, v8
move-object v1, p0
move-object v2, v6
move-object v3, p1
move v4, p2
move-object v5, p3
invoke-direct/range {v0 .. v5}, Lorg/apache/commons/jexl3/internal/Interpreter$1;-><init>(Lorg/apache/commons/jexl3/internal/Interpreter;[ZLorg/apache/commons/jexl3/parser/ASTAnnotatedStatement;ILjava/lang/Object;)V
.line 15
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
check-cast p1, Lorg/apache/commons/jexl3/parser/ASTAnnotation;
.line 16
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTAnnotation;->getName()Ljava/lang/String;
move-result-object p2
.line 17
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result p3
const/4 v0, 0x0
if-lez p3, :cond_96
invoke-virtual {p1, v7}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p3
check-cast p3, Lorg/apache/commons/jexl3/parser/ASTArguments;
invoke-virtual {p0, p3, v0}, Lorg/apache/commons/jexl3/internal/Interpreter;->visit(Lorg/apache/commons/jexl3/parser/ASTArguments;Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p3
goto :goto_97
:cond_96
move-object p3, v0
.line 18
:goto_97
:try_start_97
invoke-virtual {p0, p2, p3, v8}, Lorg/apache/commons/jexl3/internal/Interpreter;->processAnnotation(Ljava/lang/String;[Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
move-result-object p3
aget-boolean v1, v6, v7
if-nez v1, :cond_a4
.line 19
invoke-virtual {p0, p1, p2, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->annotationError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
:try_end_a3
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_97 .. :try_end_a3} :catch_ab
.catch Ljava/lang/Exception; {:try_start_97 .. :try_end_a3} :catch_a5
return-object p1
:cond_a4
return-object p3
:catch_a5
move-exception p3
.line 20
invoke-virtual {p0, p1, p2, p3}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->annotationError(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
return-object p1
:catch_ab
move-exception p1
.line 21
throw p1
.end method
.method public resolveNamespace(Ljava/lang/String;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
.registers 8
.line 1
monitor-enter p0
.line 2
:try_start_1
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-eqz v0, :cond_d
.line 3
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_d
.line 4
monitor-exit p0
return-object v0
.line 5
:cond_d
monitor-exit p0
:try_end_e
.catchall {:try_start_1 .. :try_end_e} :catchall_7b
.line 6
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->ns:Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;
invoke-interface {v0, p1}, Lorg/apache/commons/jexl3/JexlContext$NamespaceResolver;->resolveNamespace(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_2e
.line 7
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functions:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-eqz p1, :cond_2e
if-eqz v0, :cond_22
goto :goto_2e
.line 8
:cond_22
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v2, "no such function namespace "
.line 9
invoke-static {v2, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 10
invoke-direct {v0, p2, p1, v1}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.line 11
:cond_2e
:goto_2e
instance-of v2, v0, Lorg/apache/commons/jexl3/JexlContext$NamespaceFunctor;
if-eqz v2, :cond_3c
.line 12
move-object p2, v0
check-cast p2, Lorg/apache/commons/jexl3/JexlContext$NamespaceFunctor;
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {p2, v1}, Lorg/apache/commons/jexl3/JexlContext$NamespaceFunctor;->createFunctor(Lorg/apache/commons/jexl3/JexlContext;)Ljava/lang/Object;
move-result-object v1
goto :goto_62
.line 13
:cond_3c
instance-of v2, v0, Ljava/lang/Class;
if-eqz v2, :cond_62
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
.line 14
iget-object v4, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
aput-object v4, v2, v3
.line 15
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v3, v0, v2}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getConstructor(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v3
if-eqz v3, :cond_62
.line 16
:try_start_50
invoke-interface {v3, v0, v2}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_54
.catch Ljava/lang/Exception; {:try_start_50 .. :try_end_54} :catch_55
goto :goto_62
:catch_55
move-exception v0
.line 17
new-instance v1, Lorg/apache/commons/jexl3/JexlException;
const-string v2, "unable to instantiate namespace "
.line 18
invoke-static {v2, p1}, Landroidx/appcompat/e;->g(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
.line 19
invoke-direct {v1, p2, p1, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
:cond_62
:goto_62
if-eqz v1, :cond_7a
.line 20
monitor-enter p0
.line 21
:try_start_65
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
if-nez p2, :cond_70
.line 22
new-instance p2, Ljava/util/HashMap;
invoke-direct {p2}, Ljava/util/HashMap;-><init>()V
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
.line 23
:cond_70
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->functors:Ljava/util/Map;
invoke-interface {p2, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 24
monitor-exit p0
return-object v1
:catchall_77
move-exception p1
monitor-exit p0
:try_end_79
.catchall {:try_start_65 .. :try_end_79} :catchall_77
throw p1
:cond_7a
return-object v0
:catchall_7b
move-exception p1
.line 25
:try_start_7c
monitor-exit p0
:try_end_7d
.catchall {:try_start_7c .. :try_end_7d} :catchall_7b
throw p1
.end method
.method public setAttribute(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.registers 5
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, p3, v0}, Lorg/apache/commons/jexl3/internal/Interpreter;->setAttribute(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)V
return-void
.end method
.method public setAttribute(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)V
.registers 11
.line 2
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-nez v0, :cond_c1
if-eqz p4, :cond_13
.line 3
invoke-virtual {p4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetParent()Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
instance-of v0, v0, Lorg/apache/commons/jexl3/parser/ASTArrayAccess;
if-eqz v0, :cond_13
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->ARRAY_SET:Lorg/apache/commons/jexl3/JexlOperator;
goto :goto_15
:cond_13
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->PROPERTY_SET:Lorg/apache/commons/jexl3/JexlOperator;
.line 4
:goto_15
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v4, 0x1
aput-object p2, v2, v4
const/4 v5, 0x2
aput-object p3, v2, v5
invoke-virtual {v1, p4, v0, v2}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 5
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v1, v2, :cond_2c
return-void
:cond_2c
const/4 v1, 0x0
if-eqz p4, :cond_48
.line 6
:try_start_2f
iget-boolean v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v2, :cond_48
.line 7
invoke-virtual {p4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetValue()Ljava/lang/Object;
move-result-object v2
.line 8
instance-of v5, v2, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;
if-eqz v5, :cond_48
.line 9
check-cast v2, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;
.line 10
invoke-interface {v2, p1, p2, p3}, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;->tryInvoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
.line 11
invoke-interface {v2, v5}, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;->tryFailed(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_48
return-void
.line 12
:cond_48
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v2, v0, p1}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getResolvers(Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
.line 13
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v2, v0, p1, p2, p3}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getPropertySet(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlPropertySet;
move-result-object v2
if-nez v2, :cond_6a
new-array v4, v4, [Ljava/lang/Object;
aput-object p3, v4, v3
.line 14
iget-object v5, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v5, v4}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrowArguments([Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_6a
.line 15
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
aget-object v3, v4, v3
invoke-interface {v2, v0, p1, p2, v3}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getPropertySet(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlPropertySet;
move-result-object v2
:cond_6a
if-eqz v2, :cond_7f
.line 16
invoke-interface {v2, p1, p3}, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
if-eqz p4, :cond_7e
.line 17
iget-boolean v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v0, :cond_7e
invoke-interface {v2}, Lorg/apache/commons/jexl3/introspection/JexlPropertySet;->isCacheable()Z
move-result v0
if-eqz v0, :cond_7e
.line 18
invoke-virtual {p4, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtSetValue(Ljava/lang/Object;)V
:try_end_7e
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_7e} :catch_81
:cond_7e
return-void
:cond_7f
move-object v0, v1
goto :goto_82
:catch_81
move-exception v0
:goto_82
if-eqz p4, :cond_8e
if-eqz p2, :cond_8a
.line 19
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
.line 20
:cond_8a
invoke-virtual {p0, p4, v1, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableProperty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
return-void
:cond_8e
const-string p4, "unable to set object property, class: "
.line 21
invoke-static {p4}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p4
.line 22
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p1
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, ", property: "
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p1, ", argument: "
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p1
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 23
new-instance p2, Ljava/lang/UnsupportedOperationException;
invoke-direct {p2, p1, v0}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.line 24
:cond_c1
new-instance p1, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p1, p4}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTAddNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 2
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 3
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 4
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->ADD:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 5
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->add(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception p2
.line 6
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "+ error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTAndNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const-string v0, "boolean coercion error"
const/4 v1, 0x0
.line 157
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
invoke-virtual {v2, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 158
:try_start_b
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v3, v2}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_16
.line 159
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_15
.catch Ljava/lang/ArithmeticException; {:try_start_b .. :try_end_15} :catch_38
return-object p1
:cond_16
const/4 v1, 0x1
.line 160
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
invoke-virtual {v2, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 161
:try_start_1f
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result p2
if-nez p2, :cond_2a
.line 162
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_29
.catch Ljava/lang/ArithmeticException; {:try_start_1f .. :try_end_29} :catch_2d
return-object p1
.line 163
:cond_2a
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p1
:catch_2d
move-exception p2
.line 164
new-instance v2, Lorg/apache/commons/jexl3/JexlException;
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-direct {v2, p1, v0, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:catch_38
move-exception p2
.line 165
new-instance v2, Lorg/apache/commons/jexl3/JexlException;
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-direct {v2, p1, v0, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTAnnotatedStatement;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 336
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->processAnnotation(Lorg/apache/commons/jexl3/parser/ASTAnnotatedStatement;ILjava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTAnnotation;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.line 329
new-instance p1, Ljava/lang/UnsupportedOperationException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-class v0, Lorg/apache/commons/jexl3/parser/ASTAnnotation;
const-string v1, ": Not supported."
.line 330
invoke-static {v0, p2, v1}, Landroidx/core/graphics/f;->c(Ljava/lang/Class;Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 331
invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public bridge synthetic visit(Lorg/apache/commons/jexl3/parser/ASTArguments;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 1
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->visit(Lorg/apache/commons/jexl3/parser/ASTArguments;Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTArrayAccess;Ljava/lang/Object;)Ljava/lang/Object;
.registers 8
.line 242
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
const/4 v1, 0x0
:goto_5
if-ge v1, v0, :cond_26
.line 243
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
const/4 v3, 0x0
if-nez p2, :cond_f
return-object v3
.line 244
:cond_f
invoke-virtual {v2, p0, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 245
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v4
if-nez v4, :cond_20
.line 246
invoke-virtual {p0, p2, v3, v2}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p2
add-int/lit8 v1, v1, 0x1
goto :goto_5
.line 247
:cond_20
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
:cond_26
return-object p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTArrayLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 8
.line 182
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
.line 183
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->arrayBuilder(I)Lorg/apache/commons/jexl3/JexlArithmetic$ArrayBuilder;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x0
:goto_c
if-ge v2, v0, :cond_32
.line 184
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v4
if-nez v4, :cond_2c
.line 185
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v4
.line 186
instance-of v4, v4, Lorg/apache/commons/jexl3/parser/ASTExtendedLiteral;
if-eqz v4, :cond_1e
const/4 v3, 0x1
goto :goto_29
.line 187
:cond_1e
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v4
invoke-virtual {v4, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 188
invoke-interface {v1, v4}, Lorg/apache/commons/jexl3/JexlArithmetic$ArrayBuilder;->add(Ljava/lang/Object;)V
:goto_29
add-int/lit8 v2, v2, 0x1
goto :goto_c
.line 189
:cond_2c
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.line 190
:cond_32
invoke-interface {v1, v3}, Lorg/apache/commons/jexl3/JexlArithmetic$ArrayBuilder;->create(Z)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTAssignment;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 272
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBitwiseAndNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 34
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 35
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 36
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->AND:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 37
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->and(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception p2
.line 38
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "& error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBitwiseComplNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const/4 v0, 0x0
.line 111
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 112
:try_start_9
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v2, Lorg/apache/commons/jexl3/JexlOperator;->COMPLEMENT:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
aput-object p2, v3, v0
invoke-virtual {v1, p1, v2, v3}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 113
sget-object v1, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v1, :cond_1b
goto :goto_21
:cond_1b
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->complement(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_21
.catch Ljava/lang/ArithmeticException; {:try_start_9 .. :try_end_21} :catch_22
:goto_21
return-object v0
:catch_22
move-exception p2
.line 114
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "~ error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBitwiseOrNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 39
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 40
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 41
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->OR:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 42
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->or(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception p2
.line 43
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "| error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBitwiseXorNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 44
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 45
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 46
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->XOR:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 47
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->xor(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception p2
.line 48
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "^ error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBlock;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.line 125
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_6
if-ge v2, v0, :cond_1f
.line 126
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v1
if-nez v1, :cond_19
.line 127
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
add-int/lit8 v2, v2, 0x1
goto :goto_6
.line 128
:cond_19
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
:cond_1f
return-object v1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTBreak;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 134
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Break;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Break;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTConstructorNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
.line 301
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-nez v0, :cond_86
const/4 v0, 0x0
.line 302
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
.line 303
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v2
add-int/lit8 v2, v2, -0x1
.line 304
new-array v3, v2, [Ljava/lang/Object;
:goto_17
if-ge v0, v2, :cond_27
add-int/lit8 v4, v0, 0x1
.line 305
invoke-virtual {p1, v4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v5
invoke-virtual {v5, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
aput-object v5, v3, v0
move v0, v4
goto :goto_17
:cond_27
const/4 p2, 0x0
.line 306
:try_start_28
iget-boolean v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v0, :cond_41
.line 307
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetValue()Ljava/lang/Object;
move-result-object v0
.line 308
instance-of v2, v0, Lorg/apache/commons/jexl3/introspection/JexlMethod;
if-eqz v2, :cond_41
.line 309
check-cast v0, Lorg/apache/commons/jexl3/introspection/JexlMethod;
.line 310
invoke-interface {v0, p2, v1, v3}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->tryInvoke(Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 311
invoke-interface {v0, v2}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->tryFailed(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_41
return-object v2
.line 312
:cond_41
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v0, v1, v3}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getConstructor(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v0
if-nez v0, :cond_66
.line 313
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2, v3}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrowArguments([Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_57
.line 314
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v0, v1, v3}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getConstructor(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/apache/commons/jexl3/introspection/JexlMethod;
move-result-object v0
:cond_57
if-nez v0, :cond_66
if-eqz v1, :cond_60
.line 315
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_61
:cond_60
move-object v0, p2
.line 316
:goto_61
invoke-virtual {p0, p1, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 317
:cond_66
invoke-interface {v0, v1, v3}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 318
iget-boolean v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->cache:Z
if-eqz v3, :cond_77
invoke-interface {v0}, Lorg/apache/commons/jexl3/introspection/JexlMethod;->isCacheable()Z
move-result v3
if-eqz v3, :cond_77
.line 319
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtSetValue(Ljava/lang/Object;)V
:try_end_77
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_28 .. :try_end_77} :catch_84
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_77} :catch_78
:cond_77
return-object v2
:catch_78
move-exception v0
if-eqz v1, :cond_7f
.line 320
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
.line 321
:cond_7f
invoke-virtual {p0, p1, p2, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->invocationException(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Exception;)Lorg/apache/commons/jexl3/JexlException;
move-result-object p1
throw p1
:catch_84
move-exception p1
.line 322
throw p1
.line 323
:cond_86
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTContinue;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 133
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Continue;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Continue;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTDivNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 18
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 19
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 20
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->DIVIDE:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 21
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->divide(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception v0
.line 22
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2}, Lorg/apache/commons/jexl3/JexlArithmetic;->isStrict()Z
move-result v2
if-nez v2, :cond_3d
const-wide/16 p1, 0x0
.line 23
invoke-static {p1, p2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.line 24
:cond_3d
invoke-virtual {p0, v0, p1, v1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->findNullOperand(Ljava/lang/RuntimeException;Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 25
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "/ error"
invoke-direct {p2, p1, v1, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTEQNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 49
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 50
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 51
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->EQ:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 52
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_33
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_31
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_33
:cond_31
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_33
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_33} :catch_34
:goto_33
return-object v0
:catch_34
move-exception p2
.line 53
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "== error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTERNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 92
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 93
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 94
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "=~"
invoke-virtual {v1, p1, v2, p2, v0}, Lorg/apache/commons/jexl3/internal/Operators;->contains(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTEWNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 86
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 87
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 88
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "$="
invoke-virtual {v1, p1, v2, v0, p2}, Lorg/apache/commons/jexl3/internal/Operators;->endsWith(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTEmptyFunction;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 219
:try_start_1
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 220
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
invoke-virtual {v0, p1, p2}, Lorg/apache/commons/jexl3/internal/Operators;->empty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_f
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_1 .. :try_end_f} :catch_10
return-object p1
.line 221
:catch_10
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTEmptyMethod;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 222
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 223
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
invoke-virtual {v0, p1, p2}, Lorg/apache/commons/jexl3/internal/Operators;->empty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTExtendedLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTFalseNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 176
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTForeachStatement;Ljava/lang/Object;)Ljava/lang/Object;
.registers 12
const/4 v0, 0x0
.line 135
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
check-cast v1, Lorg/apache/commons/jexl3/parser/ASTReference;
.line 136
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
check-cast v1, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
.line 137
invoke-virtual {v1}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result v2
const/4 v3, 0x1
.line 138
invoke-virtual {p1, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v4
invoke-virtual {v4, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
const/4 v5, 0x0
if-eqz v4, :cond_7e
.line 139
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v6
const/4 v7, 0x3
if-lt v6, v7, :cond_7e
const/4 v6, 0x2
.line 140
invoke-virtual {p1, v6}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v6
.line 141
:try_start_29
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v8, Lorg/apache/commons/jexl3/JexlOperator;->FOR_EACH:Lorg/apache/commons/jexl3/JexlOperator;
new-array v3, v3, [Ljava/lang/Object;
aput-object v4, v3, v0
invoke-virtual {v7, p1, v8, v3}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_35
.catchall {:try_start_29 .. :try_end_35} :catchall_79
.line 142
:try_start_35
instance-of v3, v0, Ljava/util/Iterator;
if-eqz v3, :cond_3d
move-object v3, v0
check-cast v3, Ljava/util/Iterator;
goto :goto_43
:cond_3d
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->uberspect:Lorg/apache/commons/jexl3/introspection/JexlUberspect;
invoke-interface {v3, v4}, Lorg/apache/commons/jexl3/introspection/JexlUberspect;->getIterator(Ljava/lang/Object;)Ljava/util/Iterator;
move-result-object v3
:goto_43
if-eqz v3, :cond_72
.line 143
:catch_45
:goto_45
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_72
.line 144
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v4
if-nez v4, :cond_6c
.line 145
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
if-gez v2, :cond_61
.line 146
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v1}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v8
invoke-interface {v7, v8, v4}, Lorg/apache/commons/jexl3/JexlContext;->set(Ljava/lang/String;Ljava/lang/Object;)V
goto :goto_66
.line 147
:cond_61
iget-object v7, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {v7, v2, v4}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->set(ILjava/lang/Object;)V
:try_end_66
.catchall {:try_start_35 .. :try_end_66} :catchall_76
.line 148
:goto_66
:try_start_66
invoke-virtual {v6, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
:try_end_6a
.catch Lorg/apache/commons/jexl3/JexlException$Break; {:try_start_66 .. :try_end_6a} :catch_72
.catch Lorg/apache/commons/jexl3/JexlException$Continue; {:try_start_66 .. :try_end_6a} :catch_45
.catchall {:try_start_66 .. :try_end_6a} :catchall_76
move-object v5, v4
goto :goto_45
.line 149
:cond_6c
:try_start_6c
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
:try_end_72
.catchall {:try_start_6c .. :try_end_72} :catchall_76
.line 150
:catch_72
:cond_72
invoke-virtual {p0, v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
goto :goto_7e
:catchall_76
move-exception p1
move-object v5, v0
goto :goto_7a
:catchall_79
move-exception p1
:goto_7a
invoke-virtual {p0, v5}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->closeIfSupported(Ljava/lang/Object;)V
throw p1
:cond_7e
:goto_7e
return-object v5
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTFunctionNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.line 292
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result p2
const/4 v0, 0x1
const/4 v1, 0x0
const/4 v2, 0x2
if-ne p2, v2, :cond_1c
.line 293
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p2
check-cast p2, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
.line 294
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
check-cast v0, Lorg/apache/commons/jexl3/parser/ASTArguments;
.line 295
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {p0, p1, v1, p2, v0}, Lorg/apache/commons/jexl3/internal/Interpreter;->call(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/ASTArguments;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 296
:cond_1c
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p2
check-cast p2, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
invoke-virtual {p2}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object p2
.line 297
invoke-virtual {p0, p2, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->resolveNamespace(Ljava/lang/String;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p2
.line 298
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
check-cast v0, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
.line 299
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
check-cast v1, Lorg/apache/commons/jexl3/parser/ASTArguments;
.line 300
invoke-virtual {p0, p1, p2, v0, v1}, Lorg/apache/commons/jexl3/internal/Interpreter;->call(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/ASTArguments;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTGENode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 60
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 61
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 62
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->GTE:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 63
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_33
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->greaterThanOrEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_31
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_33
:cond_31
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_33
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_33} :catch_34
:goto_33
return-object v0
:catch_34
move-exception p2
.line 64
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, ">= error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTGTNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 65
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 66
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 67
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->GT:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 68
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_33
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->greaterThan(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_31
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_33
:cond_31
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_33
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_33} :catch_34
:goto_33
return-object v0
:catch_34
move-exception p2
.line 69
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "> error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTIdentifier;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
.line 233
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-nez v0, :cond_43
.line 234
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v0
if-nez p2, :cond_3e
.line 235
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result p2
if-ltz p2, :cond_19
.line 236
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 237
:cond_19
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {p2, v0}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p2
if-nez p2, :cond_3d
.line 238
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetParent()Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
instance-of v1, v1, Lorg/apache/commons/jexl3/parser/ASTReference;
if-nez v1, :cond_3d
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-interface {v1, v0}, Lorg/apache/commons/jexl3/JexlContext;->has(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_3d
invoke-virtual {p0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->isTernaryProtected(Lorg/apache/commons/jexl3/parser/JexlNode;)Z
move-result v1
if-nez v1, :cond_3d
const/4 p2, 0x1
.line 239
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableVariable(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Z)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_3d
return-object p2
.line 240
:cond_3e
invoke-virtual {p0, p2, v0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 241
:cond_43
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
if-eqz p2, :cond_b
.line 248
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;->getIdentifier()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, p2, v0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p1
goto :goto_c
:cond_b
const/4 p1, 0x0
:goto_c
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTIfStatement;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 p2, 0x0
.line 119
:try_start_1
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 120
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1c
const/4 p2, 0x1
.line 121
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
goto :goto_2c
.line 122
:cond_1c
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result p2
const/4 v0, 0x3
if-ne p2, v0, :cond_2c
const/4 p2, 0x2
.line 123
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_1 .. :try_end_2c} :catch_2d
:cond_2c
:goto_2c
return-object v1
:catch_2d
move-exception v0
.line 124
new-instance v1, Lorg/apache/commons/jexl3/JexlException;
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
const-string p2, "if error"
invoke-direct {v1, p1, p2, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTJexlScript;Ljava/lang/Object;)Ljava/lang/Object;
.registers 8
.line 224
instance-of v0, p1, Lorg/apache/commons/jexl3/parser/ASTJexlLambda;
if-eqz v0, :cond_13
move-object v0, p1
check-cast v0, Lorg/apache/commons/jexl3/parser/ASTJexlLambda;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/parser/ASTJexlLambda;->isTopLevel()Z
move-result v1
if-nez v1, :cond_13
.line 225
new-instance p1, Lorg/apache/commons/jexl3/internal/Closure;
invoke-direct {p1, p0, v0}, Lorg/apache/commons/jexl3/internal/Closure;-><init>(Lorg/apache/commons/jexl3/internal/Interpreter;Lorg/apache/commons/jexl3/parser/ASTJexlLambda;)V
return-object p1
.line 226
:cond_13
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_19
if-ge v2, v0, :cond_33
.line 227
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
.line 228
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 229
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v4
if-nez v4, :cond_2d
add-int/lit8 v2, v2, 0x1
move-object v1, v3
goto :goto_19
.line 230
:cond_2d
new-instance p1, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p1, v1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p1
:cond_33
return-object v1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTJxltLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.line 324
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetValue()Ljava/lang/Object;
move-result-object p2
check-cast p2, Lorg/apache/commons/jexl3/internal/TemplateEngine$TemplateExpression;
const/4 v0, 0x0
if-nez p2, :cond_28
.line 325
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->jexl:Lorg/apache/commons/jexl3/internal/Engine;
invoke-virtual {p2}, Lorg/apache/commons/jexl3/internal/Engine;->jxlt()Lorg/apache/commons/jexl3/internal/TemplateEngine;
move-result-object p2
.line 326
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/JexlNode;->jexlInfo()Lorg/apache/commons/jexl3/JexlInfo;
move-result-object v1
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTJxltLiteral;->getLiteral()Ljava/lang/String;
move-result-object v2
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
if-eqz v3, :cond_20
invoke-virtual {v3}, Lorg/apache/commons/jexl3/internal/Scope$Frame;->getScope()Lorg/apache/commons/jexl3/internal/Scope;
move-result-object v3
goto :goto_21
:cond_20
move-object v3, v0
:goto_21
invoke-virtual {p2, v1, v2, v3}, Lorg/apache/commons/jexl3/internal/TemplateEngine;->parseExpression(Lorg/apache/commons/jexl3/JexlInfo;Ljava/lang/String;Lorg/apache/commons/jexl3/internal/Scope;)Lorg/apache/commons/jexl3/internal/TemplateEngine$TemplateExpression;
move-result-object p2
.line 327
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtSetValue(Ljava/lang/Object;)V
:cond_28
if-eqz p2, :cond_33
.line 328
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->frame:Lorg/apache/commons/jexl3/internal/Scope$Frame;
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {p2, p1, v0}, Lorg/apache/commons/jexl3/internal/TemplateEngine$TemplateExpression;->evaluate(Lorg/apache/commons/jexl3/internal/Scope$Frame;Lorg/apache/commons/jexl3/JexlContext;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_33
return-object v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTLENode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 70
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 71
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 72
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->LTE:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 73
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_33
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->lessThanOrEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_31
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_33
:cond_31
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_33
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_33} :catch_34
:goto_33
return-object v0
:catch_34
move-exception p2
.line 74
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "<= error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTLTNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 75
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 76
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 77
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->LT:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 78
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_33
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->lessThan(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_31
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_33
:cond_31
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:try_end_33
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_33} :catch_34
:goto_33
return-object v0
:catch_34
move-exception p2
.line 79
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "< error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTMapEntry;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 205
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 206
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-virtual {p1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
const/4 p2, 0x2
new-array p2, p2, [Ljava/lang/Object;
aput-object v1, p2, v0
aput-object p1, p2, v2
return-object p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTMapLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 10
.line 198
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
.line 199
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->mapBuilder(I)Lorg/apache/commons/jexl3/JexlArithmetic$MapBuilder;
move-result-object v1
const/4 v2, 0x0
const/4 v3, 0x0
:goto_c
if-ge v3, v0, :cond_2f
.line 200
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v4
if-nez v4, :cond_29
.line 201
invoke-virtual {p1, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v4
invoke-virtual {v4, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, [Ljava/lang/Object;
.line 202
aget-object v5, v4, v2
const/4 v6, 0x1
aget-object v4, v4, v6
invoke-interface {v1, v5, v4}, Lorg/apache/commons/jexl3/JexlArithmetic$MapBuilder;->put(Ljava/lang/Object;Ljava/lang/Object;)V
add-int/lit8 v3, v3, 0x1
goto :goto_c
.line 203
:cond_29
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.line 204
:cond_2f
invoke-interface {v1}, Lorg/apache/commons/jexl3/JexlArithmetic$MapBuilder;->create()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTMethodNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const/4 v0, 0x0
.line 284
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
.line 285
instance-of v1, v0, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
const/4 v2, 0x0
if-eqz v1, :cond_16
if-nez p2, :cond_13
const-string p1, "<null>.<?>(...)"
.line 286
invoke-virtual {p0, v2, p1}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_13
move-object v2, p2
move-object p2, v0
goto :goto_1a
.line 287
:cond_16
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
:goto_1a
const/4 v1, 0x1
.line 288
:goto_1b
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v3
if-ge v1, v3, :cond_38
if-nez p2, :cond_2a
const-string p1, "<?>.<null>(...)"
.line 289
invoke-virtual {p0, v0, p1}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableMethod(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 290
:cond_2a
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
check-cast v3, Lorg/apache/commons/jexl3/parser/ASTArguments;
.line 291
invoke-virtual {p0, p1, v2, p2, v3}, Lorg/apache/commons/jexl3/internal/Interpreter;->call(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/ASTArguments;)Ljava/lang/Object;
move-result-object v2
add-int/lit8 v1, v1, 0x1
move-object p2, v2
goto :goto_1b
:cond_38
return-object p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTModNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 26
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 27
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 28
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->MOD:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 29
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->mod(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception v0
.line 30
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2}, Lorg/apache/commons/jexl3/JexlArithmetic;->isStrict()Z
move-result v2
if-nez v2, :cond_3d
const-wide/16 p1, 0x0
.line 31
invoke-static {p1, p2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.line 32
:cond_3d
invoke-virtual {p0, v0, p1, v1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->findNullOperand(Ljava/lang/RuntimeException;Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 33
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "% error"
invoke-direct {p2, p1, v1, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTMulNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 12
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 13
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 14
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->MULTIPLY:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 15
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->multiply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception v0
.line 16
invoke-virtual {p0, v0, p1, v1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->findNullOperand(Ljava/lang/RuntimeException;Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 17
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "* error"
invoke-direct {p2, p1, v1, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNENode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 54
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 55
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 56
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->EQ:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 57
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_33
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_30
:goto_2d
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_3c
:cond_30
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_3c
:cond_33
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
:try_end_39
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_39} :catch_3d
if-eqz v0, :cond_30
goto :goto_2d
:goto_3c
return-object p1
:catch_3d
move-exception v0
.line 58
invoke-virtual {p0, v0, p1, v1, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->findNullOperand(Ljava/lang/RuntimeException;Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 59
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "!= error"
invoke-direct {p2, p1, v1, v0}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNEWNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 89
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 90
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 91
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "$!"
invoke-virtual {v1, p1, v2, v0, p2}, Lorg/apache/commons/jexl3/internal/Operators;->endsWith(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNRNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 95
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 96
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 97
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "!~"
invoke-virtual {v1, p1, v2, p2, v0}, Lorg/apache/commons/jexl3/internal/Operators;->contains(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNSWNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 83
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 84
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 85
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "^!"
invoke-virtual {v1, p1, v2, v0, p2}, Lorg/apache/commons/jexl3/internal/Operators;->startsWith(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNotNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const/4 v0, 0x0
.line 115
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 116
:try_start_9
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v2, Lorg/apache/commons/jexl3/JexlOperator;->NOT:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
aput-object p2, v3, v0
invoke-virtual {v1, p1, v2, v3}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 117
sget-object v1, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v1, :cond_1b
goto :goto_21
:cond_1b
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->not(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_21
.catch Ljava/lang/ArithmeticException; {:try_start_9 .. :try_end_21} :catch_22
:goto_21
return-object v0
:catch_22
move-exception p2
.line 118
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "! error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNullLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
const/4 p1, 0x0
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
if-eqz p2, :cond_11
.line 177
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;->isInteger()Z
move-result v0
if-eqz v0, :cond_11
.line 178
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;->getLiteral()Ljava/lang/Number;
move-result-object v0
invoke-virtual {p0, p2, v0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 179
:cond_11
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;->getLiteral()Ljava/lang/Number;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTOrNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const-string v0, "boolean coercion error"
const/4 v1, 0x0
.line 166
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
invoke-virtual {v2, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
.line 167
:try_start_b
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v3, v2}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_16
.line 168
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:try_end_15
.catch Ljava/lang/ArithmeticException; {:try_start_b .. :try_end_15} :catch_38
return-object p1
:cond_16
const/4 v1, 0x1
.line 169
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
invoke-virtual {v2, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 170
:try_start_1f
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v2, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_2a
.line 171
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:try_end_29
.catch Ljava/lang/ArithmeticException; {:try_start_1f .. :try_end_29} :catch_2d
return-object p1
.line 172
:cond_2a
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
return-object p1
:catch_2d
move-exception p2
.line 173
new-instance v2, Lorg/apache/commons/jexl3/JexlException;
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-direct {v2, p1, v0, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
:catch_38
move-exception p2
.line 174
new-instance v2, Lorg/apache/commons/jexl3/JexlException;
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-direct {v2, p1, v0, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTRangeNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
const/4 v0, 0x0
.line 98
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 99
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 100
:try_start_12
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->createRange(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Iterable;
move-result-object p1
:try_end_18
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_18} :catch_19
return-object p1
:catch_19
move-exception v1
.line 101
invoke-virtual {p0, v1, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->findNullOperand(Ljava/lang/RuntimeException;Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
.line 102
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v0, ".. error"
invoke-direct {p2, p1, v0, v1}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTReference;Ljava/lang/Object;)Ljava/lang/Object;
.registers 14
.line 249
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result p2
if-nez p2, :cond_b8
.line 250
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result p2
.line 251
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetParent()Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
.line 252
instance-of v0, v0, Lorg/apache/commons/jexl3/parser/ASTReference;
const/4 v1, 0x1
xor-int/2addr v0, v1
const/4 v2, 0x0
const/4 v3, 0x0
move-object v5, v2
move-object v6, v5
const/4 v4, 0x0
const/4 v7, 0x1
:goto_18
if-ge v4, p2, :cond_84
.line 253
invoke-virtual {p1, v4}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v8
.line 254
instance-of v9, v8, Lorg/apache/commons/jexl3/parser/ASTMethodNode;
if-eqz v9, :cond_26
if-nez v5, :cond_25
goto :goto_84
:cond_25
const/4 v0, 0x0
.line 255
:cond_26
invoke-virtual {v8, p0, v5}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
.line 256
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v9
if-nez v9, :cond_7e
if-eqz v5, :cond_34
const/4 v0, 0x0
goto :goto_7b
:cond_34
if-eqz v0, :cond_84
if-nez v6, :cond_55
.line 257
invoke-virtual {p1, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v9
.line 258
instance-of v10, v9, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
if-eqz v10, :cond_53
.line 259
check-cast v9, Lorg/apache/commons/jexl3/parser/ASTIdentifier;
invoke-virtual {v9}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getSymbol()I
move-result v10
if-gez v10, :cond_84
.line 260
new-instance v5, Ljava/lang/StringBuilder;
invoke-virtual {v9}, Lorg/apache/commons/jexl3/parser/ASTIdentifier;->getName()Ljava/lang/String;
move-result-object v6
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
move-object v6, v5
goto :goto_55
:cond_53
const/4 p2, 0x0
goto :goto_85
:cond_55
:goto_55
if-gt v7, v4, :cond_71
.line 261
invoke-virtual {p1, v7}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v5
.line 262
instance-of v5, v5, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
if-eqz v5, :cond_71
const/16 v5, 0x2e
.line 263
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 264
move-object v5, v8
check-cast v5, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;
invoke-virtual {v5}, Lorg/apache/commons/jexl3/parser/ASTIdentifierAccess;->getName()Ljava/lang/String;
move-result-object v5
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v7, 0x1
goto :goto_55
.line 265
:cond_71
iget-object v5, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-interface {v5, v8}, Lorg/apache/commons/jexl3/JexlContext;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v5
:goto_7b
add-int/lit8 v4, v4, 0x1
goto :goto_18
.line 266
:cond_7e
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
:cond_84
:goto_84
const/4 p2, 0x1
:goto_85
if-nez v5, :cond_b7
.line 267
invoke-virtual {p0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->isTernaryProtected(Lorg/apache/commons/jexl3/parser/JexlNode;)Z
move-result v4
if-nez v4, :cond_b7
if-eqz v0, :cond_ae
if-eqz v6, :cond_ae
.line 268
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->context:Lorg/apache/commons/jexl3/JexlContext;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-interface {p2, v0}, Lorg/apache/commons/jexl3/JexlContext;->has(Ljava/lang/String;)Z
move-result p2
if-nez p2, :cond_a4
invoke-virtual {p0, p1, v3}, Lorg/apache/commons/jexl3/internal/Interpreter;->isLocalVariable(Lorg/apache/commons/jexl3/parser/ASTReference;I)Z
move-result p2
if-nez p2, :cond_a4
goto :goto_a5
:cond_a4
const/4 v1, 0x0
.line 269
:goto_a5
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-virtual {p0, p1, p2, v1}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableVariable(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Z)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_ae
if-nez p2, :cond_b7
const-string p2, "<null>.<?>"
.line 270
invoke-virtual {p0, p1, p2, v2}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->unsolvableProperty(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_b7
return-object v5
.line 271
:cond_b8
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTReferenceExpression;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 232
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-virtual {p1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTReturnStatement;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
const/4 v0, 0x0
.line 129
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 130
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
if-eqz v0, :cond_15
.line 131
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.line 132
:cond_15
new-instance v0, Lorg/apache/commons/jexl3/JexlException$Return;
const/4 v1, 0x0
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException$Return;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSWNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
const/4 v0, 0x0
.line 80
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
.line 81
invoke-virtual {p1, v1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 82
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
const-string v2, "^="
invoke-virtual {v1, p1, v2, v0, p2}, Lorg/apache/commons/jexl3/internal/Operators;->startsWith(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1f
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
goto :goto_21
:cond_1f
sget-object p1, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:goto_21
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetAddNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 273
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_ADD:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetAndNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 278
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_AND:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetDivNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 276
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_DIVIDE:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
.line 191
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
.line 192
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->setBuilder(I)Lorg/apache/commons/jexl3/JexlArithmetic$SetBuilder;
move-result-object v1
const/4 v2, 0x0
:goto_b
if-ge v2, v0, :cond_27
.line 193
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v3
if-nez v3, :cond_21
.line 194
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 195
invoke-interface {v1, v3}, Lorg/apache/commons/jexl3/JexlArithmetic$SetBuilder;->add(Ljava/lang/Object;)V
add-int/lit8 v2, v2, 0x1
goto :goto_b
.line 196
:cond_21
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
.line 197
:cond_27
invoke-interface {v1}, Lorg/apache/commons/jexl3/JexlArithmetic$SetBuilder;->create()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetModNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 277
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_MOD:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetMultNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 275
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_MULTIPLY:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetOrNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 279
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_OR:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetSubNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 274
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_SUBTRACT:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSetXorNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
.line 280
sget-object v0, Lorg/apache/commons/jexl3/JexlOperator;->SELF_XOR:Lorg/apache/commons/jexl3/JexlOperator;
invoke-virtual {p0, p1, v0, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->executeAssign(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSizeFunction;Ljava/lang/Object;)Ljava/lang/Object;
.registers 5
const/4 v0, 0x0
.line 214
:try_start_1
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 215
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
invoke-virtual {v1, p1, p2}, Lorg/apache/commons/jexl3/internal/Operators;->size(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
:try_end_f
.catch Lorg/apache/commons/jexl3/JexlException; {:try_start_1 .. :try_end_f} :catch_10
return-object p1
.line 216
:catch_10
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSizeMethod;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x0
.line 217
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 218
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
invoke-virtual {v0, p1, p2}, Lorg/apache/commons/jexl3/internal/Operators;->size(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTStringLiteral;Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
if-eqz p2, :cond_b
.line 180
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTStringLiteral;->getLiteral()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, p2, v0, p1}, Lorg/apache/commons/jexl3/internal/Interpreter;->getAttribute(Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 181
:cond_b
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/ASTStringLiteral;->getLiteral()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTSubNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 9
const/4 v0, 0x0
.line 7
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x1
.line 8
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 9
:try_start_12
iget-object v3, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v4, Lorg/apache/commons/jexl3/JexlOperator;->SUBTRACT:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v5, 0x2
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v2
invoke-virtual {v3, p1, v4, v5}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 10
sget-object v2, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq v0, v2, :cond_26
goto :goto_2c
:cond_26
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v0, v1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->subtract(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_2c
.catch Ljava/lang/ArithmeticException; {:try_start_12 .. :try_end_2c} :catch_2d
:goto_2c
return-object v0
:catch_2d
move-exception p2
.line 11
new-instance v0, Lorg/apache/commons/jexl3/JexlException;
const-string v1, "- error"
invoke-direct {v0, p1, v1, p2}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTTernaryNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const/4 v0, 0x0
.line 207
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
invoke-virtual {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 208
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v1
const/4 v2, 0x1
const/4 v3, 0x3
if-ne v1, v3, :cond_2e
if-eqz v0, :cond_24
.line 209
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_24
.line 210
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-virtual {p1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_24
const/4 v0, 0x2
.line 211
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-virtual {p1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_2e
if-eqz v0, :cond_39
.line 212
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {v1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_39
return-object v0
.line 213
:cond_39
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object p1
invoke-virtual {p1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTTrueNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 175
sget-object p1, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTUnaryMinusNode;Ljava/lang/Object;)Ljava/lang/Object;
.registers 8
const/4 v0, 0x0
.line 103
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v1
.line 104
invoke-virtual {v1, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
.line 105
:try_start_9
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/Interpreter;->operators:Lorg/apache/commons/jexl3/internal/Operators;
sget-object v3, Lorg/apache/commons/jexl3/JexlOperator;->NEGATE:Lorg/apache/commons/jexl3/JexlOperator;
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
aput-object p2, v4, v0
invoke-virtual {v2, p1, v3, v4}, Lorg/apache/commons/jexl3/internal/Operators;->tryOverload(Lorg/apache/commons/jexl3/parser/JexlNode;Lorg/apache/commons/jexl3/JexlOperator;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
.line 106
sget-object v0, Lorg/apache/commons/jexl3/JexlEngine;->TRY_FAILED:Ljava/lang/Object;
if-eq p1, v0, :cond_1b
return-object p1
.line 107
:cond_1b
iget-object p1, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-virtual {p1, p2}, Lorg/apache/commons/jexl3/JexlArithmetic;->negate(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
.line 108
instance-of p2, v1, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;
if-eqz p2, :cond_38
instance-of p2, p1, Ljava/lang/Number;
if-eqz p2, :cond_38
.line 109
iget-object p2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
check-cast p1, Ljava/lang/Number;
move-object v0, v1
check-cast v0, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/parser/ASTNumberLiteral;->getLiteralClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {p2, p1, v0}, Lorg/apache/commons/jexl3/JexlArithmetic;->narrowNumber(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
move-result-object p1
:try_end_38
.catch Ljava/lang/ArithmeticException; {:try_start_9 .. :try_end_38} :catch_39
:cond_38
return-object p1
:catch_39
move-exception p1
.line 110
new-instance p2, Lorg/apache/commons/jexl3/JexlException;
const-string v0, "- error"
invoke-direct {p2, v1, v0, p1}, Lorg/apache/commons/jexl3/JexlException;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;Ljava/lang/String;Ljava/lang/Throwable;)V
throw p2
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTVar;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.line 231
invoke-virtual {p0, p1, p2}, Lorg/apache/commons/jexl3/internal/Interpreter;->visit(Lorg/apache/commons/jexl3/parser/ASTIdentifier;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTWhileStatement;Ljava/lang/Object;)Ljava/lang/Object;
.registers 7
const/4 v0, 0x0
.line 151
invoke-virtual {p1, v0}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v0
const/4 v1, 0x0
.line 152
:cond_6
:goto_6
iget-object v2, p0, Lorg/apache/commons/jexl3/internal/InterpreterBase;->arithmetic:Lorg/apache/commons/jexl3/JexlArithmetic;
invoke-interface {v0, p0, p2}, Lorg/apache/commons/jexl3/parser/Node;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v2, v3}, Lorg/apache/commons/jexl3/JexlArithmetic;->toBoolean(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_30
.line 153
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v2
if-nez v2, :cond_2a
.line 154
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v2
const/4 v3, 0x1
if-le v2, v3, :cond_6
.line 155
:try_start_1f
invoke-virtual {p1, v3}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v2
invoke-virtual {v2, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_27
.catch Lorg/apache/commons/jexl3/JexlException$Break; {:try_start_1f .. :try_end_27} :catch_30
.catch Lorg/apache/commons/jexl3/JexlException$Continue; {:try_start_1f .. :try_end_27} :catch_28
goto :goto_6
:catch_28
nop
goto :goto_6
.line 156
:cond_2a
new-instance p2, Lorg/apache/commons/jexl3/JexlException$Cancel;
invoke-direct {p2, p1}, Lorg/apache/commons/jexl3/JexlException$Cancel;-><init>(Lorg/apache/commons/jexl3/parser/JexlNode;)V
throw p2
:catch_30
:cond_30
return-object v1
.end method
.method public visit(Lorg/apache/commons/jexl3/parser/ASTArguments;Ljava/lang/Object;)[Ljava/lang/Object;
.registers 7
.line 281
invoke-virtual {p1}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetNumChildren()I
move-result v0
.line 282
new-array v1, v0, [Ljava/lang/Object;
const/4 v2, 0x0
:goto_7
if-ge v2, v0, :cond_16
.line 283
invoke-virtual {p1, v2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtGetChild(I)Lorg/apache/commons/jexl3/parser/JexlNode;
move-result-object v3
invoke-virtual {v3, p0, p2}, Lorg/apache/commons/jexl3/parser/SimpleNode;->jjtAccept(Lorg/apache/commons/jexl3/parser/ParserVisitor;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_7
:cond_16
return-object v1
.end method