[debugger-rd] IJPL-160146: Update todos -- add issue id

GitOrigin-RevId: f1edfddf9e4d156f262b1e00584e0ec9e1b763eb
This commit is contained in:
Nikolay Rykunov
2024-10-09 16:41:19 +02:00
committed by intellij-monorepo-bot
parent dda78cef12
commit 9150b2c2d8
6 changed files with 19 additions and 19 deletions

View File

@@ -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
}
}

View File

@@ -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 {

View File

@@ -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) {

View File

@@ -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)
}
}

View File

@@ -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) {

View File

@@ -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
}