package Ġat . hs chro ed l . fluent ast . ast . statement Ċ Ċ import Ġat . hs chro ed l . fluent ast . ast . expression . Fluent Expression Ċ import Ġorg . eclipse . jdt . core . dom . AST Ċ import Ġorg . eclipse . jdt . core . dom . While Statement Ċ Ċ class ĠFluent While Statement Ġinternal Ġconstructor ( private Ġval Ġcondition : ĠFluent Expression , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġbody : ĠFluent Statement ) Ġ: ĠFluent Statement () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild ( ast : ĠAST ): ĠWhile Statement Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatement Ġ= Ġast . new While Statement () ĊĠĠĠĠĠĠĠ Ġstatement . expression Ġ= Ġcondition . build ( ast ) ĊĠĠĠĠĠĠĠ Ġstatement . body Ġ= Ġbody . build ( ast ) ĊĠĠĠĠĠĠĠ Ġreturn Ġstatement ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDo Partial Ġinternal Ġconstructor ( private Ġval Ġcondition : ĠFluent Expression ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġdo _( statement : ĠFluent Statement ): ĠFluent While Statement Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFluent While Statement ( condition , Ġstatement ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ