0001 // 0002 // CodeCompletionItem.swift 0003 // SourceKitten 0004 // 0005 // Created by JP Simard on 9/4/15. 0006 // Copyright © 2015 SourceKitten. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 extension Dictionary { 0012 private mutating func addIfNotNil(key: Key, _ value: Value?) { 0013 if let value = value { 0014 self[key] = value 0015 } 0016 } 0017 } 0018 0019 public struct CodeCompletionItem
CodeCompletionItem.swift:36 dict.addIfNotNil("name", name)CodeCompletionItem.swift:37 dict.addIfNotNil("descriptionKey", descriptionKey)CodeCompletionItem.swift:38 dict.addIfNotNil("sourcetext", sourcetext)CodeCompletionItem.swift:39 dict.addIfNotNil("typeName", typeName)CodeCompletionItem.swift:40 dict.addIfNotNil("moduleName", moduleName)CodeCompletionItem.swift:41 dict.addIfNotNil("docBrief", docBrief)CodeCompletionItem.swift:42 dict.addIfNotNil("associatedUSRs", associatedUSRs): CustomStringConvertible { 0020 public let kind
CodeCompletionItem.swift:50 public static func parseResponse(response: [String: SourceKitRepresentable]) -> [CodeCompletionItem] {CodeCompletionItem.swift:53 return CodeCompletionItem(kind: dict["key.kind"] as! String,: String 0021 public let context
CodeCompletionItem.swift:33 "kind": kind,: String 0022 public let name
CodeCompletionItem.swift:34 "context": context: String? 0023 public let descriptionKey
CodeCompletionItem.swift:36 dict.addIfNotNil("name", name): String? 0024 public let sourcetext
CodeCompletionItem.swift:37 dict.addIfNotNil("descriptionKey", descriptionKey): String? 0025 public let typeName
CodeCompletionItem.swift:38 dict.addIfNotNil("sourcetext", sourcetext): String? 0026 public let moduleName
CodeCompletionItem.swift:39 dict.addIfNotNil("typeName", typeName): String? 0027 public let docBrief
CodeCompletionItem.swift:40 dict.addIfNotNil("moduleName", moduleName): String? 0028 public let associatedUSRs
CodeCompletionItem.swift:41 dict.addIfNotNil("docBrief", docBrief): String? 0029 0030 /// Dictionary representation of CodeCompletionItem. Useful for NSJSONSerialization. 0031 public var dictionaryValue
CodeCompletionItem.swift:42 dict.addIfNotNil("associatedUSRs", associatedUSRs): [String: AnyObject] { 0032 var dict = [ 0033 "kind": kind, 0034 "context": context 0035 ] 0036 dict.addIfNotNil("name", name) 0037 dict.addIfNotNil("descriptionKey", descriptionKey) 0038 dict.addIfNotNil("sourcetext", sourcetext) 0039 dict.addIfNotNil("typeName", typeName) 0040 dict.addIfNotNil("moduleName", moduleName) 0041 dict.addIfNotNil("docBrief", docBrief) 0042 dict.addIfNotNil("associatedUSRs", associatedUSRs) 0043 return dict 0044 } 0045 0046 public var description: String { 0047 return toJSON(dictionaryValue) 0048 } 0049 0050 public static func parseResponse(response: [String: SourceKitRepresentable]) -> [CodeCompletionItem] { 0051 return (response["key.results"] as! [SourceKitRepresentable]).map { item in 0052 let dict = item as! [String: SourceKitRepresentable] 0053 return CodeCompletionItem(kind: dict["key.kind"] as! String, 0054 context: dict["key.context"] as! String, 0055 name: dict["key.name"] as? String, 0056 descriptionKey: dict["key.description"] as? String, 0057 sourcetext: dict["key.sourcetext"] as? String, 0058 typeName: dict["key.typename"] as? String, 0059 moduleName: dict["key.modulename"] as? String, 0060 docBrief: dict["key.doc.brief"] as? String, 0061 associatedUSRs: dict["key.associated_usrs"] as? String) 0062 } 0063 } 0064 } 0065
CodeCompletionItem.swift:47 return toJSON(dictionaryValue)