/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 Ġ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 Ġarrow . meta . ph ases . codegen . ir . interpreter . intr insics Ċ Ċ import Ġarrow . meta . ph ases . codegen . ir . interpreter . stack . Stack Ċ import Ġorg . jetbrains . kotlin . ir . Ir Element Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Function Ċ import Ġorg . jetbrains . kotlin . ir . interpreter . Execution Result Ċ import Ġorg . jetbrains . kotlin . ir . interpreter . exceptions . Interpreter Method NotFoundException Ċ Ċ internal Ġclass ĠIntr insic Evaluator Ġ{ ĊĠĠĠ Ġfun Ġevaluate ( ir Function : ĠIr Function , Ġstack : ĠStack , Ġinterpret : ĠIr Element . () Ġ-> ĠExecution Result ): ĠExecution Result Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEmpty Array . equalTo ( ir Function ) Ġ-> ĠEmpty Array . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArray Of . equalTo ( ir Function ) Ġ-> ĠArray Of . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArray Of Null s . equalTo ( ir Function ) Ġ-> ĠArray Of Null s . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnum Values . equalTo ( ir Function ) Ġ-> ĠEnum Values . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnum ValueOf . equalTo ( ir Function ) Ġ-> ĠEnum ValueOf . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegex Replace . equalTo ( ir Function ) Ġ-> ĠRegex Replace . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnum HashCode . equalTo ( ir Function ) Ġ-> ĠEnum HashCode . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJs Primitives . equalTo ( ir Function ) Ġ-> ĠJs Primitives . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArray Constructor . equalTo ( ir Function ) Ġ-> ĠArray Constructor . evaluate ( ir Function , Ġstack , Ġinterpret ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠInterpreter Method NotFoundException (" Method Ġ${ ir Function . name } Ġhasn 't Ġimplemented ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }