package Ġsh ark . internal Ċ Ċ import Ġsh ark . Heap Object . Heap Object Array Ċ import Ġsh ark . internal . Reference . Lazy Details Ċ import Ġsh ark . internal . Reference Location Type . ARRAY _ ENTRY Ċ import Ġsh ark . Value Holder Ċ Ċ internal Ġclass ĠObject Array Reference Reader Ġ: ĠReference Reader < Heap Object Array > Ġ{ ĊĠ Ġoverride Ġfun Ġread ( source : ĠHeap Object Array ): ĠSequence < Reference > Ġ{ ĊĠĠĠ Ġif Ġ( source . is Sk ipp able Primitive Wrapper Array ) Ġ{ ĊĠĠĠĠĠ Ġ// Ġprimitive Ġwrapper Ġarrays Ġaren 't Ġinteresting . ĊĠĠĠĠĠ Ġ// ĠThat Ġalso Ġmeans Ġthe Ġwrapped Ġsize Ġisn 't Ġadded Ġto Ġthe Ġdom inator Ġtree , Ġso Ġwe Ġneed Ġto ĊĠĠĠĠĠ Ġ// Ġadd Ġthat Ġback Ġwhen Ġcomputing Ġshallow Ġsize Ġin ĠSh allow Size Calculator . ĊĠĠĠĠĠ Ġ// ĠAnother Ġside Ġeffect Ġis Ġthat Ġif Ġthe Ġwrapped Ġprimitive Ġis Ġreferenced Ġelsewhere , Ġwe Ġmight ĊĠĠĠĠĠ Ġ// Ġdouble Ġcount Ġits Ġsize . ĊĠĠĠĠĠ Ġreturn Ġempty Sequence () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġgraph Ġ= Ġsource . graph ĊĠĠĠ Ġval Ġrecord Ġ= Ġsource . read Record () ĊĠĠĠ Ġval Ġarray Class Id Ġ= Ġsource . array Class Id ĊĠĠĠ Ġreturn Ġrecord . element Ids . as Sequence (). filter Ġ{ Ġobject Id Ġ-> ĊĠĠĠĠĠ Ġobject Id Ġ!= ĠValue Holder . NULL _ REFERENCE Ġ&& Ġgraph . object Exists ( objectId ) ĊĠĠĠ Ġ}. map Indexed Ġ{ Ġindex , Ġelement ObjectId Ġ-> ĊĠĠĠĠĠ ĠReference ( ĊĠĠĠĠĠĠĠ Ġvalue ObjectId Ġ= Ġelement ObjectId , ĊĠĠĠĠĠĠĠ Ġis Low Priority Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġlazy Details Resolver Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠLazy Details ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġindex . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Class ObjectId Ġ= Ġarray Class Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Type Ġ= ĠARRAY _ ENTRY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Virtual Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatched Library Leak Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsk ipp able Primitive Wrapper Array Types Ġ= Ġset Of ( ĊĠĠĠĠĠ ĠBoolean :: class , ĊĠĠĠĠĠ ĠChar :: class , ĊĠĠĠĠĠ ĠFloat :: class , ĊĠĠĠĠĠ ĠDouble :: class , ĊĠĠĠĠĠ ĠByte :: class , ĊĠĠĠĠĠ ĠShort :: class , ĊĠĠĠĠĠ ĠInt :: class , ĊĠĠĠĠĠ ĠLong :: class ĊĠĠĠ Ġ). map Ġ{ Ġit . java ObjectType . name Ġ+ Ġ" []" Ġ} ĊĊĠĠĠ Ġinternal Ġval ĠHeap Object Array . is Sk ipp able Primitive Wrapper Array : ĠBoolean ĊĠĠĠĠĠ Ġget () Ġ= Ġarray ClassName Ġin Ġsk ipp able Primitive Wrapper Array Types ĊĠ Ġ} Ċ } Ċ