diff --git a/test/aeso_compiler_tests.erl b/test/aeso_compiler_tests.erl index 626a2b8..67ada47 100644 --- a/test/aeso_compiler_tests.erl +++ b/test/aeso_compiler_tests.erl @@ -205,6 +205,9 @@ compilable_contracts() -> "polymorphism_variance_switching_chain_create", "polymorphism_variance_switching_void_supertype", "polymorphism_variance_switching_unify_with_interface_decls", + "polymorphism_preserve_or_add_payable_contract", + "polymorphism_preserve_or_add_payable_entrypoint", + "polymorphism_preserve_or_remove_stateful_entrypoint", "missing_init_fun_state_unit", "complex_compare_leq", "complex_compare", diff --git a/test/contracts/polymorphism_preserve_or_add_payable_contract.aes b/test/contracts/polymorphism_preserve_or_add_payable_contract.aes new file mode 100644 index 0000000..1d8877c --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_add_payable_contract.aes @@ -0,0 +1,14 @@ +contract interface F = + entrypoint f : () => int + +payable contract interface G : F = + payable entrypoint f : () => int + entrypoint g : () => int + +payable contract interface H = + payable entrypoint h : () => int + +payable contract C : G, H = + payable entrypoint f() = 1 + payable entrypoint g() = 2 + payable entrypoint h() = 3 diff --git a/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes b/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes new file mode 100644 index 0000000..9940a8b --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_add_payable_entrypoint.aes @@ -0,0 +1,7 @@ +contract interface I = + payable entrypoint f : () => int + entrypoint g : () => int + +contract C : I = + payable entrypoint f() = 1 + payable entrypoint g() = 2 diff --git a/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes b/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes new file mode 100644 index 0000000..71a39dc --- /dev/null +++ b/test/contracts/polymorphism_preserve_or_remove_stateful_entrypoint.aes @@ -0,0 +1,7 @@ +contract interface I = + stateful entrypoint f : () => int + stateful entrypoint g : () => int + +contract C : I = + stateful entrypoint f() = 1 + entrypoint g() = 2