// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand Ġcontributors . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ċ package Ġorg . jetbrains . u ast . kotlin Ċ Ċ import Ġcom . intellij . psi . Psi Type Ċ import Ġorg . jetbrains . kotlin . psi . Kt Array Access Expression Ċ import Ġorg . jetbrains . kotlin . resolve . Binding Context Ċ import Ġorg . jetbrains . u ast . U Array Access Expression Ċ import Ġorg . jetbrains . u ast . U Element Ċ Ċ class ĠKotlin U Array Access Expression ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsource Psi : ĠK t Array Access Expression , ĊĠĠĠĠĠĠĠ Ġgiven Parent : ĠU Element ? Ċ ) Ġ: ĠKotlin Abstract U Expression ( given Parent ), ĠU Array Access Expression , ĠKotlin U Element WithType , ĠKotlin Evalu atable U Element Ġ{ ĊĠĠĠ Ġoverride Ġval Ġreceiver Ġby Ġl z Ġ{ ĠKotlin Converter . convert OrEmpty ( source Psi . array Expression , Ġthis ) Ġ} ĊĠĠĠ Ġoverride Ġval Ġindices Ġby Ġl z Ġ{ Ġsource Psi . index Expressions . map Ġ{ ĠKotlin Converter . convert OrEmpty ( it , Ġthis ) Ġ} Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Expression Type (): ĠPsi Type ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper < Kotlin U Element WithType >. get Expression Type ()?. let Ġ{ Ġreturn Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġfor Ġunknown Ġreason Ġin Ġass ig ment Ġposition Ġthere Ġis Ġno Ġ` EXPRESSION _ TYPE _ INFO ` Ġso Ġwe Ġgetting Ġit Ġfrom Ġthe Ġarray Ġtype ĊĠĠĠĠĠĠĠ Ġval Ġarray Expression Ġ= Ġsource Psi . array Expression Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġarray Type Ġ= Ġarray Expression . analyze ()[ Binding Context . EXPRESSION _ TYPE _ INFO , Ġarray Expression ]?. type Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn Ġarray Type . arguments . first OrNull ()?. type ?. to Psi Type ( this , Ġarray Expression , Ġfalse Ġ) ĊĠĠĠ Ġ} Ċ Ċ }