Minor: fixed tests.
This commit is contained in:
@@ -33,6 +33,7 @@ import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
import org.jetbrains.jet.plugin.caches.JetShortNamesCache;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
@@ -176,6 +177,9 @@ class CompletionSession {
|
||||
|
||||
if (descriptor instanceof ClassDescriptor) {
|
||||
ClassDescriptor classDescriptor = (ClassDescriptor) descriptor;
|
||||
|
||||
if (KotlinBuiltIns.getInstance().isUnit(classDescriptor.getDefaultType())) return true;
|
||||
|
||||
ClassKind kind = classDescriptor.getKind();
|
||||
return !(kind == ClassKind.OBJECT || kind == ClassKind.CLASS_OBJECT);
|
||||
}
|
||||
|
||||
@@ -174,14 +174,14 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
|
||||
|
||||
@Nullable
|
||||
private DeclarationDescriptor findCurrentDescriptorForClass(@NotNull ClassDescriptor originalDescriptor) {
|
||||
if (originalDescriptor.getKind().isSingleton()) {
|
||||
// BindingContext doesn't contain an information about class descriptor of class object. For example see testEmptyRange.
|
||||
if (DescriptorUtils.isClassObject(originalDescriptor)) {
|
||||
DeclarationDescriptor currentParent = findCurrentDescriptor(originalDescriptor.getContainingDeclaration());
|
||||
if (currentParent == null) return null;
|
||||
return ((ClassDescriptor) currentParent).getClassObjectDescriptor();
|
||||
}
|
||||
else {
|
||||
return bindingContext.get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, DescriptorUtils.getFqName(originalDescriptor));
|
||||
}
|
||||
|
||||
return bindingContext.get(BindingContext.FQNAME_TO_CLASS_DESCRIPTOR, DescriptorUtils.getFqName(originalDescriptor));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user