package Ġme . ser ce . solid ity . ide . hints Ċ Ċ import Ġcom . intellij . lang . parameter Info . Create Parameter Info Context Ċ import Ġcom . intellij . lang . parameter Info . Parameter Info Handler Ċ import Ġcom . intellij . lang . parameter Info . Update Parameter Info Context Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi File Ċ Ċ abstract Ġclass ĠAbstract Parameter Info Handler < O Ġ: ĠPsi Element , ĠT Ġ: ĠAny > Ġ: ĠParameter Info Handler < O , ĠT > Ġ{ ĊĊĠ Ġabstract Ġfun Ġfind Target Element ( file : ĠPsi File , Ġoffset : ĠInt ): ĠO ? ĊĊĠ Ġabstract Ġfun Ġcalculate Parameter Info ( element : ĠO ): ĠArray < T >? ĊĊĠ Ġfinal Ġoverride Ġfun Ġfind Element For Parameter Info ( context : ĠCreate Parameter Info Context ): ĠO ? Ġ{ ĊĠĠĠ Ġval Ġelement Ġ= Ġfind Target Element ( context . file , Ġcontext . offset ) Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġcontext . items To Show Ġ= Ġcalculate Parameter Info ( element ) Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġelement ĊĠ Ġ} ĊĊĠ Ġfinal Ġoverride Ġfun Ġfind Element For Updating Parameter Info ( context : ĠUpdate Parameter Info Context ): ĠO ? Ġ{ ĊĠĠĠ Ġreturn Ġfind Target Element ( context . file , Ġcontext . offset ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġshow Parameter Info ( element : ĠO , Ġcontext : ĠCreate Parameter Info Context ) Ġ{ ĊĠĠĠ Ġcontext . show Hint ( element , Ġelement . start Offset , Ġthis ) ĊĠ Ġ} Ċ } Ċ Ċ val ĠPsi Element . start Offset : ĠInt ĊĠ Ġget () Ġ= Ġtext Range . start Offset Ċ