Merge remote-tracking branch 'origin/master'

This commit is contained in:
Ilya.Kazakevich
2014-02-06 19:41:35 +04:00
6 changed files with 30 additions and 9 deletions
@@ -23,6 +23,8 @@ import com.intellij.openapi.editor.RangeMarker;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
import com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl;
@@ -156,8 +158,13 @@ public class AllClassesGetter {
@Override
public boolean process(PsiClass psiClass) {
if (parameters.getInvocationCount() < 2 && PsiReferenceExpressionImpl.seemsScrambled(psiClass)) {
return true;
if (parameters.getInvocationCount() < 2) {
if (PsiReferenceExpressionImpl.seemsScrambled(psiClass)) {
return true;
}
if (!StringUtil.isCapitalized(psiClass.getName()) && !Registry.is("ide.completion.show.lower.case.classes")) {
return true;
}
}
assert psiClass != null;
@@ -90,7 +90,7 @@ public class DefaultClassNavigationContributor implements ChooseByNameContributo
final boolean isAnnotation = parameters.getLocalPatternName().startsWith("@");
@Override
public boolean process(PsiClass aClass) {
if (aClass.getContainingFile().getVirtualFile() == null) return true;
if (aClass.getContainingFile().getVirtualFile() == null || !aClass.isPhysical()) return true;
if (isAnnotation && !aClass.isAnnotationType()) return true;
return processor.process(aClass);
}
@@ -0,0 +1,6 @@
public class Zoo {
void foo() {
abcdefg<caret>x
}
}
@@ -1370,8 +1370,7 @@ class Foo {{
myFixture.configureByText "a.java", """
class Foo extends my<caret>
"""
myFixture.completeBasic()
myFixture.type('\n')
myFixture.complete(CompletionType.BASIC, 2)
myFixture.checkResult '''import foo.myClass;
class Foo extends myClass
@@ -1405,4 +1404,11 @@ class Bar {
public void testNoMathTargetMethods() { doAntiTest() }
public void testNoLowercaseClasses() {
myFixture.addClass("package foo; public class abcdefgXxx {}")
doAntiTest()
myFixture.complete(CompletionType.BASIC, 2)
assertStringItems('abcdefgXxx')
}
}
@@ -232,6 +232,10 @@ ide.completion.show.better.matching.classes=true
# suppress inspection "UnusedProperty"
ide.completion.show.better.matching.classes.description=Show non-imported but good matching classes in basic completion
ide.completion.show.lower.case.classes=false
# suppress inspection "UnusedProperty"
ide.completion.show.lower.case.classes.description=Show non-imported classes starting with a lowercase letter in basic completion
ide.completion.delay.autopopup.until.completed=false
# suppress inspection "UnusedProperty"
ide.completion.delay.autopopup.until.completed.description=Controls if completion autopopup is shown immediately and populated in background, or delayed until all suggestion are calculated
@@ -31,7 +31,6 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.groovy.config.GroovyConfigUtils;
import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes;
import org.jetbrains.plugins.groovy.lang.lexer.TokenSets;
import org.jetbrains.plugins.groovy.lang.parser.GroovyElementTypes;
import org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor;
@@ -52,7 +51,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.toplevel.packaging.GrPackageDef
import org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase;
import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil;
import org.jetbrains.plugins.groovy.lang.psi.stubs.GrModifierListStub;
import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil;
import java.util.ArrayList;
import java.util.Map;
@@ -362,13 +360,13 @@ public class GrModifierListImpl extends GrStubElementBase<GrModifierListStub> im
@NotNull
public GrAnnotation[] getAnnotations() {
return CachedValuesManager.getManager(getProject()).createCachedValue(new CachedValueProvider<GrAnnotation[]>() {
return CachedValuesManager.getCachedValue(this, new CachedValueProvider<GrAnnotation[]>() {
@Nullable
@Override
public Result<GrAnnotation[]> compute() {
return Result.create(GrAnnotationCollector.getResolvedAnnotations(GrModifierListImpl.this), PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT);
}
}).getValue();
});
}
@NotNull