chore: Refactor various protobuf modules #642
Closed
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.
The main goal is to increase type coverage.
The
Location
class is turned into a dataclass to simplify things and gain immutability. It's.get()
method needs an overload to type accurately, even after simplifying its signature by raising instead of returningNone
when incorrect amount of arguments are given. This was addressed as a side-quest in adding types toProtobufSchema
, because it has an attribute that is assigned to from the return value of this method.The
ProtoFileElement.__eq__()
is altered so that it doesn't assume the compared object is of the same type as itself, and its argument is updated to follow convention of supporting equality check with any other type of object.ProtobufSchema.dirty
is removed because it was unused.ProtobufSchema.references
along with its init argument are removed because they aren't used. This triggers a chain of removing unused arguments in a few functions.About this change - What it does
References: #xxxxx
Why this way