package Ġme . ve kt ory 7 9 . tiny c . abi Ċ Ċ import Ġjava . io . Serializable Ċ import Ġjava . util . stream . Stream Ċ Ċ class ĠField Info ( ĊĠĠĠ Ġprivate Ġval Ġclazz : ĠClass Info , ĊĠĠĠ Ġaccess : ĠInt , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġprivate Ġval Ġdescriptor : ĠString , ĊĠĠĠ Ġsignature : ĠString ?, Ċ ) Ġ: ĠAb i Element < Field Info >( access , Ġname , Ġsignature ), ĠSerializable Ġ{ ĊĠĠĠ Ġprivate Ġval Ġusage s Ġ= ĠHashSet < Class Info >() ĊĊĠĠĠ Ġfun Ġadd Usage ( ref : ĠClass Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġusage s Ġ+= Ġref ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwalk Usage s (): ĠStream < Class Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġusage s . stream () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsignificant Change In ( other : ĠField Info ?): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġsuper . sign ificant Change In ( other ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġdescriptor Ġ!= Ġother ?. descriptor ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ(! super . equals ( other )) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠField Info ĊĊĠĠĠĠĠĠĠ Ġif Ġ( descriptor Ġ!= Ġother . descriptor ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġsuper . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġdescriptor . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }