Add external property to class and property descriptors

This commit is contained in:
Alexey Andreev
2016-11-24 19:37:13 +03:00
parent 43948a0170
commit ba2443bcb3
42 changed files with 120 additions and 47 deletions
@@ -33,4 +33,6 @@ class DefaultImplsClassDescriptorImpl(
init {
initialize(emptyList(), listOf(correspondingInterface.module.builtIns.anyType))
}
override fun isExternal() = false
}
@@ -37,4 +37,6 @@ class FileClassDescriptorImpl(
init {
initialize(emptyList(), supertypes)
}
override fun isExternal() = false
}
@@ -44,7 +44,7 @@ class JvmPropertyDescriptorImpl(
isImpl: Boolean
) : JvmDescriptorWithExtraFlags, PropertyDescriptorImpl(
containingDeclaration, original, annotations, modality, visibility, isVar,
name, kind, source, isLateInit, isConst, isPlatform, isImpl
name, kind, source, isLateInit, isConst, isPlatform, isImpl, /* isExternal = */ false
) {
override fun createSubstitutedCopy(
newOwner: DeclarationDescriptor,
@@ -140,6 +140,7 @@ open class KnownClassDescriptor(
override fun isInner(): Boolean = false
override fun isPlatform(): Boolean = false
override fun isImpl(): Boolean = false
override fun isExternal(): Boolean = false
override fun <R : Any?, D : Any?> accept(visitor: DeclarationDescriptorVisitor<R, D>, data: D): R {
return visitor.visitClassDescriptor(this, data)
@@ -59,7 +59,8 @@ class JvmSharedVariablesManager(val builtIns: KotlinBuiltIns) : SharedVariablesM
PropertyDescriptorImpl.create(
refClass, Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, true,
Name.identifier("element"), CallableMemberDescriptor.Kind.DECLARATION, SourceElement.NO_SOURCE,
false, false, false, false
/* lateInit = */ false, /* isConst = */ false, /* isPlatform = */ false, /* isImpl = */ false,
/* isExternal = */ false
).initialize(type, dispatchReceiverParameter = refClass.thisAsReceiverParameter)
}
@@ -99,7 +100,8 @@ class JvmSharedVariablesManager(val builtIns: KotlinBuiltIns) : SharedVariablesM
PropertyDescriptorImpl.create(
genericRefClass, Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, true,
Name.identifier("element"), CallableMemberDescriptor.Kind.DECLARATION, SourceElement.NO_SOURCE,
false, false, false, false
/* lateInit = */ false, /* isConst = */ false, /* isPlatform = */ false, /* isImpl = */ false,
/* isExternal = */ false
).initialize(
type = builtIns.anyType,
dispatchReceiverParameter = genericRefClass.thisAsReceiverParameter
@@ -128,7 +128,8 @@ class SpecialDescriptorsFactory(
objectDescriptor,
Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, false,
Name.identifier("INSTANCE"),
CallableMemberDescriptor.Kind.SYNTHESIZED, SourceElement.NO_SOURCE, false, false, false, false
CallableMemberDescriptor.Kind.SYNTHESIZED, SourceElement.NO_SOURCE, /* lateInit = */ false, /* isConst = */ false,
/* isPlatform = */ false, /* isImpl = */ false, /* isExternal = */ false
).initialize(objectDescriptor.defaultType)
return instanceFieldDescriptor
@@ -61,7 +61,8 @@ abstract class IrDelegateDescriptorBase(
/* lateInit = */ false,
/* isConst = */ false,
/* isPlatform = */ false,
/* isImpl = */ false
/* isImpl = */ false,
/* isExternal = */ false
) {
init {
setOutType(delegateType)