/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 Ġ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 . idea . refactor ing Ċ Ċ import Ġcom . intellij . psi . Psi Element Factory Ċ import Ġcom . intellij . psi . Psi Java Code Reference Element Ċ import Ġcom . intellij . psi . Psi Reference List Ċ import Ġcom . intellij . psi . Psi Reference List . Role Ċ Ċ fun ĠPsi Element Factory . create Reference List With Role ( ĊĠĠĠ Ġreferences : ĠArray < Psi Java Code Reference Element >, ĊĠĠĠ Ġrole : ĠRole Ċ ): ĠPsi Reference List ? Ġ{ ĊĠĠĠ Ġval Ġrefs Text Ġ= Ġreferences . map Ġ{ Ġit . canonical Text Ġ} ĊĠĠĠ Ġval Ġref List Text Ġ= Ġif Ġ( refs Text . isNotEmpty ()) Ġrefs Text . join ToString () Ġelse Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġwhen Ġ( role ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRole . TH ROWS _ LIST Ġ-> Ġcreate Method FromText (" void Ġfoo () Ġthrows Ġ$ ref List Text Ġ{}", Ġnull ). throws List ĊĠĠĠĠĠĠĠ ĠRole . EXT END S _ LIST Ġ-> Ġcreate Class FromText (" class ĠFoo Ġextends Ġ$ ref List Text Ġ{}", Ġnull ). inner Classes [ 0 ]. extends List ĊĠĠĠĠĠĠĠ ĠRole . IMPLEMENT S _ LIST Ġ-> Ġcreate Class FromText (" class ĠFoo Ġimplements Ġ$ ref List Text Ġ{}", Ġnull ). inner Classes [ 0 ]. implements List ĊĠĠĠĠĠĠĠ ĠRole . EXT END S _ BOUN DS _ LIST Ġ-> Ġcreate Type Parameter FromText (" T Ġextends Ġ$ ref List Text ", Ġnull ). extends List ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupportedOperationException (" Unsupported Ġrole Ġ$ role ") ĊĠĠĠ Ġ} Ċ } Ċ