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,7 +33,7 @@ class JvmBuiltInClassDescriptorFactory(
ClassDescriptorImpl(
moduleDescriptor.getPackage(KOTLIN_FQ_NAME).fragments.filterIsInstance<BuiltInsPackageFragment>().first(),
CLONEABLE_NAME, Modality.ABSTRACT, ClassKind.INTERFACE, listOf(moduleDescriptor.builtIns.anyType),
SourceElement.NO_SOURCE
SourceElement.NO_SOURCE, /* isExternal = */ false
).apply {
initialize(CloneableClassScope(storageManager, this), emptySet(), null)
}
@@ -46,7 +46,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
boolean isStaticFinal
) {
super(containingDeclaration, original, annotations, modality, visibility, isVar, name, kind, source,
/* lateInit = */ false, /* isConst = */ false, /* isPlatform = */ false, /* isImpl = */ false);
/* lateInit = */ false, /* isConst = */ false, /* isPlatform = */ false, /* isImpl = */ false, /* isExternal = */ false);
this.isStaticFinal = isStaticFinal;
}
@@ -55,7 +55,8 @@ class LazyJavaClassDescriptor(
private val jClass: JavaClass,
private val additionalSupertypeClassDescriptor: ClassDescriptor? = null
) : ClassDescriptorBase(outerContext.storageManager, containingDeclaration, jClass.name,
outerContext.components.sourceElementFactory.source(jClass)), JavaClassDescriptor {
outerContext.components.sourceElementFactory.source(jClass),
/* isExternal = */ false), JavaClassDescriptor {
private val c: LazyJavaResolverContext = outerContext.child(this, jClass)
@@ -87,9 +87,9 @@ open class JvmBuiltInsSettings(
// - Otherwise error will be reported because of Deprecated annotation with Error level
val lowPriorityAnnotation =
ClassDescriptorImpl(
moduleDescriptor.getPackage(LOW_PRIORITY_IN_OVERLOAD_RESOLUTION_FQ_NAME.parent()),
LOW_PRIORITY_IN_OVERLOAD_RESOLUTION_FQ_NAME.shortName(), Modality.FINAL, ClassKind.ANNOTATION_CLASS,
moduleDescriptor.builtIns.anyType.singletonList(), SourceElement.NO_SOURCE
moduleDescriptor.getPackage(LOW_PRIORITY_IN_OVERLOAD_RESOLUTION_FQ_NAME.parent()), LOW_PRIORITY_IN_OVERLOAD_RESOLUTION_FQ_NAME.shortName(),
Modality.FINAL, ClassKind.ANNOTATION_CLASS, moduleDescriptor.builtIns.anyType.singletonList(),
SourceElement.NO_SOURCE, /* isExternal = */ false
).run {
initialize(MemberScope.Empty, emptySet(), null)
AnnotationDescriptorImpl(defaultType, emptyMap(), SourceElement.NO_SOURCE)
@@ -112,7 +112,8 @@ open class JvmBuiltInsSettings(
val superTypes = listOf(LazyWrappedType(this) { moduleDescriptor.builtIns.anyType })
val mockSerializableClass = ClassDescriptorImpl(
mockJavaIoPackageFragment, Name.identifier("Serializable"), Modality.ABSTRACT, ClassKind.INTERFACE, superTypes, SourceElement.NO_SOURCE
mockJavaIoPackageFragment, Name.identifier("Serializable"), Modality.ABSTRACT, ClassKind.INTERFACE, superTypes,
SourceElement.NO_SOURCE, /* isExternal = */ false
)
mockSerializableClass.initialize(MemberScope.Empty, emptySet(), null)