         For avoiding those penalty, replaces with enum's rawValue String if defined in SourceKitten.
         That does not cause calling `decomposedStringWithCanonicalMapping`.
         */
-        let uidString = sourceKittenRawValueStringFrom(uidString) ?? uidString
+        let uidString = sourceKittenRawValueStringFrom(uidString) ?? "\(uidString)"
         uidStringMap[uid] = uidString
         return uidString
     }

    return SwiftDocKey(rawValue: uidString)?.rawValue ??
        SwiftDeclarationKind(rawValue: uidString)?.rawValue ??
        SyntaxKind(rawValue: uidString)?.rawValue
}

/// Represents a SourceKit request.

        }
        return dict
    case SOURCEKITD_VARIANT_TYPE_STRING:
        return swiftStringFrom(sourcekitd_variant_string_get_ptr(sourcekitObject),
            length: sourcekitd_variant_string_get_length(sourcekitObject))!
    case SOURCEKITD_VARIANT_TYPE_INT64:
        return sourcekitd_variant_int64_get_value(sourcekitObject)
    case SOURCEKITD_VARIANT_TYPE_BOOL:
