Introduce ClassDescriptor#getStaticScope()
Will be used to exterminate hacks related to static Java methods in our codebase: synthetic class object for enum, synthetic package for static members of Java classes, etc.
This commit is contained in:
+3
@@ -47,6 +47,7 @@ import org.jetbrains.jet.lang.types.checker.JetTypeChecker
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaClassStaticsPackageFragmentDescriptor
|
||||
import org.jetbrains.jet.lang.types.AbstractClassTypeConstructor
|
||||
import org.jetbrains.jet.lang.descriptors.impl.EnumClassObjectDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.scopes.StaticScopeForKotlinClass
|
||||
|
||||
class LazyJavaClassDescriptor(
|
||||
private val outerC: LazyJavaResolverContextWithTypes,
|
||||
@@ -90,6 +91,8 @@ class LazyJavaClassDescriptor(
|
||||
private val _innerClassesScope = InnerClassesScopeWrapper(getScopeForMemberLookup())
|
||||
override fun getUnsubstitutedInnerClassesScope(): JetScope = _innerClassesScope
|
||||
|
||||
override fun getStaticScope(): JetScope = StaticScopeForKotlinClass(this) // TODO
|
||||
|
||||
override fun getUnsubstitutedPrimaryConstructor(): ConstructorDescriptor? = null
|
||||
|
||||
private val _classObjectDescriptor = c.storageManager.createNullableLazyValue {
|
||||
|
||||
Reference in New Issue
Block a user