fun writeAvailableAttribute()

in smithy-swift-codegen/src/main/kotlin/software/amazon/smithy/swift/codegen/SwiftWriter.kt [210:235]


    fun writeAvailableAttribute(model: Model?, shape: Shape) {
        var deprecatedTrait: DeprecatedTrait? = null
        if (shape.getTrait(DeprecatedTrait::class.java).isPresent) {
            deprecatedTrait = shape.getTrait(DeprecatedTrait::class.java).get()
        } else if (shape.getMemberTrait(model, DeprecatedTrait::class.java).isPresent) {
            deprecatedTrait = shape.getMemberTrait(model, DeprecatedTrait::class.java).get()
        }

        if (deprecatedTrait != null) {
            val messagePresent = deprecatedTrait.message.isPresent
            val sincePresent = deprecatedTrait.since.isPresent
            var message = StringBuilder()
            if (messagePresent) {
                message.append(deprecatedTrait.message.get())
            }
            if (sincePresent) {
                message.append(" API deprecated since ${deprecatedTrait.since.get()}")
            }

            if (messagePresent || sincePresent) {
                write("@available(*, deprecated, message: \"${message}\")")
            } else {
                write("@available(*, deprecated)")
            }
        }
    }