Wire Mqtt OBS5004 member shape and OBS5005 Reactive diagnostics#67
Merged
Conversation
1、Report OBS5004 when MqttPublish/MqttSubscribe used on wrong member shape 2、Use ObservableReturnTypeParser to emit OBS5005 on R3 generator for IObservable 3、Add generator tests for OBS5004 and OBS5005 Closes #62
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ObservableReturnTypeParserwhen R3 generator seesIObservable<T>Test plan
Closes #62
Note
Low Risk
Changes are confined to compile-time source generator diagnostics and tests; no runtime MQTT or API behavior changes.
Overview
The MQTT source generator now reports OBS5004 when publish/subscribe attributes are on the wrong member kind:
[MqttSubscribe]on a method or[MqttPublish]on a property, instead of treating those as generic invalid members.Observable return-type validation in
Parseris routed through sharedObservableReturnTypeParser, so the R3 generator can emit OBS5005 when an interface usesIObservable<T>without the Reactive package reference, alongside existing unsupported-return handling.R3 generator tests assert OBS5004 and OBS5005 appear in the diagnostic snapshot for those scenarios.
Reviewed by Cursor Bugbot for commit b274dc4. Configure here.