mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[debugger-rd] IJPL-160146: Update todos -- add issue id
GitOrigin-RevId: f1edfddf9e4d156f262b1e00584e0ec9e1b763eb
This commit is contained in:
committed by
intellij-monorepo-bot
parent
dda78cef12
commit
9150b2c2d8
@@ -32,7 +32,7 @@ internal class BackendXDebuggerEvaluatorApi : XDebuggerEvaluatorApi {
|
||||
val evaluationResult = CompletableDeferred<XValue>()
|
||||
|
||||
withContext(Dispatchers.EDT) {
|
||||
// TODO: pass XSourcePosition
|
||||
// TODO[IJPL-160146]: pass XSourcePosition
|
||||
evaluator.evaluate(expression, object : XEvaluationCallback {
|
||||
override fun evaluated(result: XValue) {
|
||||
evaluationResult.complete(result)
|
||||
@@ -55,7 +55,7 @@ internal class BackendXDebuggerEvaluatorApi : XDebuggerEvaluatorApi {
|
||||
}
|
||||
val xValueEntity = withKernel {
|
||||
change {
|
||||
// TODO: leaked XValue entity, it is never disposed
|
||||
// TODO[IJPL-160146]: leaked XValue entity, it is never disposed
|
||||
LocalHintXValueEntity.new {
|
||||
it[LocalHintXValueEntity.Project] = evaluatorEntity.sessionEntity.projectEntity
|
||||
it[LocalHintXValueEntity.XValue] = xValue
|
||||
@@ -81,22 +81,22 @@ internal class BackendXDebuggerEvaluatorApi : XDebuggerEvaluatorApi {
|
||||
}
|
||||
|
||||
override fun setPresentation(icon: Icon?, type: @NonNls String?, value: @NonNls String, hasChildren: Boolean) {
|
||||
// TODO: pass icon, type and hasChildren too
|
||||
// TODO[IJPL-160146]: pass icon, type and hasChildren too
|
||||
presentations.trySend(XValuePresentation(value, hasChildren))
|
||||
}
|
||||
|
||||
override fun setPresentation(icon: Icon?, presentation: com.intellij.xdebugger.frame.presentation.XValuePresentation, hasChildren: Boolean) {
|
||||
// TODO: handle XValuePresentation fully
|
||||
// TODO[IJPL-160146]: handle XValuePresentation fully
|
||||
val textExtractor = XValuePresentationTextExtractor()
|
||||
presentation.renderValue(textExtractor)
|
||||
setPresentation(icon, presentation.type, textExtractor.text, hasChildren)
|
||||
}
|
||||
|
||||
override fun setFullValueEvaluator(fullValueEvaluator: XFullValueEvaluator) {
|
||||
// TODO: implement setFullValueEvaluator
|
||||
// TODO[IJPL-160146]: implement setFullValueEvaluator
|
||||
}
|
||||
}
|
||||
// TODO: pass XValuePlace
|
||||
// TODO[IJPL-160146]: pass XValuePlace
|
||||
xValue.computePresentation(valueNode, XValuePlace.TOOLTIP)
|
||||
|
||||
launch {
|
||||
@@ -148,23 +148,23 @@ internal class BackendXDebuggerEvaluatorApi : XDebuggerEvaluatorApi {
|
||||
}
|
||||
|
||||
override fun tooManyChildren(remaining: Int) {
|
||||
// TODO: implement tooManyChildren
|
||||
// TODO[IJPL-160146]: implement tooManyChildren
|
||||
}
|
||||
|
||||
override fun setAlreadySorted(alreadySorted: Boolean) {
|
||||
// TODO: implement setAlreadySorted
|
||||
// TODO[IJPL-160146]: implement setAlreadySorted
|
||||
}
|
||||
|
||||
override fun setErrorMessage(errorMessage: String) {
|
||||
// TODO: implement setErrorMessage
|
||||
// TODO[IJPL-160146]: implement setErrorMessage
|
||||
}
|
||||
|
||||
override fun setErrorMessage(errorMessage: String, link: XDebuggerTreeNodeHyperlink?) {
|
||||
// TODO: implement setErrorMessage
|
||||
// TODO[IJPL-160146]: implement setErrorMessage
|
||||
}
|
||||
|
||||
override fun setMessage(message: String, icon: Icon?, attributes: SimpleTextAttributes, link: XDebuggerTreeNodeHyperlink?) {
|
||||
// TODO: implement setMessage
|
||||
// TODO[IJPL-160146]: implement setMessage
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ internal class FrontendXDebuggerManager(private val project: Project, private va
|
||||
.map { token ->
|
||||
sessionCoroutineScope?.cancel()
|
||||
if (token.added) {
|
||||
// TODO: Service coroutine scope should contain Rete by default
|
||||
// TODO[IJPL-160146]: Service coroutine scope should contain Rete by default
|
||||
val newSessionCoroutineScope = cs.childScope("FrontendXDebuggerSession") + KernelService.instance.kernelCoroutineScope.getCompleted().coroutineContext.kernelCoroutineContext()
|
||||
sessionCoroutineScope = newSessionCoroutineScope
|
||||
FrontendXDebuggerSession(newSessionCoroutineScope, token.value)
|
||||
@@ -44,7 +44,7 @@ internal class FrontendXDebuggerManager(private val project: Project, private va
|
||||
null
|
||||
}
|
||||
}
|
||||
// TODO: Service coroutine scope should contain Rete by default
|
||||
// TODO[IJPL-160146]: Service coroutine scope should contain Rete by default
|
||||
.stateIn(cs + KernelService.instance.kernelCoroutineScope.getCompleted().coroutineContext.kernelCoroutineContext(), SharingStarted.Eagerly, null)
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -16,7 +16,7 @@ import kotlinx.coroutines.launch
|
||||
|
||||
private val LOG = logger<FrontendXDebuggerEvaluator>()
|
||||
|
||||
// TODO: support XDebuggerPsiEvaluator
|
||||
// TODO[IJPL-160146]: support XDebuggerPsiEvaluator
|
||||
internal class FrontendXDebuggerEvaluator(private val scope: CoroutineScope, private val evaluatorId: XDebuggerEvaluatorId) : XDebuggerEvaluator() {
|
||||
override fun evaluate(expression: String, callback: XEvaluationCallback, expressionPosition: XSourcePosition?) {
|
||||
scope.launch(Dispatchers.EDT) {
|
||||
|
||||
@@ -19,7 +19,7 @@ internal class FrontendXValue(private val xValueId: XValueId) : XValue() {
|
||||
override fun computePresentation(node: XValueNode, place: XValuePlace) {
|
||||
node.childCoroutineScope("FrontendXValue#computePresentation").launch(Dispatchers.EDT) {
|
||||
XDebuggerEvaluatorApi.getInstance().computePresentation(xValueId)?.collect { presentation ->
|
||||
// TODO: pass proper params
|
||||
// TODO[IJPL-160146]: pass proper params
|
||||
node.setPresentation(null, null, presentation.value, presentation.hasChildren)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,13 +70,13 @@ internal class XQuickEvaluateHandler : QuickEvaluateHandler() {
|
||||
}
|
||||
if (Registry.`is`("debugger.valueLookupFrontendBackend")) {
|
||||
val frontendEvaluator = FrontendXDebuggerManager.getInstance(project).currentSession.value?.evaluator?.value ?: return@async null
|
||||
// TODO: provider proper editorsProvider
|
||||
// TODO[IJPL-160146]: provide proper editorsProvider
|
||||
val editorsProvider = object : XDebuggerEditorsProvider() {
|
||||
override fun getFileType(): FileType {
|
||||
return FileTypes.PLAIN_TEXT
|
||||
}
|
||||
}
|
||||
// TODO: support passing session: basically valueMarkers and currentPosition
|
||||
// TODO[IJPL-160146]: support passing session: basically valueMarkers and currentPosition
|
||||
XValueHint(project, editorsProvider, editor, point, type, expressionInfo, frontendEvaluator, false)
|
||||
}
|
||||
else if (FrontendApplicationInfo.getFrontendType() is FrontendType.RemoteDev) {
|
||||
|
||||
@@ -32,11 +32,11 @@ interface XDebuggerEvaluatorApi : RemoteApi<Unit> {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: support other events see [com.intellij.xdebugger.frame.XCompositeNode]
|
||||
// TODO[IJPL-160146]: support other events see [com.intellij.xdebugger.frame.XCompositeNode]
|
||||
@ApiStatus.Internal
|
||||
@Serializable
|
||||
sealed interface XValueComputeChildrenEvent {
|
||||
// TODO: support [XValueGroup]
|
||||
// TODO[IJPL-160146]: support [XValueGroup]
|
||||
@Serializable
|
||||
data class AddChildren(val names: List<String>, val children: List<XValueId>, val isLast: Boolean) : XValueComputeChildrenEvent
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user