package Ġcom . lf ro been . dat alog . lang . psi Ċ Ċ import Ġcom . intellij . openapi . util . Key Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi Name Identifier Owner Ċ import Ġcom . intellij . psi . Psi Reference Ċ import Ġcom . intellij . psi . Resolve State Ċ import Ġcom . intellij . psi . scope . Psi Scope Processor Ċ Ċ class ĠD atalog Res olving Scope Processor ( private Ġval Ġmy Reference : ĠPsi Reference ) Ġ: ĠPsi Scope Processor Ġ{ ĊĠĠĠ Ġvar Ġdeclaration : ĠPsi Name Identifier Owner ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( decl : ĠPsi Element , Ġstate : ĠResolve State ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( decl ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Ġ ĠD atalog Declaration Mixin -> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( decl . name Ġ== Ġmy Reference . element . text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeclaration Ġ= Ġdecl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Ġ ĠD atalog Declaration Comment -> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( decl . name Ġ== Ġmy Reference . element . text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeclaration Ġ= Ġdecl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠAny ?> Ġget Hint ( hint Key : ĠKey < T >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Event ( event : ĠPsi Scope Processor . Event , Ġassociated : ĠAny ?) Ġ{ ĊĠĠĠ Ġ} Ċ } Ċ