diff --git a/java/openapi/src/com/intellij/codeInsight/generation/surroundWith/JavaExpressionSurrounder.java b/java/openapi/src/com/intellij/codeInsight/generation/surroundWith/JavaExpressionSurrounder.java index 1265068bcbd1..d0fbb4753667 100644 --- a/java/openapi/src/com/intellij/codeInsight/generation/surroundWith/JavaExpressionSurrounder.java +++ b/java/openapi/src/com/intellij/codeInsight/generation/surroundWith/JavaExpressionSurrounder.java @@ -1,6 +1,5 @@ - /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2015 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. @@ -14,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package com.intellij.codeInsight.generation.surroundWith; import com.intellij.lang.surroundWith.Surrounder; -import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; @@ -28,15 +25,16 @@ import com.intellij.psi.PsiExpression; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; +import java.util.Arrays; + public abstract class JavaExpressionSurrounder implements Surrounder { public static ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.javaExpressionSurrounder"); - - private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.generation.surroundWith.SurroundExpressionHandler"); @Override public boolean isApplicable(@NotNull PsiElement[] elements) { - LOG.assertTrue(elements.length == 1 && elements[0] instanceof PsiExpression); - return isApplicable((PsiExpression)elements[0]); + return elements.length == 1 && + elements[0] instanceof PsiExpression && + isApplicable((PsiExpression)elements[0]); } public abstract boolean isApplicable(PsiExpression expr); @@ -45,8 +43,11 @@ public abstract class JavaExpressionSurrounder implements Surrounder { public TextRange surroundElements(@NotNull Project project, @NotNull Editor editor, @NotNull PsiElement[] elements) throws IncorrectOperationException { + if (elements.length != 1 || !(elements[0] instanceof PsiExpression)) { + throw new IllegalArgumentException(Arrays.toString(elements)); + } return surroundExpression(project, editor, (PsiExpression)elements[0]); } public abstract TextRange surroundExpression(Project project, Editor editor, PsiExpression expr) throws IncorrectOperationException; -} \ No newline at end of file +}