@@ -95,7 +95,8 @@ private fun mergeClassAndInterface(klass: KtClassifier, iface: KtClassifier): Kt
95
95
(klass.parents + iface.parents).distinct(),
96
96
mutableListOf (),
97
97
mutableListOf () /* annotations will be merged later*/ ,
98
- klass.hasOpenModifier /* TODO: should it be open? */
98
+ klass.hasOpenModifier /* TODO: should it be open? */ ,
99
+ klass.isAbstract
99
100
)
100
101
101
102
return mergeClassifierMembers(result, klass, iface)
@@ -106,12 +107,12 @@ private fun mergeClassifierAndVariable(a: KtClassifier, b: KtVariable): KtMember
106
107
assert (a.getClassObject() == null , " Unxpected `class object` when merge Classifier(kind=${a.kind} ) and Variable(${b.stringify()} )" )
107
108
108
109
if (a.kind == = KtClassKind .INTERFACE || a.isModule()) {
109
- val newTrait = KtClassifier (KtClassKind .INTERFACE , a.name, a.paramsOfConstructors, a.typeParams, a.parents, a.members, a.annotations, hasOpenModifier = false )
110
+ val newTrait = KtClassifier (KtClassKind .INTERFACE , a.name, a.paramsOfConstructors, a.typeParams, a.parents, a.members, a.annotations, hasOpenModifier = false , isAbstract = false )
110
111
111
112
val delegation = listOf (KtHeritageType (b.type.type, byExpression = NO_IMPL ))
112
113
113
114
// TODO drop hacks
114
- val classObject = KtClassifier (KtClassKind .COMPANION_OBJECT , KtName .NO_NAME , listOf (), listOf (), delegation, listOf (), listOf (), hasOpenModifier = false )
115
+ val classObject = KtClassifier (KtClassKind .COMPANION_OBJECT , KtName .NO_NAME , listOf (), listOf (), delegation, listOf (), listOf (), hasOpenModifier = false , isAbstract = false )
115
116
116
117
newTrait.addMember(classObject)
117
118
@@ -147,7 +148,7 @@ private fun mergeClassAndObject(a: KtClassifier, b: KtClassifier): KtClassifier
147
148
148
149
if (classObject == null ) {
149
150
// TODO drop hack
150
- a.addMember(KtClassifier (KtClassKind .COMPANION_OBJECT , KtName .NO_NAME , listOf (), listOf (), listOf (), b.members, NO_ANNOTATIONS , hasOpenModifier = false ))
151
+ a.addMember(KtClassifier (KtClassKind .COMPANION_OBJECT , KtName .NO_NAME , listOf (), listOf (), listOf (), b.members, NO_ANNOTATIONS , hasOpenModifier = false , isAbstract = false ))
151
152
}
152
153
else {
153
154
// TODO drop hack
@@ -191,7 +192,7 @@ fun KtPackagePartBuilder.mergeClassesAndPackages() {
191
192
if (companion == null ) {
192
193
companion = KtClassifier (
193
194
KtClassKind .COMPANION_OBJECT , KtName .NO_NAME , emptyList(), null , emptyList(),
194
- emptyList(), emptyList(), false )
195
+ emptyList(), emptyList(), false , isAbstract = false )
195
196
}
196
197
197
198
val (classifiers, nonClassifiers) = nestedPackage.members.partition { it is KtClassifier }
0 commit comments