From 41c5d69e391e335cc700ac3dadc9b2713b831a93 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 26 Feb 2018 12:35:34 +0100 Subject: [PATCH] don't serialize transient fields fix for tests under test discovery instrumentation --- .../com/intellij/stats/events/completion/LogEventSerializer.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/stats-collector/log-events/src/com/intellij/stats/events/completion/LogEventSerializer.kt b/plugins/stats-collector/log-events/src/com/intellij/stats/events/completion/LogEventSerializer.kt index 5a8448ba2936..e59615ec1174 100644 --- a/plugins/stats-collector/log-events/src/com/intellij/stats/events/completion/LogEventSerializer.kt +++ b/plugins/stats-collector/log-events/src/com/intellij/stats/events/completion/LogEventSerializer.kt @@ -18,6 +18,7 @@ package com.intellij.stats.events.completion import com.google.gson.Gson import com.google.gson.internal.LinkedTreeMap import java.lang.reflect.Field +import java.lang.reflect.Modifier object JsonSerializer { private val gson = Gson() @@ -28,7 +29,7 @@ object JsonSerializer { fun toJson(obj: Any): String = gson.toJson(obj) fun fromJson(json: String, clazz: Class): DeserializationResult { - val declaredFields = allFields(clazz).map { it.name }.filter { it !in ignoredFields } + val declaredFields = allFields(clazz).filter { !Modifier.isTransient(it.modifiers) }.map { it.name }.filter { it !in ignoredFields } val jsonFields = gson.fromJson(json, LinkedTreeMap::class.java).keys.map { it.toString() }.toSet() val value = gson.fromJson(json, clazz)