.class public final Lcom/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeStringField; .super Lcom/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeCachedField; .source "UnsafeCacheFields.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/esotericsoftware/kryo/serializers/UnsafeCacheFields; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "UnsafeStringField" .end annotation # direct methods .method public constructor (Ljava/lang/reflect/Field;)V .locals 2 invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe; move-result-object v0 invoke-virtual {v0, p1}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J move-result-wide v0 invoke-direct {p0, v0, v1}, Lcom/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeCachedField;->(J)V return-void .end method # virtual methods .method public copy(Ljava/lang/Object;Ljava/lang/Object;)V .locals 6 invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe; move-result-object v0 iget-wide v1, p0, Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedField;->offset:J invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe; move-result-object v3 iget-wide v4, p0, Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedField;->offset:J invoke-virtual {v3, p1, v4, v5}, Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; move-result-object p1 invoke-virtual {v0, p2, v1, v2, p1}, Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V return-void .end method .method public read(Lcom/esotericsoftware/kryo/io/Input;Ljava/lang/Object;)V .locals 3 invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe; move-result-object v0 iget-wide v1, p0, Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedField;->offset:J invoke-virtual {p1}, Lcom/esotericsoftware/kryo/io/Input;->readString()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p2, v1, v2, p1}, Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V return-void .end method .method public write(Lcom/esotericsoftware/kryo/io/Output;Ljava/lang/Object;)V .locals 3 invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe; move-result-object v0 iget-wide v1, p0, Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedField;->offset:J invoke-virtual {v0, p2, v1, v2}, Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; move-result-object p2 check-cast p2, Ljava/lang/String; invoke-virtual {p1, p2}, Lcom/esotericsoftware/kryo/io/Output;->writeString(Ljava/lang/String;)V return-void .end method