No subpackages of current package resolved by short name
This commit is contained in:
@@ -23,6 +23,7 @@ import kotlin.Function1;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
|
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
|
||||||
import org.jetbrains.jet.lang.psi.*;
|
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.ImportPath;
|
||||||
import org.jetbrains.jet.lang.resolve.JetModuleUtil;
|
import org.jetbrains.jet.lang.resolve.JetModuleUtil;
|
||||||
import org.jetbrains.jet.lang.resolve.TemporaryBindingTrace;
|
import org.jetbrains.jet.lang.resolve.TemporaryBindingTrace;
|
||||||
@@ -97,7 +98,7 @@ public class ScopeProvider {
|
|||||||
|
|
||||||
public JetScope[] collectFileScopes(@NotNull JetFile file) {
|
public JetScope[] collectFileScopes(@NotNull JetFile file) {
|
||||||
List<JetScope> list = new ArrayList<JetScope>();
|
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(JetModuleUtil.getSubpackagesOfRootScope(resolveSession.getModuleDescriptor()));
|
||||||
list.add(explicitImportScopes.invoke(file));
|
list.add(explicitImportScopes.invoke(file));
|
||||||
list.addAll(additionalFileScopeProvider.scopes(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.
|
// This is a stub test. One should not extend Java packages that come from libraries.
|
||||||
package java
|
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()
|
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
|
// FILE: b.kt
|
||||||
package root
|
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<!>
|
val y2 = <!PACKAGE_IS_NOT_AN_EXPRESSION!>package<!>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package
|
package
|
||||||
|
|
||||||
package root {
|
package root {
|
||||||
internal val x: [ERROR : Type for a]
|
internal val x: [ERROR : Type for root.a]
|
||||||
internal val y2: [ERROR : Type for package]
|
internal val y2: [ERROR : Type for package]
|
||||||
|
|
||||||
package root.a {
|
package root.a {
|
||||||
|
|||||||
@@ -24,9 +24,10 @@ package foobar.a
|
|||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
package foobar
|
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
|
||||||
|
|
||||||
package foobar {
|
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 val y1: kotlin.List<kotlin.Int>? = null
|
||||||
internal fun </*0*/ O> done(/*0*/ result: O): foobar.Iteratee<kotlin.Any?, O>
|
internal fun </*0*/ O> done(/*0*/ result: O): foobar.Iteratee<kotlin.Any?, O>
|
||||||
|
|
||||||
|
|||||||
+3
@@ -1,10 +1,13 @@
|
|||||||
// FILE: a.kt
|
// FILE: a.kt
|
||||||
package example.ns
|
package example.ns
|
||||||
|
|
||||||
val y : Any? = 2
|
val y : Any? = 2
|
||||||
|
|
||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
package example
|
package example
|
||||||
|
|
||||||
|
import example.ns
|
||||||
|
|
||||||
object Obj {
|
object Obj {
|
||||||
val y : Any? = 2
|
val y : Any? = 2
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ val y: Any? = 2
|
|||||||
// FILE: b.kt
|
// FILE: b.kt
|
||||||
package example
|
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
|
package a
|
||||||
|
|
||||||
|
import a.b
|
||||||
|
|
||||||
<selection>val c = b.B()</selection>
|
<selection>val c = b.B()</selection>
|
||||||
Reference in New Issue
Block a user