@@ -134,7 +134,7 @@ open class KotlinFileExtractor(
134134 is IrProperty -> {
135135 val parentId = useDeclarationParent(declaration.parent, false )?.cast<DbReftype >()
136136 if (parentId != null ) {
137- extractProperty(declaration, parentId, extractBackingField = true , extractFunctionBodies = extractFunctionBodies, null , listOf ())
137+ extractProperty(declaration, parentId, extractBackingField = true , extractFunctionBodies = extractFunctionBodies, extractPrivateMembers = extractPrivateMembers, null , listOf ())
138138 }
139139 Unit
140140 }
@@ -364,7 +364,7 @@ open class KotlinFileExtractor(
364364 if (shouldExtractDecl(it, false )) {
365365 when (it) {
366366 is IrFunction -> extractFunction(it, id, extractBody = false , extractMethodAndParameterTypeAccesses = false , typeParamSubstitution, argsIncludingOuterClasses)
367- is IrProperty -> extractProperty(it, id, extractBackingField = false , extractFunctionBodies = false , typeParamSubstitution, argsIncludingOuterClasses)
367+ is IrProperty -> extractProperty(it, id, extractBackingField = false , extractFunctionBodies = false , extractPrivateMembers = false , typeParamSubstitution, argsIncludingOuterClasses)
368368 else -> {}
369369 }
370370 }
@@ -955,7 +955,7 @@ open class KotlinFileExtractor(
955955 return id
956956 }
957957
958- private fun extractProperty (p : IrProperty , parentId : Label <out DbReftype >, extractBackingField : Boolean , extractFunctionBodies : Boolean , typeSubstitution : TypeSubstitution ? , classTypeArgsIncludingOuterClasses : List <IrTypeArgument >? ) {
958+ private fun extractProperty (p : IrProperty , parentId : Label <out DbReftype >, extractBackingField : Boolean , extractFunctionBodies : Boolean , extractPrivateMembers : Boolean , typeSubstitution : TypeSubstitution ? , classTypeArgsIncludingOuterClasses : List <IrTypeArgument >? ) {
959959 with (" property" , p) {
960960 if (isFake(p)) return
961961
@@ -970,21 +970,25 @@ open class KotlinFileExtractor(
970970 val getter = p.getter
971971 val setter = p.setter
972972
973- if (getter != null ) {
973+ if (getter == null ) {
974+ if (p.modality != Modality .FINAL || ! isExternalDeclaration(p)) {
975+ logger.warnElement(" IrProperty without a getter" , p)
976+ }
977+ } else if (shouldExtractDecl(getter, extractPrivateMembers)) {
974978 val getterId = extractFunction(getter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast<DbMethod >()
975979 if (getterId != null ) {
976980 tw.writeKtPropertyGetters(id, getterId)
977981 if (getter.origin == IrDeclarationOrigin .DELEGATED_PROPERTY_ACCESSOR ) {
978982 tw.writeCompiler_generated(getterId, CompilerGeneratedKinds .DELEGATED_PROPERTY_GETTER .kind)
979983 }
980984 }
981- } else {
982- if (p.modality != Modality .FINAL || ! isExternalDeclaration(p)) {
983- logger.warnElement(" IrProperty without a getter" , p)
984- }
985985 }
986986
987- if (setter != null ) {
987+ if (setter == null ) {
988+ if (p.isVar && ! isExternalDeclaration(p)) {
989+ logger.warnElement(" isVar property without a setter" , p)
990+ }
991+ } else if (shouldExtractDecl(setter, extractPrivateMembers)) {
988992 if (! p.isVar) {
989993 logger.warnElement(" !isVar property with a setter" , p)
990994 }
@@ -995,10 +999,6 @@ open class KotlinFileExtractor(
995999 tw.writeCompiler_generated(setterId, CompilerGeneratedKinds .DELEGATED_PROPERTY_SETTER .kind)
9961000 }
9971001 }
998- } else {
999- if (p.isVar && ! isExternalDeclaration(p)) {
1000- logger.warnElement(" isVar property without a setter" , p)
1001- }
10021002 }
10031003
10041004 if (bf != null && extractBackingField) {
0 commit comments