Only normalize names when accessing PSI, not earlier

#KT-4833 Fixed
This commit is contained in:
Andrey Breslav
2014-06-10 11:34:54 +04:00
parent ef7b43ecdc
commit bb581bb645
14 changed files with 130 additions and 51 deletions
@@ -29,6 +29,7 @@ import org.jetbrains.jet.plugin.stubindex.JetTopLevelPropertiesFqnNameIndex
import org.jetbrains.jet.plugin.stubindex.PackageIndexUtil
import org.jetbrains.jet.lang.resolve.lazy.data.JetClassLikeInfo
import org.jetbrains.jet.lang.resolve.lazy.data.JetClassInfoUtil
import org.jetbrains.jet.lang.resolve.lazy.ResolveSessionUtils
public class StubBasedPackageMemberDeclarationProvider(
private val fqName: FqName,
@@ -66,7 +67,7 @@ public class StubBasedPackageMemberDeclarationProvider(
}
private fun childName(name: Name): String {
return fqName.child(name).asString()
return fqName.child(ResolveSessionUtils.safeNameForLazyResolve(name)).asString()
}
}
@@ -0,0 +1,15 @@
class C {
fun<error> </error>() {
}
<error>val<error> </error>: Int = 1</error>
<error>class<error> </error>{}</error>
<error>enum class<error> </error>{}</error>
}
class C1<in<error>></error><error> </error>{}
class C2(val<error>)</error> {}
@@ -0,0 +1,24 @@
package<EOLError></EOLError>
fun<error> </error>() {
}
val<error> </error>: Int = 1
class<error> </error>{
}
trait<error> </error>{
}
object <error>{</error>
}
enum class<error> </error>{}
annotation class<error> </error><error>{}</error>
@@ -30,7 +30,7 @@ import org.jetbrains.jet.checkers.AbstractJetPsiCheckerTest;
/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@InnerTestClasses({JetPsiCheckerTestGenerated.Checker.class, JetPsiCheckerTestGenerated.Regression.class, JetPsiCheckerTestGenerated.Rendering.class, JetPsiCheckerTestGenerated.DuplicateJvmSignature.class, JetPsiCheckerTestGenerated.Infos.class})
@InnerTestClasses({JetPsiCheckerTestGenerated.Checker.class, JetPsiCheckerTestGenerated.Regression.class, JetPsiCheckerTestGenerated.Recovery.class, JetPsiCheckerTestGenerated.Rendering.class, JetPsiCheckerTestGenerated.DuplicateJvmSignature.class, JetPsiCheckerTestGenerated.Infos.class})
public class JetPsiCheckerTestGenerated extends AbstractJetPsiCheckerTest {
@TestMetadata("idea/testData/checker")
public static class Checker extends AbstractJetPsiCheckerTest {
@@ -408,6 +408,24 @@ public class JetPsiCheckerTestGenerated extends AbstractJetPsiCheckerTest {
}
@TestMetadata("idea/testData/checker/recovery")
public static class Recovery extends AbstractJetPsiCheckerTest {
public void testAllFilesPresentInRecovery() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/checker/recovery"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("namelessMembers.kt")
public void testNamelessMembers() throws Exception {
doTest("idea/testData/checker/recovery/namelessMembers.kt");
}
@TestMetadata("namelessToplevelDeclarations.kt")
public void testNamelessToplevelDeclarations() throws Exception {
doTest("idea/testData/checker/recovery/namelessToplevelDeclarations.kt");
}
}
@TestMetadata("idea/testData/checker/rendering")
public static class Rendering extends AbstractJetPsiCheckerTest {
public void testAllFilesPresentInRendering() throws Exception {
@@ -540,6 +558,7 @@ public class JetPsiCheckerTestGenerated extends AbstractJetPsiCheckerTest {
TestSuite suite = new TestSuite("JetPsiCheckerTestGenerated");
suite.addTestSuite(Checker.class);
suite.addTestSuite(Regression.class);
suite.addTestSuite(Recovery.class);
suite.addTestSuite(Rendering.class);
suite.addTest(DuplicateJvmSignature.innerSuite());
suite.addTestSuite(Infos.class);