/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . ide . intent ions Ċ Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . rust . ide . utils . Boolean Expr Simpl ifier Ċ import Ġorg . rust . lang . core . psi . Rs Expr Ċ import Ġorg . rust . lang . core . psi . ext . ancestor Strict Ċ import Ġorg . rust . lang . core . psi . ext . ance stors Ċ Ċ class ĠSimpl ify Boolean Expression Int ention Ġ: ĠRs Element Base Int ention Action < Rs Expr >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetText () Ġ= Ġ" Simpl ify Ġboolean Ġexpression " ĊĠĠĠ Ġoverride Ġfun Ġget Family Name () Ġ= Ġ" Simpl ify Ġboolean Âł expression " ĊĊĠĠĠ Ġoverride Ġfun Ġfind Applicable Context ( project : ĠProject , Ġeditor : ĠEditor , Ġelement : ĠPsi Element ): ĠRs Expr ? Ġ= ĊĠĠĠĠĠĠĠ Ġelement . ancestor Strict < Rs Expr >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . ance stors ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take While Ġ{ Ġit Ġis ĠRs Expr Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġit Ġas ĠRs Expr Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . find Last Ġ{ ĠBoolean Expr Simpl ifier . can Be Simpl ified ( it ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke ( project : ĠProject , Ġeditor : ĠEditor , Ġctx : ĠRs Expr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsimplified Ġ= ĠBoolean Expr Simpl ifier ( project ). simplify ( ctx ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġctx . replace ( simpl ified ) ĊĠĠĠ Ġ} Ċ } Ċ