func encode()

in Legacy/PlaygroundLogger/PlaygroundLogger/PlaygroundObjectWriter.swift [24:61]


    func encode(quickLook: QuickLookObject, mirror: LoggerMirror) {
        let ql_result = quickLook.encode()
        switch ql_result {
        case .Success(let ql_encoded):
            Woodchuck.chuck {
                return Woodchuck.LogEntry("quicklook success - object: \(ql_encoded)")
            }
            stream.write(PlaygroundRepresentation.IDERepr)
            let (type_name, summary) = mirror.getSummaries()
            let prefer_summary = quickLook.shouldPreferSummary(mirror: mirror)
            stream.write(prefer_summary)
            stream.write(type_name).write(summary)
            Woodchuck.chuck {
                return Woodchuck.LogEntry("prefer_summary = \(prefer_summary), type_name = \(type_name), summary = \(summary)")
            }
            stream.write(ql_encoded.repr_type)
            let size = ql_encoded.repr_data.count
            stream.write(size)
            switch (ql_encoded.repr_data)
            {
            case .Array(let x): stream.write(x)
            case .Buffer(let x): stream.write(x)
            }
        case .Failure(let opt_message):
            Woodchuck.chuck {
                return Woodchuck.LogEntry("quicklook failure")
            }
            stream.write(PlaygroundRepresentation.Error)
            if let msg = opt_message {
                Woodchuck.chuck {
                    return Woodchuck.LogEntry("message: \(msg)")
                }
                stream.write(msg)
            } else {
                stream.write(UInt8(0))
            }
        }
    }