Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java'

This commit is contained in:
Andrey Breslav
2014-06-10 12:47:46 +04:00
parent bb581bb645
commit d2ce6f5787
6 changed files with 42 additions and 16 deletions
@@ -32,12 +32,12 @@ import org.jetbrains.jet.lang.resolve.java.lazy.findJavaClass
import org.jetbrains.jet.lang.resolve.java.lazy.findClassInJava
import org.jetbrains.jet.lang.resolve.java.PackageClassUtils
import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor
import org.jetbrains.jet.lang.resolve.java.sam.SingleAbstractMethodUtils
import org.jetbrains.jet.lang.resolve.java.structure.JavaMethod
import org.jetbrains.jet.lang.types.JetType
import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaMemberScope.MethodSignatureData
import org.jetbrains.jet.lang.resolve.java.descriptor.SamConstructorDescriptor
import org.jetbrains.jet.lang.resolve.name.SpecialNames
public abstract class LazyJavaPackageFragmentScope(
c: LazyJavaResolverContext,
@@ -104,7 +104,7 @@ public class LazyPackageFragmentScopeForJavaPackage(
private val classes = c.storageManager.createMemoizedFunctionWithNullableValues<Name, ClassDescriptor> {
name ->
val fqName = fqName.child(name)
val fqName = fqName.child(SpecialNames.safeIdentifier(name))
val (jClass, kClass) = c.findClassInJava(fqName)
if (kClass != null)
kClass