Introduce PropertyDescriptor.isDelegated, write new flag to metadata

#KT-8384 In Progress
This commit is contained in:
Alexander Udalov
2017-01-17 20:08:19 +03:00
parent 76fc3b40d5
commit f1cd2ee6fd
24 changed files with 111 additions and 43 deletions
@@ -27,7 +27,7 @@ interface JvmDescriptorWithExtraFlags {
val extraFlags: Int
}
class JvmPropertyDescriptorImpl(
class JvmPropertyDescriptorImpl private constructor(
containingDeclaration: DeclarationDescriptor,
original: PropertyDescriptor?,
annotations: Annotations,
@@ -44,7 +44,7 @@ class JvmPropertyDescriptorImpl(
isImpl: Boolean
) : JvmDescriptorWithExtraFlags, PropertyDescriptorImpl(
containingDeclaration, original, annotations, modality, visibility, isVar,
name, kind, source, isLateInit, isConst, isHeader, isImpl, /* isExternal = */ false
name, kind, source, isLateInit, isConst, isHeader, isImpl, /* isExternal = */ false, false
) {
override fun createSubstitutedCopy(
newOwner: DeclarationDescriptor,
@@ -54,7 +54,7 @@ class JvmSharedVariablesManager(val builtIns: KotlinBuiltIns) : SharedVariablesM
refClass, Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, true,
Name.identifier("element"), CallableMemberDescriptor.Kind.DECLARATION, SourceElement.NO_SOURCE,
/* lateInit = */ false, /* isConst = */ false, /* isHeader = */ false, /* isImpl = */ false,
/* isExternal = */ false
/* isExternal = */ false, /* isDelegated = */ false
).initialize(type, dispatchReceiverParameter = refClass.thisAsReceiverParameter)
}
@@ -95,7 +95,7 @@ class JvmSharedVariablesManager(val builtIns: KotlinBuiltIns) : SharedVariablesM
genericRefClass, Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, true,
Name.identifier("element"), CallableMemberDescriptor.Kind.DECLARATION, SourceElement.NO_SOURCE,
/* lateInit = */ false, /* isConst = */ false, /* isHeader = */ false, /* isImpl = */ false,
/* isExternal = */ false
/* isExternal = */ false, /* isDelegated = */ false
).initialize(
type = builtIns.anyType,
dispatchReceiverParameter = genericRefClass.thisAsReceiverParameter
@@ -129,9 +129,9 @@ class SpecialDescriptorsFactory(
Annotations.EMPTY, Modality.FINAL, Visibilities.PUBLIC, false,
Name.identifier("INSTANCE"),
CallableMemberDescriptor.Kind.SYNTHESIZED, SourceElement.NO_SOURCE, /* lateInit = */ false, /* isConst = */ false,
/* isHeader = */ false, /* isImpl = */ false, /* isExternal = */ false
/* isHeader = */ false, /* isImpl = */ false, /* isExternal = */ false, /* isDelegated = */ false
).initialize(objectDescriptor.defaultType)
return instanceFieldDescriptor
}
}
}