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))
}
}
}