/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠMar cin ĠBu k ow ie ck i . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġio . vac uum . quick fix . concurrency Ċ Ċ import Ġcom . go ide . psi . Go Simple Statement Ċ import Ġcom . go ide . psi . impl . Go Element Factory Ċ import Ġcom . intellij . code Inspection . Local Quick Fix Ċ import Ġcom . intellij . code Inspection . Problem Descriptor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Smart Psi Element Pointer Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMar cin ĠBu k ow ie ck i Ċ Ġ*/ Ċ class ĠEmpty Critical Section Quick fix ( private Ġval Ġunlock Stmt Ref : ĠSmart Psi Element Pointer < Go Simple Statement >) Ġ: ĠLocal Quick Fix Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Family Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Add Ġdefer Ġstatement " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply Fix ( project : ĠProject , Ġdescriptor : ĠProblem Descriptor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġunlock Stmt Ref . element ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreated De fer Statement Ġ= ĠGo Element Factory . create De fer Statement ( project , Ġelement . text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . replace ( created De fer Statement ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }