From 65d1ae5d4806f2743c2fb24115e141c6e8cf5661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20=C5=9Aliwak?= Date: Thu, 23 Mar 2023 13:02:22 +0100 Subject: [PATCH] Tests for suffixes with reserved names that could otherwise cause ambiguities --- .../usableAsSuffix/invalid_suffix_called_delete.sol | 7 +++++++ .../usableAsSuffix/invalid_suffix_called_hex_ambiguous.sol | 7 +++++++ .../usableAsSuffix/invalid_suffix_called_new.sol | 7 +++++++ 3 files changed, 21 insertions(+) create mode 100644 test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_delete.sol create mode 100644 test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_hex_ambiguous.sol create mode 100644 test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_new.sol diff --git a/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_delete.sol b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_delete.sol new file mode 100644 index 000000000..dd6d9c393 --- /dev/null +++ b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_delete.sol @@ -0,0 +1,7 @@ +function delete(uint) pure suffix returns (uint) {} + +contract C { + uint x = 1 delete; +} +// ---- +// ParserError 2314: (9-15): Expected identifier but got 'delete' diff --git a/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_hex_ambiguous.sol b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_hex_ambiguous.sol new file mode 100644 index 000000000..9a154691a --- /dev/null +++ b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_hex_ambiguous.sol @@ -0,0 +1,7 @@ +function hex(uint) pure suffix returns (bytes memory) {} + +contract C { + bytes b = 1 hex"1234"; +} +// ---- +// ParserError 2314: (9-12): Expected identifier but got 'ILLEGAL' diff --git a/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_new.sol b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_new.sol new file mode 100644 index 000000000..60d64ace9 --- /dev/null +++ b/test/libsolidity/syntaxTests/literalSuffixes/usableAsSuffix/invalid_suffix_called_new.sol @@ -0,0 +1,7 @@ +function new(uint) pure suffix returns (uint) {} + +contract C { + uint x = 1 new; +} +// ---- +// ParserError 2314: (9-12): Expected identifier but got 'new'