package Ġcom . an ata wa 1 2 . de compiler . optimizer . statements Ċ Ċ import Ġcom . an ata wa 1 2 . de compiler . processor . Processor Context Ċ import Ġcom . an ata wa 1 2 . de compiler . statements Gen .* Ċ import Ġkotlinx . collections . immutable . mutate Ċ Ċ /** Ċ Ġ* Ġgoto ĠL 1 Ġif Ġcondition 1 Ċ Ġ* Ġgoto ĠL 2 Ġif Ġcondition 2 Ċ Ġ* ĠĠĠĠ ĠL 1 : Ċ Ġ* Ġto Ċ Ġ* Ġgoto ĠL 2 Ġif Ġ! condition 1 Ġ&& Ġcondition 2 Ċ Ġ*/ Ċ object ĠBoolean And And Operation Statements Optimizer Ġ: ĊĠĠĠ ĠI Statements Optimizer Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġoptimize ( statements : ĠIterable < Statement >, Ġctx : ĠProcessor Context ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( statement Ġin Ġstatements ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconditional G oto 1 Ġ= Ġstatement Ġas ? ĠConditional G oto Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconditional G oto 2 Ġ= Ġconditional G oto 1 . next Ġas ? ĠConditional G oto Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Ġ= Ġconditional G oto 2 . next ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( conditional G oto 1 . label Ġ! in Ġnext . labels Targets Me ) Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( conditional G oto 2 . labels Targets Me . any Ġ{ Ġit . used By . isNotEmpty () Ġ}) Ġcontinue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprev Ġ= Ġconditional G oto 1 . prev ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprev . next Ġ= Ġconditional G oto 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconditional G oto 2 . prev Ġ= Ġprev ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠStatement . dispose ( conditional G oto 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcondition 1 Ġ= Ġconditional G oto 1 . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcondition 2 Ġ= Ġconditional G oto 2 . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġand And Ġ= ĠBoolean And And Operation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠTemporary Expression Value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠTemporary Expression Value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconditional G oto 2 . value Ġ= Ġand And ĊĠĠĠĠĠĠĠĠĠĠĠ Ġand And . left Ġ= ĠBoolean Not Value ( condition 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġand And . right Ġ= Ġcondition 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconditional G oto 2 . labels Targets Me Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconditional G oto 1 . labels Targets Me . mutate Ġ{ Ġit . addAll ( conditional G oto 2 . labels Targets Me ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconditional G oto 1 . label . used By . remove ( conditional G oto 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ // Ġ( condition 1 Ġ|| Ġcondition 2 ) Ċ // Ġ! (! condition 1 Ġ&& Ġ! condition 2 ) Ċ // Ġreal : Ġaccuracy Ġ== ( a ) Ġnull Ġ|| Ġaccuracy . equals ( MEDIUM . toString ()) Ċ // Ġreal : Ġ! (! accuracy Ġ== ( a ) Ġnull Ġ&& Ġ! accuracy . equals ( MEDIUM . toString ())) Ċ Ċ // Ġaccuracy Ġ== ( a ) Ġnull Ċ // Ġ! accuracy . equals ( MEDIUM . toString ()) Ċ