/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 7 Ġ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 . debugger . sequence . trace . dsl Ċ Ċ import Ġcom . intellij . debugger . streams . trace . dsl . Con ver table Ċ import Ġcom . intellij . debugger . streams . trace . dsl . Expression Ċ import Ġcom . intellij . debugger . streams . trace . dsl . For Loop Body Ċ import Ġcom . intellij . debugger . streams . trace . dsl . Variable Ċ Ċ class ĠKotlin ForEach Loop ( ĊĠĠĠ Ġprivate Ġval Ġiterate Variable : ĠVariable , ĊĠĠĠ Ġprivate Ġval Ġcollection : ĠExpression , ĊĠĠĠ Ġprivate Ġval Ġloop Body : ĠFor Loop Body Ċ ) Ġ: ĠCon ver table Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġto Code ( indent : ĠInt ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġ" for Ġ(${ iterate Variable . name } Ġin Ġ${ collection . to Code () }) Ġ{\ n ". with Indent ( indent ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloop Body . to Code ( indent Ġ+ Ġ 1 ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }". with Indent ( indent ) Ċ }