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 PseudoType #1815

Merged
merged 4 commits into from
Jan 2, 2025
Merged

Conversation

nielsenko
Copy link
Contributor

@nielsenko nielsenko commented Jan 1, 2025

The PseudoType extends the abstract class TypeImpl from the analyzer package. This makes it brittle in the face of interface changes to said class, which can occur without warning as the class is internal.

This PR tries to make it a little more "robust", by dodging compile time errors on changes to TypeImpl. This is done by implementing noSuchMethod. If any new members are added, we will no longer get a compile time error.

We throw an exception, if the unexpected member is actually called, but that should not happen as instances of PseudoType are only used internally by the realm_generator.

I think it is an acceptable compromise as this code will only ever run on the developers machine, when updating realm models. I think it is a better fix than #1814.

Fix: #1813

@cla-bot cla-bot bot added the cla: yes label Jan 1, 2025
@nielsenko nielsenko changed the title Kn/fix 1813 pseudotype broken Fix PseudoType Jan 1, 2025
@nielsenko nielsenko force-pushed the kn/fix-1813-pseudotype-broken branch from 0bd05ba to ac2a87c Compare January 1, 2025 15:11
@nirinchev nirinchev merged commit d9746f5 into realm:main Jan 2, 2025
1 check passed
@nielsenko nielsenko deleted the kn/fix-1813-pseudotype-broken branch January 2, 2025 18:11
nirinchev added a commit that referenced this pull request Jan 2, 2025
* main:
  Add vNext Changelog header (#1818)
  [Release 3.4.2] (#1817)
  Fix android emulator test (#1816)
  Fix PseudoType (#1815)
  RDART-1087: Update compileSdkVersion to fix android:attr/lStar not found (#1797)
  fix docs link
  add deprecation notice to README.md
nirinchev added a commit that referenced this pull request Jan 2, 2025
* add deprecation notice to README.md

* fix docs link

* RDART-1087: Update compileSdkVersion to fix android:attr/lStar not found (#1797)

* Fix PseudoType (#1815)

* Fix for added member element3. Try to make the hack PseudoType more robust by implementing noSuchMethod to always throw.

* Fix ejson_lint after LintCode from analyser has become public

* Update CHANGELOG

* Update CHANGELOG.ejson.md

* Fix android emulator test (#1816)

* Fix android emulator test

* try 2

* Install newer Java

* Use 17

* Use gradle 8.5.0 and Java 21

* Update gradle-wrapper.properties

* Try to overwrite the gradle cache

* Try disabling the cache

* Update test gradle packages, revert package properties

* More fixes

* Upgrade to gradle 8.7

* Revert

* Re-enable cache

* [Release 3.4.2] (#1817)

Co-authored-by: nirinchev <[email protected]>

* Add vNext Changelog header (#1818)

Co-authored-by: nirinchev <[email protected]>

---------

Co-authored-by: Michael O'Brien <[email protected]>
Co-authored-by: Tianze Ds <[email protected]>
Co-authored-by: Kasper Overgård Nielsen <[email protected]>
Co-authored-by: Yavor Georgiev <[email protected]>
Co-authored-by: nirinchev <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incompatible with last stable version of flutter 3.27.1
2 participants