-
-
Notifications
You must be signed in to change notification settings - Fork 795
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[ux]: compile .vyi
files
#4290
base: master
Are you sure you want to change the base?
feat[ux]: compile .vyi
files
#4290
Conversation
vyper/compiler/output.py
Outdated
@@ -254,7 +254,8 @@ def build_method_identifiers_output(compiler_data: CompilerData) -> dict: | |||
|
|||
def build_abi_output(compiler_data: CompilerData) -> list: | |||
module_t = compiler_data.annotated_vyper_module._metadata["type"] | |||
_ = compiler_data.ir_runtime # ensure _ir_info is generated | |||
if compiler_data.contract_path.suffix != ".vyi": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we should tag it on the ModuleT or Module node object somehow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added it to slots in Module- not sure that that is the best.
The argument is_interface
is added to parse_to_ast_with_setting
instead of parse_to_ast
because the _generate_ast
calls the parse_to_ast_with_settings
funciton directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, it looks great
.vyi
files
looking good to me. @cyberthirst can you take a look? |
bit unrelated, but if an interface
|
|
Not intended. May be the order in which we merged flag and |
shouldn't import ITest2
implements: ITest2
def bar() -> uint256:
...
def foo() -> uint8:
...
def foobar() -> uint8:
... outputs: # Functions
@external
def bar() -> uint256:
...
@external
def foo() -> uint8:
...
@external
def foobar() -> uint8:
...
ie |
also, if |
|
||
""" | ||
file = make_file("interface.vyi", interface) | ||
compile_files([file], ["ast", "annotated_ast", "interface", "external_interface", "abi"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it make sense to use this here? https://github.com/vyperlang/vyper/pull/4290/files#diff-d428d4c971c9f7166899f6f2d3da5e17ca4478d8d371d803e735d6ee36b39d30R49
so we don't have to maintain the list on 2 places
name discrepancy - Itest vs ITest |
What I did
Allowed compiling ".vyi" files with
ast,annotated_ast,interface,external_interface,abi
flags.#4232
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