package Ġcom . plugin . fre ge . annot ator Ċ Ċ import Ġcom . intellij . lang . annotation . Annotation Holder Ċ import Ġcom . intellij . lang . annotation . Annot ator Ċ import Ġcom . intellij . lang . annotation . Highlight Severity Ċ import Ġcom . intellij . openapi . editor . colors . Text Attributes Key Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . plugin . fre ge . highlighter . Fre ge Syntax Highlight er Ċ import Ġcom . plugin . fre ge . psi .* Ċ import Ġcom . plugin . fre ge . psi . util . Fre ge Psi Util Ċ Ċ class ĠFre ge Annot ator Ġ: ĠAnnot ator Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġannotate ( element : ĠPsi Element , Ġholder : ĠAnnotation Holder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġis ĠFre ge FunctionName Ġ|| Ġelement Ġis ĠFre ge Native FunctionName Ġ|| Ġelement Ġis ĠFre ge Annotation Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . FUNCTION _ NAME ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠFre ge Strong Keyword ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . KEYWORD ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠFre ge PackageName Ġ|| Ġelement Ġis ĠFre ge Import PackageName ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . TYPE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠFre ge Type Parameter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . TYPE _ PARAMETER ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( element Ġis ĠFre ge Word Operator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . OPERATOR ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( Fre ge Psi Util . is Leaf ( element ) Ġ&& Ġelement . text Ġ== Ġundefined Identifier ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġannotate With Info ( element , Ġholder , ĠFre ge Syntax Highlight er . UNDEFINED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġannotate With Info ( ĊĠĠĠĠĠĠĠ Ġelement : ĠPsi Element , ĊĠĠĠĠĠĠĠ Ġholder : ĠAnnotation Holder , ĊĠĠĠĠĠĠĠ Ġattributes Key : ĠText Attributes Key ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . new Sil ent Annotation ( Highlight Severity . INFORMATION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. range ( element . text Range ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. text Attributes ( attributes Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġundefined Identifier Ġ= Ġ" undefined " ĊĠĠĠ Ġ} Ċ } Ċ