Skip to content

Report LLDB version and clean up LLDB-MI launch sequence#1187

Merged
jld01 merged 1 commit into
eclipse-cdt:mainfrom
jld01:lldb-version
Jun 11, 2025
Merged

Report LLDB version and clean up LLDB-MI launch sequence#1187
jld01 merged 1 commit into
eclipse-cdt:mainfrom
jld01:lldb-version

Conversation

@jld01

@jld01 jld01 commented Jun 6, 2025

Copy link
Copy Markdown
Contributor

We use CLI 'version' to replace the MI '-gdb-version' command.

Relates to: #1186

@jld01 jld01 force-pushed the lldb-version branch 2 times, most recently from 13e8dcc to 3354c6b Compare June 9, 2025 20:05
@jld01 jld01 marked this pull request as ready for review June 9, 2025 20:56
We use CLI 'version' to replace the MI '-gdb-version' command.
@jld01 jld01 self-assigned this Jun 10, 2025
@jld01 jld01 added this to the 12.2.0 milestone Jun 10, 2025
@jld01 jld01 merged commit 7479f4d into eclipse-cdt:main Jun 11, 2025
4 checks passed
@ruspl-afed

ruspl-afed commented Jun 12, 2025

Copy link
Copy Markdown
Member

Ah, I missed the moment when it became "ready for review". However let me ask my questions anyway:

  1. do we continue to introduce new non-final public types (and what for)?
  2. does this API change fully comply with the https://github.com/eclipse-cdt/cdt/blob/main/POLICY.md#api ?

@jld01

jld01 commented Jun 12, 2025

Copy link
Copy Markdown
Contributor Author

Hi @ruspl-afed, you wrote:

1. do we continue to introduce new non-final public types (and what for)?

I am following the existing DSF conventions for reasons of consistency here. If you think we should adopt a more restrictive policy, I suggest raising a new discussion topic.

2. does this API change fully comply with the https://github.com/eclipse-cdt/cdt/blob/main/POLICY.md#api ?

I think it does, yes.

@ruspl-afed

Copy link
Copy Markdown
Member

I mean this section (since we have an addition to org.eclipse.cdt.dsf.mi.service.command.CommandFactory)

https://wiki.eclipse.org/Evolving_Java-based_APIs#Example_4_-_Adding_an_API_method

However, if the method is added to a class which Clients may subclass, then the change should ordinarily be viewed as a breaking change. The reason for this harsh conclusion is because of the possibility that a Client's subclass already has its own implementation of a method by that name. Adding the API method to the superclass undercuts the Client's code since it would be sheer coincidence if the Client's existing method met the API contract of the newly added method. In practice, if the likelihood of this kind of name coincidence is sufficiently low, this kind of change is often treated as if it were non-breaking.

@jld01

jld01 commented Jun 12, 2025

Copy link
Copy Markdown
Contributor Author

Yes. In practise, it is not particularly unusual for the likelihood of name coincidence to be considered sufficiently low that the change is treated as non-breaking.

@jld01 jld01 deleted the lldb-version branch July 11, 2025 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants