///*
// * Copyright 2000-2009 JetBrains s.r.o.
// *
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// * http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//package com.sylvanaar.idea.Lua.intentions.control;
//
//import com.intellij.psi.PsiElement;
//import org.jetbrains.plugins.lua.intentions.base.ErrorUtil;
//import org.jetbrains.plugins.lua.intentions.base.PsiElementPredicate;
//import org.jetbrains.plugins.lua.intentions.utils.ConditionalUtils;
//import org.jetbrains.plugins.lua.lang.psi.api.statements.GrIfStatement;
//import org.jetbrains.plugins.lua.lang.psi.api.statements.GrStatement;
//
//
//class MergeIfAndPredicate implements PsiElementPredicate {
// public boolean satisfiedBy(PsiElement element) {
// if (!(element instanceof GrIfStatement)) {
// return false;
// }
// final GrIfStatement ifStatement = (GrIfStatement) element;
// if (ErrorUtil.containsError(ifStatement)) {
// return false;
// }
// GrStatement thenBranch = ifStatement.getThenBranch();
// if (thenBranch == null) {
// return false;
// }
// thenBranch = ConditionalUtils.stripBraces((GrStatement) thenBranch);
// if (!(thenBranch instanceof GrIfStatement)) {
// return false;
// }
// GrStatement elseBranch = ifStatement.getElseBranch();
// if (elseBranch != null) {
// elseBranch = ConditionalUtils.stripBraces(elseBranch);
// if (elseBranch != null) {
// return false;
// }
// }
//
// final GrIfStatement childIfStatement = (GrIfStatement) thenBranch;
//
// return childIfStatement.getElseBranch() == null;
// }
//}