================ @@ -1144,31 +1145,45 @@ lldb::SBValue Variables::FindVariable(uint64_t variablesReference, return variable; } -llvm::StringMap<bool> DAP::GetCapabilities() { - llvm::StringMap<bool> capabilities; +bool DAP::isSupported(ClientFeature feature) { + return clientFeatures.find(feature) != clientFeatures.end(); +} + +protocol::Capabilities DAP::GetCapabilities() { + protocol::Capabilities capabilities; - // Supported capabilities. - capabilities["supportTerminateDebuggee"] = true; - capabilities["supportsDataBreakpoints"] = true; - capabilities["supportsDelayedStackTraceLoading"] = true; - capabilities["supportsEvaluateForHovers"] = true; - capabilities["supportsExceptionOptions"] = true; - capabilities["supportsLogPoints"] = true; - capabilities["supportsProgressReporting"] = true; - capabilities["supportsSteppingGranularity"] = true; - capabilities["supportsValueFormattingOptions"] = true; + // Supported capabilities that are not specific to a single request. + capabilities.supportedFeatures = { + AdapterFeature::supportsLogPoints, + AdapterFeature::supportsSteppingGranularity, + AdapterFeature::supportsValueFormattingOptions, + }; // Unsupported capabilities. - capabilities["supportsGotoTargetsRequest"] = false; - capabilities["supportsLoadedSourcesRequest"] = false; - capabilities["supportsRestartFrame"] = false; - capabilities["supportsStepBack"] = false; + // supportsGotoTargetsRequest, supportsLoadedSourcesRequest, + // supportsRestartFrame, supportsStepBack ---------------- JDevlieghere wrote:
Looking at the spec, it seems like we can just omit unsupported capabilities. Should we just remove this then? https://github.com/llvm/llvm-project/pull/133007 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits