/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . r . interpreter Ċ Ċ import Ġcom . intellij . openapi . util . Version Ċ Ċ interface ĠR Interpreter Info Ġ{ ĊĠ Ġval Ġinterpreter Name : ĠString ĊĠ Ġval Ġinterpreter Location : ĠR Interpreter Location ĊĠ Ġval Ġversion : ĠVersion Ċ } Ċ Ċ data Ġclass ĠR Basic Interpreter Info ( ĊĠ Ġoverride Ġval Ġinterpreter Name : ĠString , ĊĠ Ġoverride Ġval Ġinterpreter Location : ĠR Interpreter Location , ĊĠ Ġoverride Ġval Ġversion : ĠVersion Ċ ) Ġ: ĠR Interpreter Info Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġfrom ( name : ĠString , Ġlocation : ĠR Interpreter Location ): ĠR Basic Interpreter Info ? Ġ{ ĊĠĠĠĠĠ Ġval Ġversion Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġlocation . getVersion () ĊĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġreturn Ġversion ?. let Ġ{ ĠR Basic Interpreter Info ( name , Ġlocation , Ġit ) Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ fun ĠList < R Interpreter Info >. findBy Path ( path : ĠString ): ĠR Interpreter Info ? Ġ{ ĊĠ Ġreturn Ġfind Ġ{ Ġit . interpreter Location . to Local Path OrNull () Ġ== Ġpath Ġ} Ċ } Ċ