package Ġcom . m adr apps . handle bars . completion Ċ Ċ import Ġcom . d mar cot te . handle bars . parsing . Hb Token Types .* Ċ import Ġcom . d mar cot te . handle bars . psi . Hb Param Ċ import Ġcom . intellij . patterns . Pattern Condition Ċ import Ġcom . intellij . patterns . Platform Patterns . psi Element Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . util . Psi Tree Util Ċ import Ġcom . intellij . util . Processing Context Ċ Ċ class ĠEach Block Pattern Ġ: ĠPattern Condition < Psi Element >(" each Block ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġaccepts ( t : ĠPsi Element , Ġcontext : ĠProcessing Context ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Inside Param Ġ= Ġpsi Element (). with ElementType ( ID ). with Ancestor ( 4 , Ġpsi Element ( PARAM )). accept s ( t ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Inside Param ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠPsi Tree Util . getParent OfType ( t , ĠH b Param :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprev Sibling Node Ġ= Ġposition ?. prev Sibling ?. prev Sibling ?. node ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprev Sibling Node ?. elementType Ġ== ĠMUST ACHE _ NAME Ġ&& Ġprev Sibling Node ?. text Ġ== Ġ" each " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGeneral Block Pattern Ġ: ĠPattern Condition < Psi Element >(" block ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġaccepts ( t : ĠPsi Element , Ġcontext : ĠProcessing Context ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Inside Param Ġ= Ġpsi Element (). with ElementType ( ID ). with Ancestor ( 4 , Ġpsi Element ( PARAM )). accept s ( t ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Inside Param ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= ĠPsi Tree Util . getParent OfType ( t , ĠH b Param :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprev Sibling Node Ġ= Ġposition ?. prev Sibling ?. prev Sibling ?. node ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġprev Sibling Node ?. elementType Ġ== ĠMUST ACHE _ NAME ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠSimple Must ache Pattern Ġ: ĠPattern Condition < Psi Element >(" simple Must ache ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġaccepts ( t : ĠPsi Element , Ġcontext : ĠProcessing Context ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpsi Element (). with ElementType ( ID ). with Ancestor ( 4 , Ġpsi Element ( MUST ACHE )). accept s ( t ) ĊĠĠĠ Ġ} Ċ } Ċ