allow module.__interface__ to be used in call position by adding it to the module membership data structure.
additionally, fix a bug where interfaces defined inline could not be exported. this is simultaneously fixed as a related bug because previously, interfaces could come up in export analysis as InterfaceT or TYPE_T depending on their provenance. this commit fixes the bug by making them TYPE_T in both imported and inlined provenance.
refactor:
wrap interfaces in TYPE_T
streamline an isinstance(t, (VyperType, TYPE_T)) check. TYPE_T now inherits from VyperType, so it doesn't need to be listed separately
What I did
How I did it
How to verify it
Commit message
Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)
Description for the changelog
Cute Animal Picture
![Put a link to a cute animal picture inside the parenthesis-->]()
allow
module.__interface__
to be used in call position by adding it to the module membership data structure.additionally, fix a bug where interfaces defined inline could not be exported. this is simultaneously fixed as a related bug because previously, interfaces could come up in export analysis as
InterfaceT
orTYPE_T
depending on their provenance. this commit fixes the bug by making themTYPE_T
in both imported and inlined provenance.refactor:
isinstance(t, (VyperType, TYPE_T))
check.TYPE_T
now inherits fromVyperType
, so it doesn't need to be listed separatelyWhat I did
How I did it
How to verify it
Commit message
Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)
Description for the changelog
Cute Animal Picture
![Put a link to a cute animal picture inside the parenthesis-->]()