src/Tools/VSCode/src/protocol.scala
changeset 67851 5e6452a6ec89
parent 67850 3e9fe7a84b5d
child 70302 9ea7081c3f03
equal deleted inserted replaced
67850:3e9fe7a84b5d 67851:5e6452a6ec89
    21   {
    21   {
    22     val empty: JSON.Object.T = JSON.Object("jsonrpc" -> "2.0")
    22     val empty: JSON.Object.T = JSON.Object("jsonrpc" -> "2.0")
    23 
    23 
    24     def log(prefix: String, json: JSON.T, logger: Logger, verbose: Boolean)
    24     def log(prefix: String, json: JSON.T, logger: Logger, verbose: Boolean)
    25     {
    25     {
    26       val header: Map[String, Any] =
    26       val header =
    27         json match {
    27         json match {
    28           case m: Map[_, _] if m.keySet.forall(_.isInstanceOf[String]) =>
    28           case JSON.Object(obj) => obj -- (obj.keySet - "method" - "id")
    29             val obj = m.asInstanceOf[Map[String, JSON.T]]
       
    30             obj -- (obj.keySet - "method" - "id")
       
    31           case _ => JSON.Object.empty
    29           case _ => JSON.Object.empty
    32         }
    30         }
    33       if (verbose || header.isEmpty) logger(prefix + "\n" + JSON.Format(json))
    31       if (verbose || header.isEmpty) logger(prefix + "\n" + JSON.Format(json))
    34       else logger(prefix + " " + JSON.Format(header))
    32       else logger(prefix + " " + JSON.Format(header))
    35     }
    33     }