@@ -445,7 +445,7 @@ class AssembleModelGenerator(private val basePackageName: String) {
445
445
446
446
return allModificatorsOfClass
447
447
.mapNotNull { (fieldId, possibleModificators) ->
448
- chooseModificator(fieldId, possibleModificators, classId )?.let { fieldId to it }
448
+ chooseModificator(fieldId, possibleModificators)?.let { fieldId to it }
449
449
}
450
450
.toMap()
451
451
}
@@ -458,15 +458,10 @@ class AssembleModelGenerator(private val basePackageName: String) {
458
458
private fun chooseModificator (
459
459
fieldId : FieldId ,
460
460
settersAndDirectAccessors : Set <StatementId >,
461
- acceptorClassId : ClassId
462
461
): StatementId ? {
463
462
val directAccessors = settersAndDirectAccessors
464
463
.filterIsInstance<DirectFieldAccessId >()
465
- .filter {
466
- it.fieldId.isPublic ||
467
- it.fieldId.isPackagePrivate && it.fieldId.declaringClass.packageName == basePackageName ||
468
- it.fieldId.isProtected && (it.fieldId.declaringClass.packageName == basePackageName || acceptorClassId.isSubtypeOf(it.fieldId.declaringClass))
469
- }
464
+ .filter {it.fieldId.isAccessibleFrom(basePackageName) }
470
465
471
466
if (directAccessors.any()) {
472
467
return directAccessors.singleOrNull()
@@ -476,7 +471,9 @@ class AssembleModelGenerator(private val basePackageName: String) {
476
471
}
477
472
478
473
if (settersAndDirectAccessors.any()) {
479
- return settersAndDirectAccessors.singleOrNull()
474
+ return settersAndDirectAccessors
475
+ .filterIsInstance<ExecutableId >()
476
+ .singleOrNull { it.isAccessibleFrom(basePackageName) }
480
477
? : throw AssembleException (
481
478
" Field $fieldId has more than one setter: ${settersAndDirectAccessors.joinToString(" " )} "
482
479
)
0 commit comments