No subpackages of current package resolved by short name

This commit is contained in:
Valentin Kipyatkov
2014-12-25 17:14:28 +03:00
parent 817b86a820
commit a383a82ddd
9 changed files with 16 additions and 8 deletions
@@ -23,6 +23,7 @@ import kotlin.Function1;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
import org.jetbrains.jet.lang.psi.*;
import org.jetbrains.jet.lang.resolve.ClassesInPackageScope;
import org.jetbrains.jet.lang.resolve.ImportPath;
import org.jetbrains.jet.lang.resolve.JetModuleUtil;
import org.jetbrains.jet.lang.resolve.TemporaryBindingTrace;
@@ -97,7 +98,7 @@ public class ScopeProvider {
public JetScope[] collectFileScopes(@NotNull JetFile file) {
List<JetScope> list = new ArrayList<JetScope>();
list.add(getFilePackageDescriptor(file).getMemberScope());
list.add(new ClassesInPackageScope(getFilePackageDescriptor(file)));
list.add(JetModuleUtil.getSubpackagesOfRootScope(resolveSession.getModuleDescriptor()));
list.add(explicitImportScopes.invoke(file));
list.addAll(additionalFileScopeProvider.scopes(file));
@@ -3,6 +3,6 @@
// This is a stub test. One should not extend Java packages that come from libraries.
package java
val c : lang.Class<*>? = null
val c : java.lang.Class<*>? = null
val <T> Array<T>?.length : Int get() = if (this != null) <!DEBUG_INFO_SMARTCAST!>this<!>.size() else throw NullPointerException()
@@ -4,5 +4,5 @@ package root.a
// FILE: b.kt
package root
val x = <!EXPRESSION_EXPECTED_PACKAGE_FOUND!>a<!>
val x = root.<!EXPRESSION_EXPECTED_PACKAGE_FOUND!>a<!>
val y2 = <!PACKAGE_IS_NOT_AN_EXPRESSION!>package<!>
@@ -1,7 +1,7 @@
package
package root {
internal val x: [ERROR : Type for a]
internal val x: [ERROR : Type for root.a]
internal val y2: [ERROR : Type for package]
package root.a {
@@ -24,9 +24,10 @@ package foobar.a
// FILE: b.kt
package foobar
val x1 = a.a
val x1 = <!UNRESOLVED_REFERENCE!>a<!>.<!DEBUG_INFO_ELEMENT_WITH_ERROR_TYPE!>a<!>
val x2 = foobar.a.a
val y1 = a.b
val y1 = foobar.a.b
/////////////////////////////////////////////////////////////////////////
@@ -1,7 +1,8 @@
package
package foobar {
internal val x1: java.util.List<kotlin.Int>? = null
internal val x1: [ERROR : <ERROR PROPERTY TYPE>]
internal val x2: java.util.List<kotlin.Int>? = null
internal val y1: kotlin.List<kotlin.Int>? = null
internal fun </*0*/ O> done(/*0*/ result: O): foobar.Iteratee<kotlin.Any?, O>
@@ -1,10 +1,13 @@
// FILE: a.kt
package example.ns
val y : Any? = 2
// FILE: b.kt
package example
import example.ns
object Obj {
val y : Any? = 2
}
@@ -5,4 +5,4 @@ val y: Any? = 2
// FILE: b.kt
package example
val x: Int = if (ns.y is Int) <!DEBUG_INFO_SMARTCAST!>ns.y<!> else 2
val x: Int = if (example.ns.y is Int) <!DEBUG_INFO_SMARTCAST!>example.ns.y<!> else 2
@@ -1,3 +1,5 @@
package a
import a.b
<selection>val c = b.B()</selection>