diff options
Diffstat (limited to 'test/libsolidity/syntaxTests/parsing')
3 files changed, 55 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/parsing/return_var.sol b/test/libsolidity/syntaxTests/parsing/return_var.sol new file mode 100644 index 00000000..47ac9ef0 --- /dev/null +++ b/test/libsolidity/syntaxTests/parsing/return_var.sol @@ -0,0 +1,25 @@ +contract C { + function f() returns(var) {} + function f() returns(var x) {} + function f() returns(var x, uint y) {} + function f() returns(uint x, var y) {} + function f() returns(var x, var y) {} + function f() public pure returns (var storage) {} + function f() public pure returns (var storage x) {} + function f() public pure returns (var storage x, var storage y) {} +} +// ---- +// ParserError: (38-38): Expected explicit type name. +// ParserError: (71-71): Expected explicit type name. +// ParserError: (106-106): Expected explicit type name. +// ParserError: (157-157): Expected explicit type name. +// ParserError: (192-192): Expected explicit type name. +// ParserError: (199-199): Expected explicit type name. +// ParserError: (247-247): Expected explicit type name. +// ParserError: (251-251): Location specifier needs explicit type name. +// ParserError: (301-301): Expected explicit type name. +// ParserError: (305-305): Location specifier needs explicit type name. +// ParserError: (357-357): Expected explicit type name. +// ParserError: (361-361): Location specifier needs explicit type name. +// ParserError: (372-372): Expected explicit type name. +// ParserError: (376-376): Location specifier needs explicit type name. diff --git a/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol b/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol new file mode 100644 index 00000000..e041247d --- /dev/null +++ b/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol @@ -0,0 +1,25 @@ +contract C { + function f(var) public pure {} + function f(var x) public pure {} + function f(var x, var y) public pure {} + function f(uint x, var y) public pure {} + function f(var x, uint y) public pure {} + function f(var storage) public pure {} + function f(var storage x) public pure {} + function f(var storage x, var storage y) public pure {} +} +// ---- +// ParserError: (28-28): Expected explicit type name. +// ParserError: (63-63): Expected explicit type name. +// ParserError: (100-100): Expected explicit type name. +// ParserError: (107-107): Expected explicit type name. +// ParserError: (152-152): Expected explicit type name. +// ParserError: (189-189): Expected explicit type name. +// ParserError: (234-234): Expected explicit type name. +// ParserError: (238-238): Location specifier needs explicit type name. +// ParserError: (277-277): Expected explicit type name. +// ParserError: (281-281): Location specifier needs explicit type name. +// ParserError: (322-322): Expected explicit type name. +// ParserError: (326-326): Location specifier needs explicit type name. +// ParserError: (337-337): Expected explicit type name. +// ParserError: (341-341): Location specifier needs explicit type name. diff --git a/test/libsolidity/syntaxTests/parsing/var_storage_var.sol b/test/libsolidity/syntaxTests/parsing/var_storage_var.sol new file mode 100644 index 00000000..431d4ca5 --- /dev/null +++ b/test/libsolidity/syntaxTests/parsing/var_storage_var.sol @@ -0,0 +1,5 @@ +contract C { + var a; +} +// ---- +// ParserError: (17-17): Function, variable, struct or modifier declaration expected. |