Inspectopedia
 
2024.3

Redundant property setter

Info
New
Last modified: 03 December 2024

Reports redundant property setters.

Setter is considered to be redundant in one of the following cases:

  1. Setter has no body. Accessor visibility isn't changed, declaration isn't external and has no annotations.

    var myPropWithRedundantSetter: Int = 0
        set // redundant
    
    var myPropA: Int = 0
        private set // OK - property visibility is changed to private
    
    var myPropB: Int = 0
        external set // OK - implemented not in Kotlin (external)
    
    var myPropC: Int = 0
        @Inject set // OK - accessor is annotated
  2. Setter body is a block with a single statement assigning the parameter to the backing field.

    var prop: Int = 0
        set(value) { // redundant
            field = value
        }