/* Ċ Ġ* Ġ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 . symbols . descriptor Based Ċ Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . Fe 1 0 Analysis Context Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . base . Kt Fe 1 0 Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . descriptor Based . base . to Kt Type Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . pointers . Kt Fe 1 0 Desc Synt hetic Field Symbol Pointer Ċ import Ġorg . jetbrains . kotlin . analysis . api . descriptors . symbols . pointers . Kt Fe 1 0 Never Rest oring Symbol Pointer Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Backing Field Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Kotlin Property Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Property Accessor Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . Kt Variable Like Symbol Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . pointers . Kt Psi Based Symbol Pointer Ċ import Ġorg . jetbrains . kotlin . analysis . api . symbols . pointers . Kt Symbol Pointer Ċ import Ġorg . jetbrains . kotlin . analysis . api . types . Kt Type Ċ import Ġorg . jetbrains . kotlin . analysis . api . with Validity Assertion Ċ import Ġorg . jetbrains . kotlin . descriptors . impl . Property Descriptor Impl Ċ import Ġorg . jetbrains . kotlin . descriptors . impl . Synt hetic FieldDescriptor Ċ import Ġorg . jetbrains . kotlin . load . kotlin . to Source Element Ċ import Ġorg . jetbrains . kotlin . psi . Kt Property Accessor Ċ import Ġorg . jetbrains . kotlin . psi . psi Util . create Smart Pointer Ċ import Ġorg . jetbrains . kotlin . resolve . source . get Psi Ċ Ċ internal Ġclass ĠK t Fe 1 0 Desc Synt hetic Field Symbol ( ĊĠĠĠ Ġval Ġdescriptor : ĠSynt hetic FieldDescriptor , ĊĠĠĠ Ġoverride Ġval Ġanalysis Context : ĠFe 1 0 Analysis Context Ċ ) Ġ: ĠK t Backing Field Symbol (), ĠK t Fe 1 0 Symbol Ġ{ ĊĠĠĠ Ġoverride Ġval Ġow ning Property : ĠK t Kotlin Property Symbol ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkotlin Property Ġ= Ġdescriptor . property Descriptor Ġas ĠProperty Descriptor Impl ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK t Fe 1 0 Desc Kotlin Property Symbol ( kotlin Property , Ġanalysis Context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠreturnType : ĠK t Type ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwith Validity Assertion Ġ{ Ġdescriptor . property Descriptor . type . to Kt Type ( analysis Context ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Pointer (): ĠK t Symbol Pointer < Kt Variable Like Symbol > Ġ= Ġwith Validity Assertion Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaccessor Psi Ġ= Ġdescriptor . containing Declaration . to Source Element . get Psi () ĊĠĠĠĠĠĠĠ Ġif Ġ( accessor Psi Ġis ĠK t Property Accessor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccessor Pointer Ġ= ĠK t Psi Based Symbol Pointer < Kt Property Accessor Symbol >( accessor Psi . create Smart Pointer ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠK t Fe 1 0 Desc Synt hetic Field Symbol Pointer ( accessor Pointer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠK t Fe 1 0 Never Rest oring Symbol Pointer () ĊĠĠĠ Ġ} Ċ }