/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . analysis . api . descriptors . scopes Ċ Ċ import Ġorg . jetbrains . kotlin . analysis . api . Validity Token Owner Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . Kt Fe 1 0 Analysis Session Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . descriptor Based . base . to Kt Constructor Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . descriptor Based . base . to Kt Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . scopes . Kt Scope Ċ import Ġorg . jetbrains . kotlin . analysis . api . scopes . Kt Scope Name Filter Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Callable Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Classifier Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Constructor Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Package Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . tokens . Validity Token Ċ import Ġorg . jetbrains . kotlin . analysis . api . with Validity Assertion Ċ import Ġorg . jetbrains . kotlin . descriptors . Constructor Descriptor Ċ import Ġorg . jetbrains . kotlin . name . Name Ċ import Ġorg . jetbrains . kotlin . resolve . scopes . Descriptor Kind Filter Ċ import Ġorg . jetbrains . kotlin . resolve . scopes . Lex ical Scope Ċ import Ġorg . jetbrains . kotlin . resolve . scopes . Member Scope Ċ import Ġorg . jetbrains . kotlin . resolve . scopes . Resolution Scope Ċ Ċ internal Ġabstract Ġclass ĠK t Fe 1 0 Scope Resolution Ġ: ĠK t Scope , ĠValid ity Token Owner Ġ{ ĊĠĠĠ Ġabstract Ġval Ġanalysis Session : ĠK t Fe 1 0 Analysis Session ĊĠĠĠ Ġabstract Ġval Ġscope : ĠResolution Scope ĊĊĠĠĠ Ġoverride Ġfun Ġget Callable Symbols ( name Filter : ĠK t Scope Name Filter ): ĠSequence < Kt Callable Symbol > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Cont ributed Descriptors ( kind Filter Ġ= ĠDescriptor Kind Filter . ALL , Ġname Filter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġname Filter ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit . to Kt Symbol ( analysis Session ) Ġas ? ĠK t Callable Symbol Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Classifier Symbols ( name Filter : ĠK t Scope Name Filter ): ĠSequence < Kt Classifier Symbol > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Cont ributed Descriptors ( kind Filter Ġ= ĠDescriptor Kind Filter . CLAS SI FI ERS , Ġname Filter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġname Filter ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġit . to Kt Symbol ( analysis Session ) Ġas ? ĠK t Classifier Symbol Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Construct ors (): ĠSequence < Kt Constructor Symbol > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscope ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Cont ributed Descriptors ( kind Filter Ġ= ĠDescriptor Kind Filter . FUNCTION S ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Sequence () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Is Instance < Constructor Descriptor >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . to Kt Constructor Symbol ( analysis Session ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Package Symbols ( name Filter : ĠK t Scope Name Filter ): ĠSequence < Kt Package Symbol > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġempty Sequence () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġtoken : ĠValid ity Token ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġanalysis Session . token Ċ } Ċ Ċ internal Ġclass ĠK t Fe 1 0 Scope Lex ical ( ĊĠĠĠ Ġoverride Ġval Ġscope : ĠLex ical Scope , ĊĠĠĠ Ġoverride Ġval Ġanalysis Session : ĠK t Fe 1 0 Analysis Session Ċ ) Ġ: ĠK t Fe 1 0 Scope Resolution (), ĠValid ity Token Owner Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Possible Callable Names (): ĠSet < Name > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty Set () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Possible Classifier Names (): ĠSet < Name > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġempty Set () ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġopen Ġclass ĠK t Fe 1 0 Scope Member ( ĊĠĠĠ Ġoverride Ġval Ġscope : ĠMember Scope , ĊĠĠĠ Ġoverride Ġval Ġanalysis Session : ĠK t Fe 1 0 Analysis Session Ċ ) Ġ: ĠK t Fe 1 0 Scope Resolution () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Possible Callable Names (): ĠSet < Name > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscope . get Function Names () Ġ+ Ġscope . get Variable Names () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Possible Classifier Names (): ĠSet < Name > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġscope . getClass ifier Names () Ġ?: Ġempty Set () ĊĠĠĠ Ġ} Ċ }