/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . ir . expressions . impl Ċ Ċ import Ġorg . jetbrains . kotlin . descriptors . Class Descriptor Ċ import Ġorg . jetbrains . kotlin . descriptors . Function Descriptor Ċ import Ġorg . jetbrains . kotlin . descriptors . Type Parameter Descriptor Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Call Ċ import Ġorg . jetbrains . kotlin . ir . expressions . Ir Statement Origin Ċ import Ġorg . jetbrains . kotlin . ir . expressions . copy Type Arguments From Ċ import Ġorg . jetbrains . kotlin . ir . expressions . type Arguments Count Ċ import Ġorg . jetbrains . kotlin . ir . symbols . Ir Class Symbol Ċ import Ġorg . jetbrains . kotlin . ir . symbols . Ir Function Symbol Ċ import Ġorg . jetbrains . kotlin . ir . symbols . impl . createClass Symbol OrNull Ċ import Ġorg . jetbrains . kotlin . ir . symbols . impl . create Function Symbol Ċ import Ġorg . jetbrains . kotlin . ir . visitor s . Ir Element Visitor Ċ import Ġorg . jetbrains . kotlin . types . Kotlin Type Ċ Ċ class ĠIr Call Impl ( ĊĠĠĠ Ġstart Offset : ĠInt , ĊĠĠĠ Ġend Offset : ĠInt , ĊĠĠĠ Ġtype : ĠKotlin Type , ĊĠĠĠ Ġoverride Ġval Ġsymbol : ĠIr Function Symbol , ĊĠĠĠ Ġoverride Ġval Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠ Ġtype Arguments Count : ĠInt , ĊĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠ Ġoverride Ġval Ġsuper Qualifier Symbol : ĠIr Class Symbol ? Ġ= Ġnull Ċ ) Ġ: ĊĠĠĠ ĠIr Call With Indexed Arguments Base ( ĊĠĠĠĠĠĠĠ Ġstart Offset , Ġend Offset , Ġtype , ĊĠĠĠĠĠĠĠ Ġtype Arguments Count , ĊĠĠĠĠĠĠĠ Ġsymbol . descriptor . value Parameters . size , ĊĠĠĠĠĠĠĠ Ġorigin ĊĠĠĠ Ġ), ĊĠĠĠ ĠIr Call Ġ{ ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġstart Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġend Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġtype : ĠKotlin Type , ĊĠĠĠĠĠĠĠ Ġsymbol : ĠIr Function Symbol , ĊĠĠĠĠĠĠĠ Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments : ĠMap < Type Parameter Descriptor , ĠKotlin Type > ?, ĊĠĠĠĠĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Symbol : ĠIr Class Symbol ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: Ġthis ( start Offset , Ġend Offset , Ġtype , Ġsymbol , Ġdescriptor , Ġdescriptor . type Arguments Count , Ġorigin , Ġsuper Qualifier Symbol ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy Type Arguments From ( type Arguments ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Deprecated (" Creates Ġun bound Ġsymbols ") ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġstart Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġend Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġtype : ĠKotlin Type , ĊĠĠĠĠĠĠĠ Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Descriptor : ĠClass Descriptor ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġstart Offset , Ġend Offset , ĊĠĠĠĠĠĠĠ Ġtype , ĊĠĠĠĠĠĠĠ Ġcreate Function Symbol ( descriptor ), ĊĠĠĠĠĠĠĠ Ġdescriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments Count , ĊĠĠĠĠĠĠĠ Ġorigin , ĊĠĠĠĠĠĠĠ Ġcreate Class Symbol OrNull ( super Qualifier Descriptor ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Deprecated (" Creates Ġun bound Ġsymbols ") ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġstart Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġend Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġtype : ĠKotlin Type , ĊĠĠĠĠĠĠĠ Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments : ĠMap < Type Parameter Descriptor , ĠKotlin Type >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Descriptor : ĠClass Descriptor ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġstart Offset , Ġend Offset , ĊĠĠĠĠĠĠĠ Ġtype , ĊĠĠĠĠĠĠĠ Ġcreate Function Symbol ( descriptor ), ĊĠĠĠĠĠĠĠ Ġdescriptor , ĊĠĠĠĠĠĠĠ Ġdescriptor . type Arguments Count , ĊĠĠĠĠĠĠĠ Ġorigin , ĊĠĠĠĠĠĠĠ Ġcreate Class Symbol OrNull ( super Qualifier Descriptor ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy Type Arguments From ( type Arguments ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Deprecated (" Creates Ġun bound Ġsymbols ") ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġstart Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġend Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments : ĠMap < Type Parameter Descriptor , ĠKotlin Type >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Descriptor : ĠClass Descriptor ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġstart Offset , Ġend Offset , ĊĠĠĠĠĠĠĠ Ġdescriptor . returnType !! , ĊĠĠĠĠĠĠĠ Ġcreate Function Symbol ( descriptor ), ĊĠĠĠĠĠĠĠ Ġdescriptor , ĊĠĠĠĠĠĠĠ Ġdescriptor . type Arguments Count , ĊĠĠĠĠĠĠĠ Ġorigin , ĊĠĠĠĠĠĠĠ Ġcreate Class Symbol OrNull ( super Qualifier Descriptor ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy Type Arguments From ( type Arguments ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġstart Offset : ĠInt , Ġend Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġsymbol : ĠIr Function Symbol , ĊĠĠĠĠĠĠĠ Ġdescriptor : ĠFunction Descriptor , ĊĠĠĠĠĠĠĠ Ġtype Arguments : ĠMap < Type Parameter Descriptor , ĠKotlin Type >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Symbol : ĠIr Class Symbol ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġstart Offset , ĊĠĠĠĠĠĠĠ Ġend Offset , ĊĠĠĠĠĠĠĠ Ġdescriptor . returnType !! , ĊĠĠĠĠĠĠĠ Ġsymbol , ĊĠĠĠĠĠĠĠ Ġdescriptor , ĊĠĠĠĠĠĠĠ Ġdescriptor . type Arguments Count , ĊĠĠĠĠĠĠĠ Ġorigin , ĊĠĠĠĠĠĠĠ Ġsuper Qualifier Symbol ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcopy Type Arguments From ( type Arguments ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( start Offset : ĠInt , Ġend Offset : ĠInt , Ġsymbol : ĠIr Function Symbol , Ġorigin : ĠIr Statement Origin ? Ġ= Ġnull ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis ( start Offset , Ġend Offset , Ġsymbol , Ġsymbol . descriptor , Ġorigin Ġ= Ġorigin ) ĊĊĊĠĠĠ Ġoverride Ġval Ġsuper Qualifier : ĠClass Descriptor ? Ġ= Ġsuper Qualifier Symbol ?. descriptor ĊĊĠĠĠ Ġoverride Ġfun Ġ< R , ĠD > Ġaccept ( visitor : ĠIr Element Visitor < R , ĠD >, Ġdata : ĠD ): ĠR Ġ= ĊĠĠĠĠĠĠĠ Ġvisitor . visit Call ( this , Ġdata ) Ċ }