From dd9aecf5b9002955b0d6e9b155bfa19509f1097a Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 9 Sep 2011 12:18:08 +0200 Subject: [PATCH] increment java structure mod count when deleting class caption --- .../intellij/psi/impl/JavaPsiFacadeImpl.java | 4 -- .../daemon/RehighlightingTest.groovy | 65 +++++++++++++++++++ 2 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 java/java-tests/testSrc/com/intellij/codeInsight/daemon/RehighlightingTest.groovy diff --git a/java/java-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java b/java/java-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java index 0321de8f5ef0..4deda4992a36 100644 --- a/java/java-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/JavaPsiFacadeImpl.java @@ -579,10 +579,6 @@ public class JavaPsiFacadeImpl extends JavaPsiFacadeEx implements Disposable { break; case CHILDREN_CHANGED: - if (event.isGenericChildrenChange()) { - // general childrenChanged() event after each change - break; - } processChange(event.getParent(), event.getParent(), null); break; diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/RehighlightingTest.groovy b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/RehighlightingTest.groovy new file mode 100644 index 000000000000..34b9f752f563 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/RehighlightingTest.groovy @@ -0,0 +1,65 @@ +/* + * Copyright 2000-2011 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.intellij.codeInsight.daemon + +import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase +import com.intellij.openapi.application.ApplicationManager + +/** + * @author peter + */ +class RehighlightingTest extends JavaCodeInsightFixtureTestCase { + + public void testDeleteClassCaptionUndo() { + myFixture.addClass('package java.lang.reflect; public class Modifier {}') + + myFixture.configureByText 'a.java', ''' +import java.lang.reflect.Modifier; + +class MemberModifiers extends Modifier { + public static final MemberModifiers DEFAULT_MODIFIERS = new MemberModifiers(false, false, false); + + private final boolean isVirtual; + private final boolean isOverride; + + public MemberModifiers(boolean isAbstract, boolean isVirtual, boolean isOverride) { + this.isVirtual = isVirtual; + this.isOverride = isOverride; + } + + + public boolean isVirtual() { + return isVirtual; + } + + public boolean isOverride() { + return isOverride; + } +} +''' + myFixture.checkHighlighting(false, false, false) + def caption = myFixture.editor.selectionModel.selectedText + myFixture.type(' ') + assert myFixture.doHighlighting().size() > 0 + + ApplicationManager.application.runWriteAction { + myFixture.editor.document.insertString(myFixture.editor.caretModel.offset, caption) + } + + myFixture.checkHighlighting(false, false, false) + } + +}