LuaObject.smali
.class public Lcom/luajava/LuaObject;
.super Ljava/lang/Object;
# instance fields
.field protected L:Lcom/luajava/LuaState;
.field protected ref:I
# direct methods
.method protected constructor <init>(Lcom/luajava/LuaObject;Lcom/luajava/LuaObject;)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v0
invoke-virtual {p2}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v1
if-eq v0, v1, :cond_16
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v1, "LuaStates must be the same!"
invoke-direct {v0, v1}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:cond_16
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v1
monitor-enter v1
:try_start_1b
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_33
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isUserdata()Z
move-result v0
if-nez v0, :cond_33
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Object parent should be a table or userdata ."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_30
move-exception v0
monitor-exit v1
:try_end_32
.catchall {:try_start_1b .. :try_end_32} :catchall_30
throw v0
:cond_33
:try_start_33
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v0
iput-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p1}, Lcom/luajava/LuaObject;->push()V
invoke-virtual {p2}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->getTable(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->remove(I)V
const/4 v0, -0x1
invoke-virtual {p0, v0}, Lcom/luajava/LuaObject;->registerValue(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
:try_end_56
.catchall {:try_start_33 .. :try_end_56} :catchall_30
return-void
.end method
.method protected constructor <init>(Lcom/luajava/LuaObject;Ljava/lang/Number;)V
.registers 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v1
monitor-enter v1
:try_start_8
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v0
iput-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_26
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isUserdata()Z
move-result v0
if-nez v0, :cond_26
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Object parent should be a table or userdata ."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_23
move-exception v0
monitor-exit v1
:try_end_25
.catchall {:try_start_8 .. :try_end_25} :catchall_23
throw v0
:cond_26
:try_start_26
invoke-virtual {p1}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p2}, Ljava/lang/Number;->doubleValue()D
move-result-wide v2
invoke-virtual {v0, v2, v3}, Lcom/luajava/LuaState;->pushNumber(D)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->getTable(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->remove(I)V
const/4 v0, -0x1
invoke-virtual {p0, v0}, Lcom/luajava/LuaObject;->registerValue(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
:try_end_49
.catchall {:try_start_26 .. :try_end_49} :catchall_23
return-void
.end method
.method protected constructor <init>(Lcom/luajava/LuaObject;Ljava/lang/String;)V
.registers 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v1
monitor-enter v1
:try_start_8
invoke-virtual {p1}, Lcom/luajava/LuaObject;->getLuaState()Lcom/luajava/LuaState;
move-result-object v0
iput-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_26
invoke-virtual {p1}, Lcom/luajava/LuaObject;->isUserdata()Z
move-result v0
if-nez v0, :cond_26
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Object parent should be a table or userdata ."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_23
move-exception v0
monitor-exit v1
:try_end_25
.catchall {:try_start_8 .. :try_end_25} :catchall_23
throw v0
:cond_26
:try_start_26
invoke-virtual {p1}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0, p2}, Lcom/luajava/LuaState;->pushString(Ljava/lang/String;)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->getTable(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x2
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->remove(I)V
const/4 v0, -0x1
invoke-virtual {p0, v0}, Lcom/luajava/LuaObject;->registerValue(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, 0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
:try_end_45
.catchall {:try_start_26 .. :try_end_45} :catchall_23
return-void
.end method
.method protected constructor <init>(Lcom/luajava/LuaState;I)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
monitor-enter p1
:try_start_4
iput-object p1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p0, p2}, Lcom/luajava/LuaObject;->registerValue(I)V
monitor-exit p1
return-void
:catchall_b
move-exception v0
monitor-exit p1
:try_end_d
.catchall {:try_start_4 .. :try_end_d} :catchall_b
throw v0
.end method
.method protected constructor <init>(Lcom/luajava/LuaState;Ljava/lang/String;)V
.registers 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
monitor-enter p1
:try_start_4
iput-object p1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {p1, p2}, Lcom/luajava/LuaState;->getGlobal(Ljava/lang/String;)I
const/4 v0, -0x1
invoke-virtual {p0, v0}, Lcom/luajava/LuaObject;->registerValue(I)V
const/4 v0, 0x1
invoke-virtual {p1, v0}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit p1
return-void
:catchall_13
move-exception v0
monitor-exit p1
:try_end_15
.catchall {:try_start_4 .. :try_end_15} :catchall_13
throw v0
.end method
# virtual methods
.method public asArray()[Ljava/lang/Object;
.registers 9
const/4 v1, 0x1
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v2
:try_start_4
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_16
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v1, "Invalid object. Not a table ."
invoke-direct {v0, v1}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_13
move-exception v0
monitor-exit v2
:try_end_15
.catchall {:try_start_4 .. :try_end_15} :catchall_13
throw v0
:cond_16
:try_start_16
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, -0x1
invoke-virtual {v0, v3}, Lcom/luajava/LuaState;->objLen(I)I
move-result v3
const-class v0, Ljava/lang/Object;
invoke-static {v0, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v0
:goto_26
if-gt v1, v3, :cond_49
iget-object v4, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
int-to-long v6, v1
invoke-virtual {v4, v6, v7}, Lcom/luajava/LuaState;->pushInteger(J)V
iget-object v4, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v5, -0x2
invoke-virtual {v4, v5}, Lcom/luajava/LuaState;->getTable(I)V
add-int/lit8 v4, v1, -0x1
iget-object v5, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v6, -0x1
invoke-virtual {v5, v6}, Lcom/luajava/LuaState;->toJavaObject(I)Ljava/lang/Object;
move-result-object v5
invoke-static {v0, v4, v5}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V
iget-object v4, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v5, 0x1
invoke-virtual {v4, v5}, Lcom/luajava/LuaState;->pop(I)V
add-int/lit8 v1, v1, 0x1
goto :goto_26
:cond_49
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v1, v3}, Lcom/luajava/LuaState;->pop(I)V
check-cast v0, [Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
monitor-exit v2
:try_end_54
.catchall {:try_start_16 .. :try_end_54} :catchall_13
return-object v0
.end method
.method public varargs call([Ljava/lang/Object;)Ljava/lang/Object;
.registers 4
const/4 v0, 0x1
invoke-virtual {p0, p1, v0}, Lcom/luajava/LuaObject;->callx([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x0
aget-object v0, v0, v1
return-object v0
.end method
.method public callx([Ljava/lang/Object;I)[Ljava/lang/Object;
.registers 10
const/4 v1, 0x0
const/4 v6, -0x1
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v2
:try_start_5
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isFunction()Z
move-result v0
if-nez v0, :cond_23
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_23
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isUserdata()Z
move-result v0
if-nez v0, :cond_23
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v1, "Invalid object. Not a function, table or userdata ."
invoke-direct {v0, v1}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_20
move-exception v0
monitor-exit v2
:try_end_22
.catchall {:try_start_5 .. :try_end_22} :catchall_20
throw v0
:cond_23
:try_start_23
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0}, Lcom/luajava/LuaState;->getTop()I
move-result v3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
if-eqz p1, :cond_3b
array-length v0, p1
:goto_2f
if-ge v1, v0, :cond_3c
aget-object v4, p1, v1
iget-object v5, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v5, v4}, Lcom/luajava/LuaState;->pushObjectValue(Ljava/lang/Object;)V
add-int/lit8 v1, v1, 0x1
goto :goto_2f
:cond_3b
move v0, v1
:cond_3c
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v4, 0x0
invoke-virtual {v1, v0, p2, v4}, Lcom/luajava/LuaState;->pcall(III)I
move-result v1
if-eqz v1, :cond_cc
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, -0x1
invoke-virtual {v0, v3}, Lcom/luajava/LuaState;->isString(I)Z
move-result v0
if-eqz v0, :cond_78
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, -0x1
invoke-virtual {v0, v3}, Lcom/luajava/LuaState;->toString(I)Ljava/lang/String;
move-result-object v0
iget-object v3, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v4, 0x1
invoke-virtual {v3, v4}, Lcom/luajava/LuaState;->pop(I)V
:goto_5b
const/4 v3, 0x2
if-ne v1, v3, :cond_7c
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v3, "Runtime error. "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:goto_72
new-instance v1, Lcom/luajava/LuaException;
invoke-direct {v1, v0}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v1
:cond_78
const-string/jumbo v0, ""
goto :goto_5b
:cond_7c
const/4 v3, 0x4
if-ne v1, v3, :cond_94
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v3, "Memory allocation error. "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_72
:cond_94
const/4 v3, 0x6
if-ne v1, v3, :cond_ac
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v3, "Error while running the error handler function. "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_72
:cond_ac
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v4, "Lua Error code "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v3, ". "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_72
:cond_cc
if-ne p2, v6, :cond_101
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0}, Lcom/luajava/LuaState;->getTop()I
move-result v0
sub-int/2addr v0, v3
:goto_d5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v1}, Lcom/luajava/LuaState;->getTop()I
move-result v1
sub-int/2addr v1, v3
if-ge v1, v0, :cond_e7
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v1, "Invalid Number of Results ."
invoke-direct {v0, v1}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e7
new-array v1, v0, [Ljava/lang/Object;
:goto_e9
if-lez v0, :cond_ff
add-int/lit8 v3, v0, -0x1
iget-object v4, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v5, -0x1
invoke-virtual {v4, v5}, Lcom/luajava/LuaState;->toJavaObject(I)Ljava/lang/Object;
move-result-object v4
aput-object v4, v1, v3
iget-object v3, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v4, 0x1
invoke-virtual {v3, v4}, Lcom/luajava/LuaState;->pop(I)V
add-int/lit8 v0, v0, -0x1
goto :goto_e9
:cond_ff
monitor-exit v2
:try_end_100
.catchall {:try_start_23 .. :try_end_100} :catchall_20
return-object v1
:cond_101
move v0, p2
goto :goto_d5
.end method
.method public createProxy(Ljava/lang/Class;)Ljava/lang/Object;
.registers 6
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_15
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Invalid Object. Must be Table."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
:cond_15
const/4 v0, 0x1
:try_start_16
new-array v0, v0, [Ljava/lang/Class;
const/4 v2, 0x0
aput-object p1, v0, v2
new-instance v2, Lcom/luajava/LuaInvocationHandler;
invoke-direct {v2, p0}, Lcom/luajava/LuaInvocationHandler;-><init>(Lcom/luajava/LuaObject;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v3
invoke-static {v3, v0, v2}, Ljava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object v0
monitor-exit v1
:try_end_2d
.catchall {:try_start_16 .. :try_end_2d} :catchall_12
return-object v0
.end method
.method public createProxy(Ljava/lang/String;)Ljava/lang/Object;
.registers 7
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isTable()Z
move-result v0
if-nez v0, :cond_15
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Invalid Object. Must be Table."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
:cond_15
:try_start_15
new-instance v2, Ljava/util/StringTokenizer;
const-string/jumbo v0, ","
invoke-direct {v2, p1, v0}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/util/StringTokenizer;->countTokens()I
move-result v0
new-array v3, v0, [Ljava/lang/Class;
const/4 v0, 0x0
:goto_24
invoke-virtual {v2}, Ljava/util/StringTokenizer;->hasMoreTokens()Z
move-result v4
if-eqz v4, :cond_37
invoke-virtual {v2}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
aput-object v4, v3, v0
add-int/lit8 v0, v0, 0x1
goto :goto_24
:cond_37
new-instance v0, Lcom/luajava/LuaInvocationHandler;
invoke-direct {v0, p0}, Lcom/luajava/LuaInvocationHandler;-><init>(Lcom/luajava/LuaObject;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v2
invoke-static {v2, v3, v0}, Ljava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object v0
monitor-exit v1
:try_end_49
.catchall {:try_start_15 .. :try_end_49} :catchall_12
return-object v0
.end method
.method public dump()[B
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isFunction()Z
move-result v0
if-nez v0, :cond_15
new-instance v0, Lcom/luajava/LuaException;
const-string/jumbo v2, "Invalid object. Not a function ."
invoke-direct {v0, v2}, Lcom/luajava/LuaException;-><init>(Ljava/lang/String;)V
throw v0
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
:cond_15
:try_start_15
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->dump(I)[B
move-result-object v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
:try_end_26
.catchall {:try_start_15 .. :try_end_26} :catchall_12
return-object v0
.end method
.method protected finalize()V
.registers 7
:try_start_0
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_end_3
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_1e
:try_start_3
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0}, Lcom/luajava/LuaState;->getCPtrPeer()J
move-result-wide v2
const-wide/16 v4, 0x0
cmp-long v0, v2, v4
if-eqz v0, :cond_19
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const v2, -0xf4628
iget v3, p0, Lcom/luajava/LuaObject;->ref:I
invoke-virtual {v0, v2, v3}, Lcom/luajava/LuaState;->LunRef(II)V
:cond_19
monitor-exit v1
:goto_1a
return-void
:catchall_1b
move-exception v0
monitor-exit v1
:try_end_1d
.catchall {:try_start_3 .. :try_end_1d} :catchall_1b
:try_start_1d
throw v0
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_1d .. :try_end_1e} :catch_1e
:catch_1e
move-exception v0
sget-object v0, Ljava/lang/System;->err:Ljava/io/PrintStream;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v2, "Unable to release object "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget v2, p0, Lcom/luajava/LuaObject;->ref:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
goto :goto_1a
.end method
.method public getBoolean()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->toBoolean(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public getField(Ljava/lang/String;)Lcom/luajava/LuaObject;
.registers 3
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0, p0, p1}, Lcom/luajava/LuaState;->getLuaObject(Lcom/luajava/LuaObject;Ljava/lang/String;)Lcom/luajava/LuaObject;
move-result-object v0
return-object v0
.end method
.method public getI(J)Lcom/luajava/LuaObject;
.registers 6
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, p0, v1}, Lcom/luajava/LuaState;->getLuaObject(Lcom/luajava/LuaObject;Ljava/lang/Number;)Lcom/luajava/LuaObject;
move-result-object v0
return-object v0
.end method
.method public getLuaState()Lcom/luajava/LuaState;
.registers 2
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
return-object v0
.end method
.method public getNumber()D
.registers 6
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->toNumber(I)D
move-result-wide v2
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v4, 0x1
invoke-virtual {v0, v4}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return-wide v2
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public getObject()Ljava/lang/Object;
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->getObjectFromUserdata(I)Ljava/lang/Object;
move-result-object v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return-object v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public getString()Ljava/lang/String;
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->toString(I)Ljava/lang/String;
move-result-object v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return-object v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isBoolean()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isBoolean(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isFunction()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isFunction(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isJavaFunction()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isJavaFunction(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isJavaObject()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isObject(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isNil()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isNil(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isNumber()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isNumber(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isString()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isString(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isTable()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isTable(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public isUserdata()Z
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->isUserdata(I)Z
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public push()V
.registers 5
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const v1, -0xf4628
iget v2, p0, Lcom/luajava/LuaObject;->ref:I
int-to-long v2, v2
invoke-virtual {v0, v1, v2, v3}, Lcom/luajava/LuaState;->rawGetI(IJ)I
return-void
.end method
.method protected registerValue(I)V
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0, p1}, Lcom/luajava/LuaState;->pushValue(I)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const v2, -0xf4628
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->Lref(I)I
move-result v0
iput v0, p0, Lcom/luajava/LuaObject;->ref:I
monitor-exit v1
return-void
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method
.method public setField(Ljava/lang/String;Ljava/lang/Object;)V
.registers 5
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
:try_start_3
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0, p2}, Lcom/luajava/LuaState;->pushObjectValue(Ljava/lang/Object;)V
:try_end_8
.catch Lcom/luajava/LuaException; {:try_start_3 .. :try_end_8} :catch_15
:goto_8
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v1, -0x2
invoke-virtual {v0, v1, p1}, Lcom/luajava/LuaState;->setField(ILjava/lang/String;)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/luajava/LuaState;->pop(I)V
return-void
:catch_15
move-exception v0
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0}, Lcom/luajava/LuaState;->pushNil()V
goto :goto_8
.end method
.method public setI(JLjava/lang/Object;)V
.registers 7
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
:try_start_3
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0, p3}, Lcom/luajava/LuaState;->pushObjectValue(Ljava/lang/Object;)V
:try_end_8
.catch Lcom/luajava/LuaException; {:try_start_3 .. :try_end_8} :catch_15
:goto_8
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v1, -0x2
invoke-virtual {v0, v1, p1, p2}, Lcom/luajava/LuaState;->setI(IJ)V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/luajava/LuaState;->pop(I)V
return-void
:catch_15
move-exception v0
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
invoke-virtual {v0}, Lcom/luajava/LuaState;->pushNil()V
goto :goto_8
.end method
.method public toString()Ljava/lang/String;
.registers 5
const/4 v0, 0x0
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_4
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isNil()Z
move-result v2
if-eqz v2, :cond_f
const-string/jumbo v0, "nil"
:try_end_d
.catch Lcom/luajava/LuaException; {:try_start_4 .. :try_end_d} :catch_7c
.catchall {:try_start_4 .. :try_end_d} :catchall_1f
:try_start_d
monitor-exit v1
:try_end_e
.catchall {:try_start_d .. :try_end_e} :catchall_1f
:goto_e
return-object v0
:cond_f
:try_start_f
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isBoolean()Z
move-result v2
if-eqz v2, :cond_22
invoke-virtual {p0}, Lcom/luajava/LuaObject;->getBoolean()Z
move-result v2
invoke-static {v2}, Ljava/lang/String;->valueOf(Z)Ljava/lang/String;
:try_end_1c
.catch Lcom/luajava/LuaException; {:try_start_f .. :try_end_1c} :catch_7c
.catchall {:try_start_f .. :try_end_1c} :catchall_1f
move-result-object v0
:try_start_1d
monitor-exit v1
goto :goto_e
:catchall_1f
move-exception v0
monitor-exit v1
:try_end_21
.catchall {:try_start_1d .. :try_end_21} :catchall_1f
throw v0
:cond_22
:try_start_22
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isNumber()Z
move-result v2
if-eqz v2, :cond_32
invoke-virtual {p0}, Lcom/luajava/LuaObject;->getNumber()D
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(D)Ljava/lang/String;
:try_end_2f
.catch Lcom/luajava/LuaException; {:try_start_22 .. :try_end_2f} :catch_7c
.catchall {:try_start_22 .. :try_end_2f} :catchall_1f
move-result-object v0
:try_start_30
monitor-exit v1
:try_end_31
.catchall {:try_start_30 .. :try_end_31} :catchall_1f
goto :goto_e
:cond_32
:try_start_32
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isString()Z
move-result v2
if-eqz v2, :cond_3e
invoke-virtual {p0}, Lcom/luajava/LuaObject;->getString()Ljava/lang/String;
:try_end_3b
.catch Lcom/luajava/LuaException; {:try_start_32 .. :try_end_3b} :catch_7c
.catchall {:try_start_32 .. :try_end_3b} :catchall_1f
move-result-object v0
:try_start_3c
monitor-exit v1
:try_end_3d
.catchall {:try_start_3c .. :try_end_3d} :catchall_1f
goto :goto_e
:cond_3e
:try_start_3e
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isFunction()Z
move-result v2
if-eqz v2, :cond_49
const-string/jumbo v0, "Lua Function"
:try_end_47
.catch Lcom/luajava/LuaException; {:try_start_3e .. :try_end_47} :catch_7c
.catchall {:try_start_3e .. :try_end_47} :catchall_1f
:try_start_47
monitor-exit v1
:try_end_48
.catchall {:try_start_47 .. :try_end_48} :catchall_1f
goto :goto_e
:cond_49
:try_start_49
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isJavaObject()Z
move-result v2
if-eqz v2, :cond_59
invoke-virtual {p0}, Lcom/luajava/LuaObject;->getObject()Ljava/lang/Object;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
:try_end_56
.catch Lcom/luajava/LuaException; {:try_start_49 .. :try_end_56} :catch_7c
.catchall {:try_start_49 .. :try_end_56} :catchall_1f
move-result-object v0
:try_start_57
monitor-exit v1
:try_end_58
.catchall {:try_start_57 .. :try_end_58} :catchall_1f
goto :goto_e
:cond_59
:try_start_59
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isUserdata()Z
move-result v2
if-eqz v2, :cond_64
const-string/jumbo v0, "Userdata"
:try_end_62
.catch Lcom/luajava/LuaException; {:try_start_59 .. :try_end_62} :catch_7c
.catchall {:try_start_59 .. :try_end_62} :catchall_1f
:try_start_62
monitor-exit v1
:try_end_63
.catchall {:try_start_62 .. :try_end_63} :catchall_1f
goto :goto_e
:cond_64
:try_start_64
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isTable()Z
move-result v2
if-eqz v2, :cond_6f
const-string/jumbo v0, "Lua Table"
:try_end_6d
.catch Lcom/luajava/LuaException; {:try_start_64 .. :try_end_6d} :catch_7c
.catchall {:try_start_64 .. :try_end_6d} :catchall_1f
:try_start_6d
monitor-exit v1
:try_end_6e
.catchall {:try_start_6d .. :try_end_6e} :catchall_1f
goto :goto_e
:cond_6f
:try_start_6f
invoke-virtual {p0}, Lcom/luajava/LuaObject;->isJavaFunction()Z
move-result v2
if-eqz v2, :cond_7a
const-string/jumbo v0, "Java Function"
:try_end_78
.catch Lcom/luajava/LuaException; {:try_start_6f .. :try_end_78} :catch_7c
.catchall {:try_start_6f .. :try_end_78} :catchall_1f
:try_start_78
monitor-exit v1
goto :goto_e
:cond_7a
monitor-exit v1
goto :goto_e
:catch_7c
move-exception v2
monitor-exit v1
:try_end_7e
.catchall {:try_start_78 .. :try_end_7e} :catchall_1f
goto :goto_e
.end method
.method public type()I
.registers 5
iget-object v1, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
monitor-enter v1
:try_start_3
invoke-virtual {p0}, Lcom/luajava/LuaObject;->push()V
iget-object v0, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v2, -0x1
invoke-virtual {v0, v2}, Lcom/luajava/LuaState;->type(I)I
move-result v0
iget-object v2, p0, Lcom/luajava/LuaObject;->L:Lcom/luajava/LuaState;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Lcom/luajava/LuaState;->pop(I)V
monitor-exit v1
return v0
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method