/* Ċ Ġ* Ġ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 . u ast . kotlin Ċ Ċ import Ġcom . intellij . openapi . components . Service Manager Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . jetbrains . kotlin . psi . Value Argument Ċ import Ġorg . jetbrains . u ast .* Ċ Ċ class ĠKotlin U Named Expression Ġprivate Ġconstructor ( ĊĠĠĠ Ġoverride Ġval Ġname : ĠString ?, ĊĠĠĠ Ġoverride Ġval Ġsource Psi : ĠPsi Element ?, ĊĠĠĠ Ġgiven Parent : ĠU Element ?, ĊĠĠĠ Ġoverride Ġval Ġbase Resolve Provider Service : ĠBase Kotlin U ast Resolve Provider Service , ĊĠĠĠ Ġexpression Producer : Ġ( U Element ) Ġ-> ĠU Expression Ċ ) Ġ: ĠKotlin Abstract U Element ( given Parent ), ĠU Named Expression Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġexpression : ĠU Expression Ġby Ġl z Ġ{ Ġexpression Producer ( this ) Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġu Annotations : ĠList < U Annotation > Ġ= Ġempty List () ĊĊĠĠĠ Ġoverride Ġval Ġpsi : ĠPsi Element ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġval Ġjava Psi : ĠPsi Element ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Argument : ĠValue Argument , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġu ast Parent : ĠU Element ? ĊĠĠĠĠĠĠĠ Ġ): ĠU Named Expression Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexpression Ġ= Ġvalue Argument . get Argument Expression () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠService Manager . getService ( value Argument . as Element (). project , ĠBase Kotlin U ast Resolve Provider Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKotlin U Named Expression ( name , Ġvalue Argument . as Element (), Ġu ast Parent , Ġservice ) Ġ{ Ġexpression Parent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpression ?. let Ġ{ Ġexpression Parent . get Language Plugin (). convert Opt ( it , Ġexpression Parent ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠU ast Empty Expression ( expression Parent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Arguments : ĠList < Value Argument >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġu ast Parent : ĠU Element ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Resolve Provider Service : ĠBase Kotlin U ast Resolve Provider Service , ĊĠĠĠĠĠĠĠ Ġ): ĠU Named Expression Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKotlin U Named Expression ( name , Ġnull , Ġu ast Parent , Ġbase Resolve Provider Service ) Ġ{ Ġexpression Parent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin U Var arg Expression ( value Arguments , Ġexpression Parent , Ġbase Resolve Provider Service ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ