package Ġorg . l uk as j . idea . tor ques cript . annot ator Ċ Ċ import Ġcom . intellij . lang . annotation . Annotation Holder Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . l uk as j . idea . tor ques cript . editor . T SS yntax Highlighting Colors Ċ import Ġorg . l uk as j . idea . tor ques cript . psi . TS Function Identifier Ċ import Ġorg . l uk as j . idea . tor ques cript . psi . TS Ident Expression Ċ import Ġorg . l uk as j . idea . tor ques cript . psi . T SP arent Block Ċ import Ġorg . l uk as j . idea . tor ques cript . reference . TS Object Reference Ċ Ċ class ĠTS Object Annot ator Ġ: ĠTS Annot ator () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġannotate ( element : ĠPsi Element , Ġholder : ĠAnnotation Holder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠTS Ident Expression ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġref Ġ= Ġelement . reference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ref Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref Ġis ĠTS Object Reference ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref . multi Resolve ( false ). isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Success Annotation ( element , Ġholder , ĠT SS yntax Highlighting Colors . OBJECT _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠT SP arent Block ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġref Ġ= Ġelement . reference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ref Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref Ġis ĠTS Object Reference ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref . multi Resolve ( false ). isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Success Annotation ( element , Ġholder , ĠT SS yntax Highlighting Colors . OBJECT _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠTS Function Identifier ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġref Ġ= Ġelement . reference ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ref Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref Ġis ĠTS Object Reference ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġref . multi Resolve ( false ). isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Success Annotation ( element , Ġholder , ĠT SS yntax Highlighting Colors . OBJECT _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }