wuseal / JsonToKotlinClass

🚀 Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
GNU General Public License v3.0
3.06k stars 173 forks source link

DocumentListener in wu.seal.jsontokotlin.ui.JsonInputDialog$createJsonContentEditor leaks ProjectImpl #422

Open ViugiNick opened 6 months ago

ViugiNick commented 6 months ago

Document listened registered in JsonInputDialog$createJsonContentEditor holds a reference back to the JsonInputDialog, which holds a reference to the disposed instance of ProjectImpl

55.4MB          1          (root): java.lang.Class(com.intellij.codeWithMe.ClientId)
55.4MB          1          (static): com.intellij.openapi.util.Ref
55.4MB          1          myValue: com.intellij.openapi.client.ClientAppSessionsManager
55.4MB          1          sessions: java.util.concurrent.ConcurrentHashMap
55.4MB          1          table: [Ljava.util.concurrent.ConcurrentHashMap$Node;
55.4MB          1          []: java.util.concurrent.ConcurrentHashMap$Node
55.4MB          1          val: com.intellij.openapi.client.LocalAppSessionImpl
55.4MB          1          serviceContainer: com.intellij.platform.instanceContainer.internal.InstanceContainerImpl
55.4MB          1          _state: kotlinx.collections.immutable.implementations.immutableMap.PersistentHashMap
55.4MB          1          node: kotlinx.collections.immutable.implementations.immutableMap.TrieNode
55.4MB          1          buffer: [Ljava.lang.Object;
55.4MB          2          []: com.intellij.platform.instanceContainer.internal.StaticInstanceHolder
40.6MB          1          +-_state: com.intellij.openapi.editor.ClientEditorManager
40.6MB          1          | myEditors: com.intellij.util.containers.LockFreeCopyOnWriteArrayList
40.6MB          1          | value: [Ljava.lang.Object;
40.0MB          1          | []: com.intellij.openapi.editor.impl.EditorImpl
39.9MB          1          | myDocument: com.intellij.openapi.editor.impl.DocumentImpl
39.9MB          1          | myDocumentListeners: com.intellij.openapi.editor.impl.LockFreeCOWSortedArray
39.9MB          1          | value: [Lcom.intellij.openapi.editor.event.DocumentListener;
39.9MB          1          | []: wu.seal.jsontokotlin.ui.JsonInputDialog$createJsonContentEditor$$inlined$apply$lambda$1
39.9MB          1          | this$0: wu.seal.jsontokotlin.ui.JsonInputDialog
39.8MB          1          | project: com.intellij.openapi.project.impl.ProjectImpl (disposedRoot)
wuseal commented 6 months ago

Wow I see, thanks for reminding