diff --git a/compiler/testData/diagnostics/tests/ImportResolutionOrder.kt b/compiler/testData/diagnostics/tests/imports/ImportResolutionOrder.kt similarity index 100% rename from compiler/testData/diagnostics/tests/ImportResolutionOrder.kt rename to compiler/testData/diagnostics/tests/imports/ImportResolutionOrder.kt diff --git a/compiler/testData/diagnostics/tests/imports/RenameOnImport.kt b/compiler/testData/diagnostics/tests/imports/RenameOnImport.kt new file mode 100644 index 00000000000..a642f9ef13c --- /dev/null +++ b/compiler/testData/diagnostics/tests/imports/RenameOnImport.kt @@ -0,0 +1,11 @@ +// FILE: a.kt +package a + +val x = 1 + +// FILE: b.kt +package b + +import a.x as AX + +val y = AX \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index 8aaf5640121..d93a87a63f2 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -33,7 +33,7 @@ import org.jetbrains.jet.checkers.AbstractJetDiagnosticsTest; @InnerTestClasses({JetDiagnosticsTestGenerated.Tests.class, JetDiagnosticsTestGenerated.Script.class, JetDiagnosticsTestGenerated.TailRecursion.class}) public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { @TestMetadata("compiler/testData/diagnostics/tests") - @InnerTestClasses({Tests.Annotations.class, Tests.BackingField.class, Tests.CallableReference.class, Tests.Cast.class, Tests.CheckArguments.class, Tests.ClassObjects.class, Tests.ControlFlowAnalysis.class, Tests.ControlStructures.class, Tests.DataClasses.class, Tests.DataFlow.class, Tests.DataFlowInfoTraversal.class, Tests.DeclarationChecks.class, Tests.DelegatedProperty.class, Tests.Deparenthesize.class, Tests.Enum.class, Tests.Evaluate.class, Tests.Extensions.class, Tests.FunctionLiterals.class, Tests.Generics.class, Tests.IncompleteCode.class, Tests.Inference.class, Tests.Infos.class, Tests.Inline.class, Tests.Inner.class, Tests.J_k.class, Tests.Jdk_annotations.class, Tests.Library.class, Tests.NamedArguments.class, Tests.NullabilityAndAutoCasts.class, Tests.NullableTypes.class, Tests.Numbers.class, Tests.Objects.class, Tests.OperatorsOverloading.class, Tests.Overload.class, Tests.Override.class, Tests.Recovery.class, Tests.Redeclarations.class, Tests.Regressions.class, Tests.Resolve.class, Tests.Scopes.class, Tests.SenselessComparison.class, Tests.Shadowing.class, Tests.SmartCasts.class, Tests.Substitutions.class, Tests.Subtyping.class, Tests.Suppress.class, Tests.ThisAndSuper.class, Tests.Unit.class, Tests.Varargs.class, Tests.When.class}) + @InnerTestClasses({Tests.Annotations.class, Tests.BackingField.class, Tests.CallableReference.class, Tests.Cast.class, Tests.CheckArguments.class, Tests.ClassObjects.class, Tests.ControlFlowAnalysis.class, Tests.ControlStructures.class, Tests.DataClasses.class, Tests.DataFlow.class, Tests.DataFlowInfoTraversal.class, Tests.DeclarationChecks.class, Tests.DelegatedProperty.class, Tests.Deparenthesize.class, Tests.Enum.class, Tests.Evaluate.class, Tests.Extensions.class, Tests.FunctionLiterals.class, Tests.Generics.class, Tests.Imports.class, Tests.IncompleteCode.class, Tests.Inference.class, Tests.Infos.class, Tests.Inline.class, Tests.Inner.class, Tests.J_k.class, Tests.Jdk_annotations.class, Tests.Library.class, Tests.NamedArguments.class, Tests.NullabilityAndAutoCasts.class, Tests.NullableTypes.class, Tests.Numbers.class, Tests.Objects.class, Tests.OperatorsOverloading.class, Tests.Overload.class, Tests.Override.class, Tests.Recovery.class, Tests.Redeclarations.class, Tests.Regressions.class, Tests.Resolve.class, Tests.Scopes.class, Tests.SenselessComparison.class, Tests.Shadowing.class, Tests.SmartCasts.class, Tests.Substitutions.class, Tests.Subtyping.class, Tests.Suppress.class, Tests.ThisAndSuper.class, Tests.Unit.class, Tests.Varargs.class, Tests.When.class}) public static class Tests extends AbstractJetDiagnosticsTest { @TestMetadata("Abstract.kt") public void testAbstract() throws Exception { @@ -254,11 +254,6 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest("compiler/testData/diagnostics/tests/IllegalModifiers.kt"); } - @TestMetadata("ImportResolutionOrder.kt") - public void testImportResolutionOrder() throws Exception { - doTest("compiler/testData/diagnostics/tests/ImportResolutionOrder.kt"); - } - @TestMetadata("IncDec.kt") public void testIncDec() throws Exception { doTest("compiler/testData/diagnostics/tests/IncDec.kt"); @@ -3344,6 +3339,24 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { } } + @TestMetadata("compiler/testData/diagnostics/tests/imports") + public static class Imports extends AbstractJetDiagnosticsTest { + public void testAllFilesPresentInImports() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/diagnostics/tests/imports"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("ImportResolutionOrder.kt") + public void testImportResolutionOrder() throws Exception { + doTest("compiler/testData/diagnostics/tests/imports/ImportResolutionOrder.kt"); + } + + @TestMetadata("RenameOnImport.kt") + public void testRenameOnImport() throws Exception { + doTest("compiler/testData/diagnostics/tests/imports/RenameOnImport.kt"); + } + + } + @TestMetadata("compiler/testData/diagnostics/tests/incompleteCode") @InnerTestClasses({IncompleteCode.DiagnosticWithSyntaxError.class}) public static class IncompleteCode extends AbstractJetDiagnosticsTest { @@ -7087,6 +7100,7 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { suite.addTestSuite(Extensions.class); suite.addTest(FunctionLiterals.innerSuite()); suite.addTest(Generics.innerSuite()); + suite.addTestSuite(Imports.class); suite.addTest(IncompleteCode.innerSuite()); suite.addTest(Inference.innerSuite()); suite.addTestSuite(Infos.class); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java index eb234b2f88b..58acf973f4f 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java @@ -340,7 +340,10 @@ public class WritableScopeImpl extends WritableScopeWithImports { checkMayWrite(); checkForRedeclaration(name, variableDescriptor); + getVariableOrClassDescriptors().put(name, variableDescriptor); + getPropertyGroups().put(name, variableDescriptor); + allDescriptors.add(variableDescriptor); addToDeclared(variableDescriptor); }