mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-361349 Debugger Shows Internal Android Fields - added EP
GitOrigin-RevId: e4e88b06bbcac856bfe3b539354240aacefd586b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2dd1692215
commit
c38063f59b
@@ -5,6 +5,7 @@ import com.intellij.debugger.DebuggerContext;
|
||||
import com.intellij.debugger.JavaDebuggerBundle;
|
||||
import com.intellij.debugger.engine.DebuggerManagerThreadImpl;
|
||||
import com.intellij.debugger.engine.DebuggerUtils;
|
||||
import com.intellij.debugger.engine.FieldVisibilityProvider;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluateException;
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContext;
|
||||
import com.intellij.debugger.engine.jdi.StackFrameProxy;
|
||||
@@ -293,7 +294,7 @@ public class ClassRenderer extends NodeRendererImpl {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return FieldVisibilityProvider.shouldDisplayField(field);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.debugger.engine
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.sun.jdi.Field
|
||||
|
||||
/**
|
||||
* Allows plugins to hide fields unconditionally
|
||||
*
|
||||
* The field will be displayed only if all extensions allow.
|
||||
*/
|
||||
interface FieldVisibilityProvider {
|
||||
fun shouldDisplay(field: Field): Boolean
|
||||
|
||||
companion object {
|
||||
private val EP_NAME: ExtensionPointName<FieldVisibilityProvider> = ExtensionPointName.create("com.intellij.debugger.fieldVisibilityProvider")
|
||||
|
||||
@JvmStatic
|
||||
fun shouldDisplayField(field: Field): Boolean = EP_NAME.findFirstSafe { !it.shouldDisplay(field) } == null
|
||||
}
|
||||
}
|
||||
@@ -303,6 +303,9 @@
|
||||
<extensionPoint qualifiedName="com.intellij.debugger.syntheticProvider"
|
||||
interface="com.intellij.debugger.engine.SyntheticTypeComponentProvider" dynamic="true"/>
|
||||
|
||||
<extensionPoint qualifiedName="com.intellij.debugger.fieldVisibilityProvider"
|
||||
interface="com.intellij.debugger.engine.FieldVisibilityProvider" dynamic="true"/>
|
||||
|
||||
<extensionPoint qualifiedName="com.intellij.debugger.extraSteppingFilter"
|
||||
interface="com.intellij.debugger.engine.ExtraSteppingFilter" dynamic="true"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user