c.smali
.class public Lorg/greenrobot/greendao/identityscope/c;
.super Ljava/lang/Object;
.source "IdentityScopeObject.java"
# interfaces
.implements Lorg/greenrobot/greendao/identityscope/a;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lorg/greenrobot/greendao/identityscope/a<",
"TK;TT;>;"
}
.end annotation
# instance fields
.field private final a:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"TK;",
"Ljava/lang/ref/Reference<",
"TT;>;>;"
}
.end annotation
.end field
.field private final b:Ljava/util/concurrent/locks/ReentrantLock;
# direct methods
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
.line 3
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
return-void
.end method
# virtual methods
.method public a(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;)TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/ref/Reference;
if-eqz p1, :cond_f
.line 2
invoke-virtual {p1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_f
const/4 p1, 0x0
return-object p1
.end method
.method public a(I)V
.registers 2
return-void
.end method
.method public a(Ljava/lang/Iterable;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"TK;>;)V"
}
.end annotation
.line 4
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 5
:try_start_5
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_9
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_19
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 6
iget-object v1, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
invoke-virtual {v1, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_18
.catchall {:try_start_5 .. :try_end_18} :catchall_1f
goto :goto_9
.line 7
:cond_19
iget-object p1, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_1f
move-exception p1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
goto :goto_27
:goto_26
throw p1
:goto_27
goto :goto_26
.end method
.method public a(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TT;)V"
}
.end annotation
.line 3
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
new-instance v1, Ljava/lang/ref/WeakReference;
invoke-direct {v1, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
invoke-virtual {v0, p1, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public b(Ljava/lang/Object;Ljava/lang/Object;)Z
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TT;)Z"
}
.end annotation
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_5
invoke-virtual {p0, p1}, Lorg/greenrobot/greendao/identityscope/c;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-ne v0, p2, :cond_17
if-eqz p2, :cond_17
.line 3
invoke-virtual {p0, p1}, Lorg/greenrobot/greendao/identityscope/c;->remove(Ljava/lang/Object;)V
:try_end_10
.catchall {:try_start_5 .. :try_end_10} :catchall_19
const/4 p1, 0x1
.line 4
:goto_11
iget-object p2, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p2}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return p1
:cond_17
const/4 p1, 0x0
goto :goto_11
:catchall_19
move-exception p1
iget-object p2, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p2}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
goto :goto_21
:goto_20
throw p1
:goto_21
goto :goto_20
.end method
.method public clear()V
.registers 3
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_5
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
:try_end_a
.catchall {:try_start_5 .. :try_end_a} :catchall_10
.line 3
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_10
move-exception v0
iget-object v1, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
throw v0
.end method
.method public get(Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;)TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_5
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/ref/Reference;
:try_end_d
.catchall {:try_start_5 .. :try_end_d} :catchall_1b
.line 3
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
if-eqz p1, :cond_19
.line 4
invoke-virtual {p1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_19
const/4 p1, 0x0
return-object p1
:catchall_1b
move-exception p1
.line 5
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
throw p1
.end method
.method public lock()V
.registers 2
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
return-void
.end method
.method public put(Ljava/lang/Object;Ljava/lang/Object;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TT;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_5
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
new-instance v1, Ljava/lang/ref/WeakReference;
invoke-direct {v1, p2}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
invoke-virtual {v0, p1, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_f
.catchall {:try_start_5 .. :try_end_f} :catchall_15
.line 3
iget-object p1, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_15
move-exception p1
iget-object p2, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p2}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
throw p1
.end method
.method public remove(Ljava/lang/Object;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_5
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->a:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_a
.catchall {:try_start_5 .. :try_end_a} :catchall_10
.line 3
iget-object p1, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_10
move-exception p1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
throw p1
.end method
.method public unlock()V
.registers 2
.line 1
iget-object v0, p0, Lorg/greenrobot/greendao/identityscope/c;->b:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
.end method