Script$Callable.smali
.class public Lorg/apache/commons/jexl3/internal/Script$Callable;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/apache/commons/jexl3/internal/Script;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "Callable"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"Ljava/lang/Object;",
">;"
}
.end annotation
# instance fields
.field public final interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
.field public volatile result:Ljava/lang/Object;
.field public final synthetic this$0:Lorg/apache/commons/jexl3/internal/Script;
# direct methods
.method public constructor <init>(Lorg/apache/commons/jexl3/internal/Script;Lorg/apache/commons/jexl3/internal/Interpreter;)V
.registers 3
.line 1
iput-object p1, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->this$0:Lorg/apache/commons/jexl3/internal/Script;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
.line 3
iput-object p2, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->result:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public call()Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
monitor-enter p0
.line 2
:try_start_1
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->result:Ljava/lang/Object;
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
if-ne v0, v1, :cond_12
.line 3
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->this$0:Lorg/apache/commons/jexl3/internal/Script;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/internal/Script;->checkCacheVersion()V
.line 4
invoke-virtual {p0}, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpret()Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->result:Ljava/lang/Object;
.line 5
:cond_12
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->result:Ljava/lang/Object;
monitor-exit p0
return-object v0
:catchall_16
move-exception v0
.line 6
monitor-exit p0
:try_end_18
.catchall {:try_start_1 .. :try_end_18} :catchall_16
throw v0
.end method
.method public cancel()Z
.registers 2
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->cancel()Z
move-result v0
return v0
.end method
.method public interpret()Ljava/lang/Object;
.registers 3
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
iget-object v1, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->this$0:Lorg/apache/commons/jexl3/internal/Script;
iget-object v1, v1, Lorg/apache/commons/jexl3/internal/Script;->script:Lorg/apache/commons/jexl3/parser/ASTJexlScript;
invoke-virtual {v0, v1}, Lorg/apache/commons/jexl3/internal/Interpreter;->interpret(Lorg/apache/commons/jexl3/parser/JexlNode;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public isCancellable()Z
.registers 2
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancellable()Z
move-result v0
return v0
.end method
.method public isCancelled()Z
.registers 2
iget-object v0, p0, Lorg/apache/commons/jexl3/internal/Script$Callable;->interpreter:Lorg/apache/commons/jexl3/internal/Interpreter;
invoke-virtual {v0}, Lorg/apache/commons/jexl3/internal/InterpreterBase;->isCancelled()Z
move-result v0
return v0
.end method