Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Fixed a bug where double ? would be generated for stubs #103

Merged
merged 16 commits into from
Apr 13, 2024

Conversation

Masara
Copy link
Contributor

@Masara Masara commented Apr 7, 2024

Closes #87

Summary of Changes

Fixed the bug described in #87.

@Masara Masara requested a review from a team as a code owner April 7, 2024 12:43
@Masara Masara linked an issue Apr 7, 2024 that may be closed by this pull request
Copy link

github-actions bot commented Apr 7, 2024

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 2 0 0 1.07s
✅ PYTHON mypy 2 0 5.49s
✅ PYTHON ruff 2 0 0 0.04s
✅ REPOSITORY git_diff yes no 0.03s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

Copy link

codecov bot commented Apr 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.29%. Comparing base (08e345f) to head (cefa6be).
Report is 48 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #103   +/-   ##
=======================================
  Coverage   99.28%   99.29%           
=======================================
  Files          22       22           
  Lines        2253     2269   +16     
=======================================
+ Hits         2237     2253   +16     
  Misses         16       16           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not fully fix the issue. Literal["Test"] | None gets translated to literal<"Test">? for example. The ? syntax for nullability is only supported for named Safe-DS types (class types/enum types/enum variant types/type parameter types). Out of those, you probably only generate class types.

For this literal type, you could create literal<"Test", null> instead. For everything else, you need the union with Nothing?.

@Masara Masara marked this pull request as draft April 8, 2024 16:20
Masara added 3 commits April 10, 2024 14:31
# Conflicts:
#	tests/safeds_stubgen/stubs_generator/__snapshots__/test_generate_stubs/TestStubFileGeneration.test_stub_creation[function_module].sdsstub
@Masara Masara marked this pull request as ready for review April 10, 2024 13:09
… get a "?" if they are in a Union with a None type; Nones are pushed to the end of Unions; None types are shown as "null" in LiteralTypes and "null" is added to LiteralTypes if they are in a Union with a None.
@Masara
Copy link
Contributor Author

Masara commented Apr 10, 2024

I hope everything is all right now

Masara and others added 5 commits April 10, 2024 21:35
# Conflicts:
#	tests/data/various_modules_package/function_module.py
#	tests/safeds_stubgen/api_analyzer/__snapshots__/test__get_api.ambr
#	tests/safeds_stubgen/stubs_generator/__snapshots__/test_generate_stubs/TestStubFileGeneration.test_stub_creation[function_module].sdsstub
@lars-reimann
Copy link
Member

Looks good now, I'll review it tomorrow evening if the conflicts are resolved.

Masara added 3 commits April 12, 2024 09:51
# Conflicts:
#	tests/safeds_stubgen/stubs_generator/__snapshots__/test_generate_stubs/TestStubFileGeneration.test_stub_creation[infer_types_module].sdsstub
Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@lars-reimann lars-reimann merged commit c35c6ac into main Apr 13, 2024
8 checks passed
@lars-reimann lars-reimann deleted the 87-double-in-generated-types branch April 13, 2024 09:22
lars-reimann pushed a commit that referenced this pull request May 4, 2024
## [0.3.0](v0.2.0...v0.3.0) (2024-05-04)

### Features

* Added handling for sequence classes ([#127](#127)) ([cb061ab](cb061ab)), closes [#126](#126)
* DocString result names for Safe-DS stub results ([#101](#101)) ([fe163e3](fe163e3)), closes [#100](#100)
* Examples from docstrings are also taken over to stub docstrings ([#116](#116)) ([6665186](6665186)), closes [#115](#115)
* Replace the docstring_parser library with Griffe ([#79](#79)) ([9b2f802](9b2f802))

### Bug Fixes

* `Self` types as results are translated to class names  ([#110](#110)) ([4554a56](4554a56)), closes [#86](#86)
* Creating stubs with relative paths for source and output directories ([#128](#128)) ([b4493c9](b4493c9)), closes [#125](#125)
* Docstrings have the correct indentation for nested classes (stubs) ([#114](#114)) ([c7b8550](c7b8550)), closes [#113](#113)
* Fixed a bug where double ? would be generated for stubs ([#103](#103)) ([c35c6ac](c35c6ac)), closes [#87](#87) [#87](#87)
* Fixed a bug where imports would not check reexports for shortest path ([#112](#112)) ([48c5367](48c5367)), closes [#82](#82)
* Fixed a bug where results in stubs would not be named ([#131](#131)) ([4408c84](4408c84)), closes [#100](#100)
* Fixed a bug which prevented mypy version update ([#107](#107)) ([501d2cd](501d2cd))
* Fixed the stubs generator ([#108](#108)) ([9ad6df6](9ad6df6)), closes [#80](#80)
* Generated names of callback results start with result, not with param ([#104](#104)) ([6e696e9](6e696e9)), closes [#85](#85)
* Include lines of examples that start with `...` ([#130](#130)) ([3477b4a](3477b4a)), closes [#129](#129)
* No "// TODO ..." if return type is explicitly `None` ([#111](#111)) ([08e345f](08e345f)), closes [#83](#83)
* Removed the Epydoc parser ([#89](#89)) ([684a101](684a101))
* Replaced tabs with 4 spaces ([#105](#105)) ([8e7aa5d](8e7aa5d)), closes [#84](#84)
* The file structure of stubs resembles the "package" path. ([#106](#106)) ([ff1800e](ff1800e)), closes [#81](#81)
* Translation of callable ([#102](#102)) ([c581e6a](c581e6a)), closes [#88](#88) [#88](#88)
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.3.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label May 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Double ? in generated types
3 participants