package Ġcom . a em tools . code insight . os g iser vice Ċ Ċ import Ġcom . a em tools . code insight . os g iser vice . marker info . OS Gi Service Config Marker Info Ċ import Ġcom . a em tools . common . util . is OS Gi Service Ċ import Ġcom . a em tools . index . search . OS Gi Config Search Ċ import Ġcom . intellij . code Insight . daemon . Line Marker Info Ċ import Ġcom . intellij . code Insight . daemon . Line Marker Provider Ċ import Ġcom . intellij . psi . Psi Class Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Identifier Ċ Ċ /** Ċ Ġ* ĠLine Ġmarker Ġprovider Ġfor ĠOS GI Ġconfigs . ĠSupports ĠF elix Ġ( SCR ) Ġand ĠOS Gi Ġ( R 6 , ĠR 7 ) Ġcomponents . Ċ Ġ* Ċ Ġ* Ġ@ author ĠD my tro ĠPrim sh y ts Ċ Ġ*/ Ċ class ĠOS Gi Config Line Marker Ġ: ĠLine Marker Provider Ġ{ ĊĠ Ġoverride Ġfun Ġget Line Marker Info ( element : ĠPsi Element ): ĠLine Marker Info < Psi Element >? Ġ{ ĊĠĠĠ Ġif Ġ( element Ġis ĠPsi Identifier Ġ&& Ġelement . parent Ġis ĠPsi Class ) Ġ{ ĊĠĠĠĠĠ Ġval Ġpsi Class Ġ= Ġelement . parent Ġas ? ĠPsi Class ĊĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ġnull ĊĊĠĠĠĠĠ Ġif Ġ( psi Class . is OS Gi Service ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġf qn Ġ= Ġpsi Class . qualified Name Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġconfigs Ġ= ĠOS Gi Config Search . find Configs For Class ( fq n , Ġelement . project , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġif Ġ( configs . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠOS Gi Service Config Marker Info ( element ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠOS Gi Config Search . find Configs For Class ( fq n , Ġelement . project , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcollect Slow Line Markers ( elements : ĠMutable List < out ĠPsi Element >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult : ĠMutable Collection < in ĠLine Marker Info <* >>) Ġ{ ĊĠ Ġ} Ċ } Ċ