From 92cdb0b6e728581a2f145cb70e56d5494386a424 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 21 Nov 2013 17:28:00 +0400 Subject: [PATCH] Fix imports from objects This almost reverts 345ecbf, since now properties are no longer created for objects --- .../src/org/jetbrains/jet/lang/resolve/Importer.java | 1 - .../jet/lang/resolve/QualifiedExpressionResolver.java | 4 +--- .../tests/scopes/ImportObjectAndUseAsSupertype.kt | 2 +- .../jet/lang/resolve/scopes/WritableScopeWithImports.java | 8 +------- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Importer.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Importer.java index 74a0d1cb06a..dc620dd96de 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Importer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/Importer.java @@ -148,7 +148,6 @@ public interface Importer { @Override public void addAliasImport(@NotNull DeclarationDescriptor descriptor, @NotNull Name aliasName) { - assert !DescriptorUtils.isSingleton(descriptor) : "Never import objects: " + descriptor; imports.add(new AliasImportEntry(descriptor, aliasName)); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/QualifiedExpressionResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/QualifiedExpressionResolver.java index a22db492c6a..da722783298 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/QualifiedExpressionResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/QualifiedExpressionResolver.java @@ -111,9 +111,7 @@ public class QualifiedExpressionResolver { } for (DeclarationDescriptor descriptor : descriptors) { - if (!DescriptorUtils.isSingleton(descriptor)) { - importer.addAliasImport(descriptor, aliasName); - } + importer.addAliasImport(descriptor, aliasName); } return descriptors; diff --git a/compiler/testData/diagnostics/tests/scopes/ImportObjectAndUseAsSupertype.kt b/compiler/testData/diagnostics/tests/scopes/ImportObjectAndUseAsSupertype.kt index d598e342664..856acab79a9 100644 --- a/compiler/testData/diagnostics/tests/scopes/ImportObjectAndUseAsSupertype.kt +++ b/compiler/testData/diagnostics/tests/scopes/ImportObjectAndUseAsSupertype.kt @@ -12,7 +12,7 @@ package baz import foo.Bar -class C: Bar +class C: Bar fun test() { Bar.bar() diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeWithImports.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeWithImports.java index 158a15e9e2b..1f8f8d40838 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeWithImports.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeWithImports.java @@ -22,7 +22,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; import org.jetbrains.jet.lang.descriptors.*; -import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.utils.Printer; @@ -203,14 +202,9 @@ public abstract class WritableScopeWithImports extends JetScopeAdapter implement public void importClassifierAlias(@NotNull Name importedClassifierName, @NotNull ClassifierDescriptor classifierDescriptor) { checkMayWrite(); - if (DescriptorUtils.isSingleton(classifierDescriptor)) { - throw new IllegalStateException("must not be object: " + classifierDescriptor); - } - getCurrentIndividualImportScope().addClassifierAlias(importedClassifierName, classifierDescriptor); } - - + @Override public void importNamespaceAlias(@NotNull Name aliasName, @NotNull NamespaceDescriptor namespaceDescriptor) { checkMayWrite();