/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . Ġ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 . ir . backend . js . lower . inline Ċ Ċ import Ġorg . jetbrains . kotlin . ir . Ir Element Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Declaration Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Declaration Container Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Declaration Parent Ċ import Ġorg . jetbrains . kotlin . ir . declarations . Ir Simple Function Ċ import Ġorg . jetbrains . kotlin . ir . util . Symbol Table Ċ import Ġorg . jetbrains . kotlin . ir . visitor s . Ir Element Visitor Ċ Ċ // Ġbackend . native / compiler / ir / backend . native / src / org / jetbrains / kotlin / ir / util / Ir Utils 2 . kt Ċ fun ĠIr Simple Function . set Overrides ( symbol Table : ĠSymbol Table ) Ġ{ ĊĠĠĠ Ġassert ( this . over ridden Symbols . isEmpty ()) ĊĊĠĠĠ Ġthis . descriptor . over ridden Descriptors . map To ( this . over ridden Symbols ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsymbol Table . reference Simple Function ( it . original ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠIr Declaration Container . add Children ( declarations : ĠList < Ir Declaration >) Ġ{ ĊĠĠĠ Ġdeclarations . forEach Ġ{ Ġthis . addChild ( it ) Ġ} Ċ } Ċ Ċ fun ĠIr Declaration Container . addChild ( declaration : ĠIr Declaration ) Ġ{ ĊĠĠĠ Ġthis . declarations Ġ+= Ġdeclaration ĊĠĠĠ Ġdeclaration . accept ( Set Declarations Parent Visitor , Ġthis ) Ċ } Ċ Ċ object ĠSet Declarations Parent Visitor Ġ: ĠIr Element Visitor < Unit , ĠIr Declaration Parent > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit Element ( element : ĠIr Element , Ġdata : ĠIr Declaration Parent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġ! is ĠIr Declaration Parent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . accept Children ( this , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvisit Declaration ( declaration : ĠIr Declaration , Ġdata : ĠIr Declaration Parent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdeclaration . parent Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġsuper . visit Declaration ( declaration , Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ