             }
             let p: String? = consPrefix == firstArgName?.swift ? nil : consPrefix
             let fact = factory ? "static func \(fname.swift)(" : "\(conv)init("
-            let code = swiftCode(method, indentation + "\(deprecated)public \(fact)" +
+            let code = swiftCode(method, indentation + "\(deprecated)\(publicDesignation) \(fact)" +
                 constructorParam(method, prefix: p) + ")\(returnDeclaration(method)) {\n" +
                     doubleIndent + call(method) +
                     indentation  + ret(method)  + indentation +

    let r = root ?? p
    let ctype = e.ctype.isEmpty ? e.type.swift : e.ctype.swift
    let rtype = r.ctype.isEmpty ? r.type.swift : r.ctype.swift
    let ccode = convenienceConstructorCode(structType, indentation: indentation)(e)
    let fcode = convenienceConstructorCode(structType, indentation: indentation, factory: true)(e)
    let constructors = e.constructors.filter { $0.isConstructorOf(e) && !$0.isBareFactory }
    let factories = (e.constructors + e.methods + e.functions).filter { $0.isFactoryOf(e) }
    let code = "public struct \(structType): \(protocolName) {\n" + indentation +

/// Swift code representation of an enum value
public func valueCode(_ indentation: String) -> (GIR.Enumeration.Member) -> String {
    return { (m: GIR.Enumeration.Member) -> String in
        swiftCode(m, indentation + "static let \(m.name.swiftName) = \(m.ctype.swift) /* \(m.value) */", indentation: indentation)
    }
}

