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 enum and type resolution #309

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

Mingun
Copy link
Contributor

@Mingun Mingun commented Sep 26, 2024

The same names makes it difficult to recognize where which function is used even with help from IDE
Also make some functions private to not pollute public namespace. The other methods will be tested
so cannot be made private because it creates difficulties to test them
…ssage is a type name

Especially when the type name is something very generic, like 'test'
Error text does not checked yet, because it will be changed and even those tests
which passed now, would fail due to that

Failures (12):

[info] ClassTypeProvider$Test:
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:287)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:324)
[info]   - doesn't resolve 'two::one' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:336)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:361)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:398)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:435)
[info]   - doesn't resolve 'two::one' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:447)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:472)
[info]   - doesn't resolve 'two::one' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:484)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:509)
[info]   - doesn't resolve 'one::two' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:546)
[info]   - doesn't resolve 'two::one' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.TypeNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:558)
Error text does not checked yet, because it will be changed and even those tests
which passed now, would fail due to that

Failures (6):

[info] ClassTypeProvider$Test:
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:690)
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:740)
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:765)
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:790)
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:815)
[info]   - doesn't resolve 'one::e' *** FAILED ***
[info]     Expected exception io.kaitai.struct.precompile.EnumNotFoundError to be thrown, but no exception was thrown (ClassTypeProvider$Test.scala:840)
This commit also unify enum resolution in expression language and in `enum` keys

Fixes kaitai-io/kaitai_struct#1028
This commit also unify type resolution in expression language and in `type` keys

Fixes kaitai-io/kaitai_struct#786
It not so big and this unifies handling of types and enums
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.

Trying to understand enum resolution User type resolution broken when using paths
1 participant