package com.jetbrains.lang.dart.ide.surroundWith.statement; import com.intellij.psi.PsiElement; import com.jetbrains.lang.dart.psi.DartForLoopPartsInBraces; import org.jetbrains.annotations.Nullable; /** * @author: Fedor.Korotkov */ public class DartWithForSurrounder extends DartBlockAndChildStatementSurrounderBase<DartForLoopPartsInBraces> { @Override public String getTemplateDescription() { return "for"; } @Override protected String getTemplateText() { return "for(a in []){\n}"; } @Override protected Class<DartForLoopPartsInBraces> getClassToDelete() { return DartForLoopPartsInBraces.class; } @Nullable @Override protected PsiElement findElementToDelete(PsiElement surrounder) { PsiElement result = super.findElementToDelete(surrounder); return result instanceof DartForLoopPartsInBraces ? ((DartForLoopPartsInBraces)result).getForLoopParts() : null; } }