LazyJavaPackageFragment implements JavaPackageFragmentDescriptor

This commit is contained in:
Andrey Breslav
2013-12-24 12:37:31 +04:00
parent 512599bdf1
commit 96a3905dec
2 changed files with 9 additions and 2 deletions
@@ -54,8 +54,8 @@ public open class LazyJavaSubModule(
override fun getPackageFragment(fqName: FqName) = _packageFragments(fqName)
override fun getPackageFragments(fqName: FqName) = getPackageFragment(fqName)?.let {listOf(it)} ?: listOf()
override fun getSubPackagesOf(fqName: FqName) = listOf() // TODO
override fun getClassNamesInPackage(packageName: FqName) = listOf() // TODO
override fun getSubPackagesOf(fqName: FqName) = listOf<FqName>() // TODO
override fun getClassNamesInPackage(packageName: FqName) = listOf<Name>() // TODO
fun getClass(fqName: FqName): ClassDescriptor? = c.javaClassResolver.resolveClassByFqName(fqName)
@@ -14,6 +14,7 @@ import org.jetbrains.jet.lang.descriptors.DeclarationDescriptorVisitor
import org.jetbrains.jet.lang.types.TypeSubstitutor
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver
import org.jetbrains.jet.lang.descriptors.PackageFragmentProvider
abstract class LazyJavaPackageFragment(
private val c: LazyJavaResolverContext,
@@ -27,6 +28,8 @@ abstract class LazyJavaPackageFragment(
override fun getJavaDescriptorResolver(): JavaDescriptorResolver = c.javaDescriptorResolver
override fun getProvider(): PackageFragmentProvider = c.subModule
override fun <R, D> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D) = visitor.visitPackageFragmentDescriptor(this, data) as R
override fun substitute(substitutor: TypeSubstitutor) = this
@@ -42,6 +45,8 @@ public class LazyPackageFragmentForJavaPackage(
override fun getFqName(): FqName = jPackage.getFqName()
override val _memberScope = LazyPackageFragmentScopeForJavaPackage(c, jPackage, this)
override fun getKind() = JavaPackageFragmentDescriptor.Kind.PROPER
}
public class LazyPackageFragmentForJavaClass(
@@ -55,4 +60,6 @@ public class LazyPackageFragmentForJavaClass(
override fun getFqName(): FqName = jClass.getFqName()!!
override val _memberScope = LazyPackageFragmentScopeForJavaClass(c, jClass, this)
override fun getKind() = JavaPackageFragmentDescriptor.Kind.CLASS_STATICS
}