Seq.smali
.class public Lgo/Seq;
.super Ljava/lang/Object;
.source "Seq.java"
# static fields
.field private static final NULL_REFNUM:I = 0x29
.field private static log:Ljava/util/logging/Logger;
.field public static final nullRef:Lgo/Seq$Ref;
.field static final tracker:Lgo/Seq$RefTracker;
# direct methods
.method static constructor <clinit>()V
.registers 4
.prologue
const/4 v2, 0x0
.line 16
const-string v0, "GoSeq"
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lgo/Seq;->log:Ljava/util/logging/Logger;
.line 22
new-instance v0, Lgo/Seq$Ref;
const/16 v1, 0x29
invoke-direct {v0, v1, v2}, Lgo/Seq$Ref;-><init>(ILjava/lang/Object;)V
sput-object v0, Lgo/Seq;->nullRef:Lgo/Seq$Ref;
.line 28
:try_start_12
const-string v0, "go.LoadJNI"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 29
const-string v1, "ctx"
invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lgo/Seq;->setContext(Ljava/lang/Object;)V
:try_end_26
.catch Ljava/lang/ClassNotFoundException; {:try_start_12 .. :try_end_26} :catch_34
.catch Ljava/lang/NoSuchFieldException; {:try_start_12 .. :try_end_26} :catch_3d
.catch Ljava/lang/IllegalAccessException; {:try_start_12 .. :try_end_26} :catch_53
.line 38
:goto_26
invoke-static {}, Lgo/Seq;->init()V
.line 39
invoke-static {}, Lgo/Universe;->touch()V
.line 142
new-instance v0, Lgo/Seq$RefTracker;
invoke-direct {v0}, Lgo/Seq$RefTracker;-><init>()V
sput-object v0, Lgo/Seq;->tracker:Lgo/Seq$RefTracker;
return-void
.line 32
:catch_34
move-exception v0
sget-object v0, Lgo/Seq;->log:Ljava/util/logging/Logger;
const-string v1, "LoadJNI class not found"
invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
goto :goto_26
.line 33
:catch_3d
move-exception v0
.line 34
sget-object v1, Lgo/Seq;->log:Ljava/util/logging/Logger;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "LoadJNI class missing field: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/logging/Logger;->severe(Ljava/lang/String;)V
goto :goto_26
.line 35
:catch_53
move-exception v0
.line 36
sget-object v1, Lgo/Seq;->log:Ljava/util/logging/Logger;
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "LoadJNI class bad field: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/logging/Logger;->severe(Ljava/lang/String;)V
goto :goto_26
.end method
.method private constructor <init>()V
.registers 1
.prologue
.line 47
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 48
return-void
.end method
.method static synthetic access$000()Ljava/util/logging/Logger;
.registers 1
.prologue
.line 15
sget-object v0, Lgo/Seq;->log:Ljava/util/logging/Logger;
return-object v0
.end method
.method static decRef(I)V
.registers 2
.prologue
.line 81
sget-object v0, Lgo/Seq;->tracker:Lgo/Seq$RefTracker;
invoke-virtual {v0, p0}, Lgo/Seq$RefTracker;->dec(I)V
.line 82
return-void
.end method
.method static native destroyRef(I)V
.end method
.method public static getRef(I)Lgo/Seq$Ref;
.registers 2
.prologue
.line 70
sget-object v0, Lgo/Seq;->tracker:Lgo/Seq$RefTracker;
invoke-virtual {v0, p0}, Lgo/Seq$RefTracker;->get(I)Lgo/Seq$Ref;
move-result-object v0
return-object v0
.end method
.method public static incGoObjectRef(Lgo/Seq$GoObject;)I
.registers 2
.prologue
.line 66
invoke-interface {p0}, Lgo/Seq$GoObject;->incRefnum()I
move-result v0
return v0
.end method
.method public static native incGoRef(I)V
.end method
.method public static incRef(Ljava/lang/Object;)I
.registers 2
.prologue
.line 62
sget-object v0, Lgo/Seq;->tracker:Lgo/Seq$RefTracker;
invoke-virtual {v0, p0}, Lgo/Seq$RefTracker;->inc(Ljava/lang/Object;)I
move-result v0
return v0
.end method
.method public static incRefnum(I)V
.registers 2
.prologue
.line 54
sget-object v0, Lgo/Seq;->tracker:Lgo/Seq$RefTracker;
invoke-virtual {v0, p0}, Lgo/Seq$RefTracker;->incRefnum(I)V
.line 55
return-void
.end method
.method private static native init()V
.end method
.method static native setContext(Ljava/lang/Object;)V
.end method
.method public static touch()V
.registers 0
.prologue
.line 45
return-void
.end method