         case let object as NSData:
             json += "\"\(key)\": \"\(object)\","
         case let object as UInt64:
-            if object > 4_300_000_000 { // UID's are all higher than 4.3M
-                if let utf8String = sourcekitd_uid_get_string_ptr(object) as UnsafePointer<Int8>? {
-                    let uidString = String(UTF8String: utf8String)!
-                    json += "\"\(key)\": \"\(uidString)\","
-                }
-            } else {
-                json += "\"\(key)\": \(object),"
-            }
+            json += "\"\(key)\": \(object),"
         case let object as Int64:
             json += "\"\(key)\": \(object),"
         case let object as Double:

/**
Replace all UIDs in a SourceKit response dictionary with their string values.

:param:   dictionary         `XPCDictionary` to mutate.
:param:   declarationOffsets inout `Array` of (`Int64`, `String`) tuples. First value is offset of declaration.
                             Second value is declaration kind (i.e. `source.lang.swift.decl.function.free`).
*/
func replaceUIDsWithStringsInDictionary(var dictionary: XPCDictionary, inout #declarationOffsets: [(Int64, String)]) {
    for key in dictionary.keys {
        if let subArray = dictionary[key]! as? XPCArray {
            for subDict in subArray {
                replaceUIDsWithStringsInDictionary(subDict as XPCDictionary,
                    declarationOffsets: &declarationOffsets)
            }
        } else if let uid = dictionary[key] as? UInt64 {
            if uid > 4_300_000_000 { // UID's are all higher than 4.3M
                if let utf8String = sourcekitd_uid_get_string_ptr(uid) as UnsafePointer<Int8>? {
                    let uidString = String(UTF8String: utf8String)!
                    dictionary[key] = uidString
                    if key == "key.kind" &&
                        uidString.rangeOfString("source.lang.swift.decl.") != nil {
                        let offset = dictionary["key.nameoffset"] as Int64
                        if offset > 0 {
                            declarationOffsets.append(offset, uidString)
                        }
                    }
                }
            }

    xpc_dictionary_set_uint64(openRequest, "key.request", sourcekitd_uid_get_from_cstr("source.request.editor.open"))
    xpc_dictionary_set_string(openRequest, "key.name", "")

    // Construct a SourceKit request for getting cursor info for current cursor position
    let cursorInfoRequest = xpc_dictionary_create(nil, nil, 0)
    xpc_dictionary_set_uint64(cursorInfoRequest, "key.request", sourcekitd_uid_get_from_cstr("source.request.cursorinfo"))
    xpc_dictionary_set_value(cursorInfoRequest, "key.compilerargs", xpcArguments)

    // Print docs for each Swift file
    for file in swiftFiles {
        xpc_dictionary_set_string(openRequest, "key.sourcefile", file)
        xpc_dictionary_set_string(cursorInfoRequest, "key.sourcefile", file)

        var openResponse: XPCDictionary = fromXPC(sourcekitd_send_request_sync(openRequest))
        openResponse.removeValueForKey("key.syntaxmap")
        replaceUIDsWithStringsInDictionary(&openResponse, cursorInfoRequest)
        println(toJSON(openResponse))
    }
}

/**
