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

feat[lang]: allow module intrinsic interface call #4090

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

Commits on Jun 1, 2024

  1. feat[lang]: allow module intrinsic interface call

    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
    charles-cooper committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    3daf88b View commit details
    Browse the repository at this point in the history
  2. add codegen test

    charles-cooper committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    dad60ac View commit details
    Browse the repository at this point in the history
  3. add export test for unimplemented _inline_ interfaces

    there was a test for unimplemented `.vyi` interfaces, this commit adds a
    test for unimplemented inline interface for completeness
    charles-cooper committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    08c652a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fe1cfa4 View commit details
    Browse the repository at this point in the history
  5. fix lint

    charles-cooper committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    15d0fde View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Configuration menu
    Copy the full SHA
    a2c0ea8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    feac371 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. add sanity check

    charles-cooper committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    2d5f67d View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Configuration menu
    Copy the full SHA
    9621397 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2024

  1. Configuration menu
    Copy the full SHA
    8504d4d View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. Configuration menu
    Copy the full SHA
    15e810e View commit details
    Browse the repository at this point in the history
  2. fix lint

    charles-cooper committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    4986b50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    24ac428 View commit details
    Browse the repository at this point in the history
  4. fix a test

    charles-cooper committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    c0f37ac View commit details
    Browse the repository at this point in the history
  5. fix again

    charles-cooper committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    59e298e View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. remove init function from interfaces

    it was only there for `-f abi` output -- since it is a standards
    requirement to have the constructor in the abi output, but it doesn't
    semantically make sense in-language for the init function to be the
    interface, we add it back in later, at abi generation time.
    
    add a test that `module.__interface__(...).__init__()` is not allowed.
    charles-cooper committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    e05fabf View commit details
    Browse the repository at this point in the history
  2. fix for windows tests

    charles-cooper committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    7a2d36d View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. reject weird exports of value types

    also add a test for an exception case that was not tested before
    charles-cooper committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    ac43beb View commit details
    Browse the repository at this point in the history