package Ġname . k ro pp . intellij . make file . psi Ċ Ċ import Ġcom . intellij . openapi . util .* Ċ import Ġcom . intellij . psi .* Ċ import Ġname . k ro pp . intellij . make file . psi . impl .* Ċ Ċ class ĠMakefile Variable Usage Manip ulator Ġ: ĠAbstract Element Manip ulator < Makefile Variable Usage Impl >() Ġ{ ĊĠ Ġoverride Ġfun Ġhandle Content Change ( element : ĠMakefile Variable Usage Impl , Ġrange : ĠText Range , Ġnew Content : ĠString ?): ĠMakefile Variable Usage Impl ? Ġ{ ĊĠĠĠ Ġval ĠnewName Node Ġ= ĠMakefile Element Factory . create Chars ( element . project , Ġnew Content Ġ?: Ġ"") ĊĊĠĠĠ Ġval Ġsecond Ġ= Ġelement . firstChild . next Sibling . node ĊĠĠĠ Ġval Ġname Node Ġ= Ġif Ġ( second . elementType Ġ== ĠMakefile Types . OPEN _ CURL Y Ġ|| Ġsecond . elementType Ġ== ĠMakefile Types . OPEN _ PAREN ) Ġ{ ĊĠĠĠĠĠ Ġelement . firstChild . next Sibling . next Sibling . node ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġsecond ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġelement . node . replace Child ( name Node , ĠnewName Node ) ĊĠĠĠ Ġreturn Ġelement ĊĠ Ġ} Ċ }