>>604
602は拡張プロパティとシングルトンのWeakHashMapを利用している
詳細はgoogleで

拡張プロパティ:
見た目はプロパティだが実際のところ
staticメソッドのシンタックスシュガー

fun A_name_get(thisObj: A): String? {
  return xname.get(thisObj)
}

println( a.name )
 ↓
println( A_name_get(a) )


WeakHashMap:
キーがGC対象となるのを阻害しないMap
aとnameの関連付けはここに入っている
aがへの参照が無くなったら、nameへの関連付けもCG対象になって消える