diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp index 621fb3936..cac28eac0 100644 --- a/libsolidity/ast/AST.cpp +++ b/libsolidity/ast/AST.cpp @@ -292,7 +292,7 @@ bool FunctionDefinition::libraryFunction() const Visibility FunctionDefinition::defaultVisibility() const { solAssert(!isConstructor(), ""); - return Declaration::defaultVisibility(); + return isFree() ? Visibility::Internal : Declaration::defaultVisibility(); } FunctionTypePointer FunctionDefinition::functionType(bool _internal) const diff --git a/libsolidity/ast/AST.h b/libsolidity/ast/AST.h index 8b4025a45..cfa438ce5 100644 --- a/libsolidity/ast/AST.h +++ b/libsolidity/ast/AST.h @@ -852,9 +852,6 @@ public: ContractDefinition const* _searchStart = nullptr ) const override; -protected: - Visibility defaultVisibility() const override { return isFree() ? Visibility::Internal : Visibility::Public; } - private: StateMutability m_stateMutability; bool m_free; diff --git a/test/cmdlineTests/recovery_ast_constructor/output b/test/cmdlineTests/recovery_ast_constructor/output index d4a7d0288..319fb3c88 100644 --- a/test/cmdlineTests/recovery_ast_constructor/output +++ b/test/cmdlineTests/recovery_ast_constructor/output @@ -58,6 +58,7 @@ JSON AST: { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": true, "kind": "constructor", @@ -120,6 +121,7 @@ JSON AST: { "attributes": { + "freeFunction": false, "functionSelector": "af11c34c", "implemented": true, "isConstructor": false, diff --git a/test/cmdlineTests/recovery_ast_empty_contract/err b/test/cmdlineTests/recovery_ast_empty_contract/err index 588067877..ab976c155 100644 --- a/test/cmdlineTests/recovery_ast_empty_contract/err +++ b/test/cmdlineTests/recovery_ast_empty_contract/err @@ -1,4 +1,4 @@ -Error: Expected pragma, import directive or contract/interface/library/struct/enum definition. +Error: Expected pragma, import directive or contract/interface/library/struct/enum/function definition. --> recovery_ast_empty_contract/input.sol:3:1: | 3 | c diff --git a/test/cmdlineTests/standard_only_ast_requested/output.json b/test/cmdlineTests/standard_only_ast_requested/output.json index c1ffe5892..c164153ca 100644 --- a/test/cmdlineTests/standard_only_ast_requested/output.json +++ b/test/cmdlineTests/standard_only_ast_requested/output.json @@ -1 +1 @@ -{"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"C":[6]},"id":7,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"36:22:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":6,"linearizedBaseContracts":[6],"name":"C","nodeType":"ContractDefinition","nodes":[{"body":{"id":4,"nodeType":"Block","src":"97:2:0","statements":[]},"documentation":null,"functionSelector":"26121ff0","id":5,"implemented":true,"kind":"function","modifiers":[],"name":"f","nodeType":"FunctionDefinition","overrides":null,"parameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"82:2:0"},"returnParameters":{"id":3,"nodeType":"ParameterList","parameters":[],"src":"97:0:0"},"scope":6,"src":"72:27:0","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":7,"src":"59:42:0"}],"src":"36:65:0"},"id":0}}} +{"sources":{"A":{"ast":{"absolutePath":"A","exportedSymbols":{"C":[6]},"id":7,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.0"],"nodeType":"PragmaDirective","src":"36:22:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":6,"linearizedBaseContracts":[6],"name":"C","nodeType":"ContractDefinition","nodes":[{"body":{"id":4,"nodeType":"Block","src":"97:2:0","statements":[]},"documentation":null,"freeFunction":false,"functionSelector":"26121ff0","id":5,"implemented":true,"kind":"function","modifiers":[],"name":"f","nodeType":"FunctionDefinition","overrides":null,"parameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"82:2:0"},"returnParameters":{"id":3,"nodeType":"ParameterList","parameters":[],"src":"97:0:0"},"scope":6,"src":"72:27:0","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":7,"src":"59:42:0"}],"src":"36:65:0"},"id":0}}} diff --git a/test/libsolidity/ASTJSON/abstract_contract.json b/test/libsolidity/ASTJSON/abstract_contract.json index 08b1e6d95..41cd1330f 100644 --- a/test/libsolidity/ASTJSON/abstract_contract.json +++ b/test/libsolidity/ASTJSON/abstract_contract.json @@ -34,6 +34,7 @@ "src": "37:4:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "constructor", diff --git a/test/libsolidity/ASTJSON/abstract_contract_legacy.json b/test/libsolidity/ASTJSON/abstract_contract_legacy.json index c13abca7f..f8da2425b 100644 --- a/test/libsolidity/ASTJSON/abstract_contract_legacy.json +++ b/test/libsolidity/ASTJSON/abstract_contract_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": true, "kind": "constructor", diff --git a/test/libsolidity/ASTJSON/address_payable.json b/test/libsolidity/ASTJSON/address_payable.json index 3365ec436..8f7ca12be 100644 --- a/test/libsolidity/ASTJSON/address_payable.json +++ b/test/libsolidity/ASTJSON/address_payable.json @@ -462,6 +462,7 @@ } ] }, + "freeFunction": false, "functionSelector": "fc68521a", "id": 38, "implemented": true, diff --git a/test/libsolidity/ASTJSON/address_payable_legacy.json b/test/libsolidity/ASTJSON/address_payable_legacy.json index bda50fc57..15567b5e5 100644 --- a/test/libsolidity/ASTJSON/address_payable_legacy.json +++ b/test/libsolidity/ASTJSON/address_payable_legacy.json @@ -91,6 +91,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "fc68521a", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/call.json b/test/libsolidity/ASTJSON/assembly/call.json index 9538fe5cc..5fe3e3f20 100644 --- a/test/libsolidity/ASTJSON/assembly/call.json +++ b/test/libsolidity/ASTJSON/assembly/call.json @@ -131,6 +131,7 @@ } ] }, + "freeFunction": false, "functionSelector": "b582ec5f", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/call_legacy.json b/test/libsolidity/ASTJSON/assembly/call_legacy.json index 2902873fa..fa9a9830b 100644 --- a/test/libsolidity/ASTJSON/assembly/call_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/call_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "b582ec5f", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/empty_block.json b/test/libsolidity/ASTJSON/assembly/empty_block.json index 2d22cc035..18180e76b 100644 --- a/test/libsolidity/ASTJSON/assembly/empty_block.json +++ b/test/libsolidity/ASTJSON/assembly/empty_block.json @@ -56,6 +56,7 @@ } ] }, + "freeFunction": false, "functionSelector": "e2179b8e", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/empty_block_legacy.json b/test/libsolidity/ASTJSON/assembly/empty_block_legacy.json index 54811bf1a..8ab74c144 100644 --- a/test/libsolidity/ASTJSON/assembly/empty_block_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/empty_block_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "e2179b8e", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/function.json b/test/libsolidity/ASTJSON/assembly/function.json index ccbf3d853..0fc33c271 100644 --- a/test/libsolidity/ASTJSON/assembly/function.json +++ b/test/libsolidity/ASTJSON/assembly/function.json @@ -118,6 +118,7 @@ } ] }, + "freeFunction": false, "functionSelector": "b8c9d365", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/function_legacy.json b/test/libsolidity/ASTJSON/assembly/function_legacy.json index 940a4b6ac..c7a928b54 100644 --- a/test/libsolidity/ASTJSON/assembly/function_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/function_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "b8c9d365", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/leave.json b/test/libsolidity/ASTJSON/assembly/leave.json index ba765146f..7edbfe11f 100644 --- a/test/libsolidity/ASTJSON/assembly/leave.json +++ b/test/libsolidity/ASTJSON/assembly/leave.json @@ -68,6 +68,7 @@ } ] }, + "freeFunction": false, "functionSelector": "ece866b9", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/leave_legacy.json b/test/libsolidity/ASTJSON/assembly/leave_legacy.json index fa71bcba0..02fba96c7 100644 --- a/test/libsolidity/ASTJSON/assembly/leave_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/leave_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "ece866b9", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/loop.json b/test/libsolidity/ASTJSON/assembly/loop.json index 9c99cf491..f565915e8 100644 --- a/test/libsolidity/ASTJSON/assembly/loop.json +++ b/test/libsolidity/ASTJSON/assembly/loop.json @@ -131,6 +131,7 @@ } ] }, + "freeFunction": false, "functionSelector": "e2179b8e", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/loop_legacy.json b/test/libsolidity/ASTJSON/assembly/loop_legacy.json index 84890475f..4f1051e03 100644 --- a/test/libsolidity/ASTJSON/assembly/loop_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/loop_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "e2179b8e", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/nested_functions.json b/test/libsolidity/ASTJSON/assembly/nested_functions.json index f945494ba..8f9acb56f 100644 --- a/test/libsolidity/ASTJSON/assembly/nested_functions.json +++ b/test/libsolidity/ASTJSON/assembly/nested_functions.json @@ -95,6 +95,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 7, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/nested_functions_legacy.json b/test/libsolidity/ASTJSON/assembly/nested_functions_legacy.json index 393646221..2dd973e84 100644 --- a/test/libsolidity/ASTJSON/assembly/nested_functions_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/nested_functions_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/slot_offset.json b/test/libsolidity/ASTJSON/assembly/slot_offset.json index 0858fe617..5a9b1489f 100644 --- a/test/libsolidity/ASTJSON/assembly/slot_offset.json +++ b/test/libsolidity/ASTJSON/assembly/slot_offset.json @@ -196,6 +196,7 @@ } ] }, + "freeFunction": false, "functionSelector": "ffae15ba", "id": 10, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/slot_offset_legacy.json b/test/libsolidity/ASTJSON/assembly/slot_offset_legacy.json index 50747baaa..d84497d1a 100644 --- a/test/libsolidity/ASTJSON/assembly/slot_offset_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/slot_offset_legacy.json @@ -112,6 +112,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "ffae15ba", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/stringlit.json b/test/libsolidity/ASTJSON/assembly/stringlit.json index 08e0ea4f6..872e953ee 100644 --- a/test/libsolidity/ASTJSON/assembly/stringlit.json +++ b/test/libsolidity/ASTJSON/assembly/stringlit.json @@ -72,6 +72,7 @@ } ] }, + "freeFunction": false, "functionSelector": "5a2ee019", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/stringlit_legacy.json b/test/libsolidity/ASTJSON/assembly/stringlit_legacy.json index 325d25274..87c79d107 100644 --- a/test/libsolidity/ASTJSON/assembly/stringlit_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/stringlit_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "5a2ee019", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/switch.json b/test/libsolidity/ASTJSON/assembly/switch.json index 9ae71f15c..7380897a0 100644 --- a/test/libsolidity/ASTJSON/assembly/switch.json +++ b/test/libsolidity/ASTJSON/assembly/switch.json @@ -180,6 +180,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/switch_default.json b/test/libsolidity/ASTJSON/assembly/switch_default.json index 4226a8ea3..2eb2cd9dc 100644 --- a/test/libsolidity/ASTJSON/assembly/switch_default.json +++ b/test/libsolidity/ASTJSON/assembly/switch_default.json @@ -95,6 +95,7 @@ } ] }, + "freeFunction": false, "functionSelector": "e2179b8e", "id": 5, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/switch_default_legacy.json b/test/libsolidity/ASTJSON/assembly/switch_default_legacy.json index 324330f86..5f0d10dfc 100644 --- a/test/libsolidity/ASTJSON/assembly/switch_default_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/switch_default_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "e2179b8e", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/switch_legacy.json b/test/libsolidity/ASTJSON/assembly/switch_legacy.json index 92e2e2c61..9f907e633 100644 --- a/test/libsolidity/ASTJSON/assembly/switch_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/switch_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/assembly/var_access.json b/test/libsolidity/ASTJSON/assembly/var_access.json index f10c45cc4..bc0a9a3c7 100644 --- a/test/libsolidity/ASTJSON/assembly/var_access.json +++ b/test/libsolidity/ASTJSON/assembly/var_access.json @@ -121,6 +121,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 8, "implemented": true, diff --git a/test/libsolidity/ASTJSON/assembly/var_access_legacy.json b/test/libsolidity/ASTJSON/assembly/var_access_legacy.json index fcd798ad9..2052a8aed 100644 --- a/test/libsolidity/ASTJSON/assembly/var_access_legacy.json +++ b/test/libsolidity/ASTJSON/assembly/var_access_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/constructor.json b/test/libsolidity/ASTJSON/constructor.json index 31747901e..c4b7e9f87 100644 --- a/test/libsolidity/ASTJSON/constructor.json +++ b/test/libsolidity/ASTJSON/constructor.json @@ -34,6 +34,7 @@ "src": "28:4:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "constructor", diff --git a/test/libsolidity/ASTJSON/constructor_legacy.json b/test/libsolidity/ASTJSON/constructor_legacy.json index 68a648bc9..ade4e5629 100644 --- a/test/libsolidity/ASTJSON/constructor_legacy.json +++ b/test/libsolidity/ASTJSON/constructor_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": true, "kind": "constructor", diff --git a/test/libsolidity/ASTJSON/documentation.json b/test/libsolidity/ASTJSON/documentation.json index f0beba98f..8cf35a71e 100644 --- a/test/libsolidity/ASTJSON/documentation.json +++ b/test/libsolidity/ASTJSON/documentation.json @@ -216,6 +216,7 @@ "src": "162:25:3", "text": "Some comment on fn." }, + "freeFunction": false, "functionSelector": "a4a2c40b", "id": 22, "implemented": true, diff --git a/test/libsolidity/ASTJSON/documentation_legacy.json b/test/libsolidity/ASTJSON/documentation_legacy.json index 4284c4f8f..014b70fe9 100644 --- a/test/libsolidity/ASTJSON/documentation_legacy.json +++ b/test/libsolidity/ASTJSON/documentation_legacy.json @@ -161,6 +161,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "a4a2c40b", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/fallback.json b/test/libsolidity/ASTJSON/fallback.json index 7037b960a..cf706e4fe 100644 --- a/test/libsolidity/ASTJSON/fallback.json +++ b/test/libsolidity/ASTJSON/fallback.json @@ -34,6 +34,7 @@ "src": "43:5:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/fallback_and_reveice_ether.json b/test/libsolidity/ASTJSON/fallback_and_reveice_ether.json index 009363e98..e8219b6db 100644 --- a/test/libsolidity/ASTJSON/fallback_and_reveice_ether.json +++ b/test/libsolidity/ASTJSON/fallback_and_reveice_ether.json @@ -34,6 +34,7 @@ "src": "42:5:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "receive", @@ -68,6 +69,7 @@ "src": "78:5:1", "statements": [] }, + "freeFunction": false, "id": 8, "implemented": true, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/fallback_and_reveice_ether_legacy.json b/test/libsolidity/ASTJSON/fallback_and_reveice_ether_legacy.json index 8ac17607e..1fa662d64 100644 --- a/test/libsolidity/ASTJSON/fallback_and_reveice_ether_legacy.json +++ b/test/libsolidity/ASTJSON/fallback_and_reveice_ether_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": false, "kind": "receive", @@ -100,6 +101,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": false, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/fallback_legacy.json b/test/libsolidity/ASTJSON/fallback_legacy.json index 1ee8bf6b3..9f31a225e 100644 --- a/test/libsolidity/ASTJSON/fallback_legacy.json +++ b/test/libsolidity/ASTJSON/fallback_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": false, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/fallback_payable.json b/test/libsolidity/ASTJSON/fallback_payable.json index 2391f57bb..883ba1bfd 100644 --- a/test/libsolidity/ASTJSON/fallback_payable.json +++ b/test/libsolidity/ASTJSON/fallback_payable.json @@ -34,6 +34,7 @@ "src": "34:2:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/fallback_payable_legacy.json b/test/libsolidity/ASTJSON/fallback_payable_legacy.json index 69e25ab6e..2e4a69077 100644 --- a/test/libsolidity/ASTJSON/fallback_payable_legacy.json +++ b/test/libsolidity/ASTJSON/fallback_payable_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": false, "kind": "fallback", diff --git a/test/libsolidity/ASTJSON/function_type.json b/test/libsolidity/ASTJSON/function_type.json index c0d2efc68..fb706e5e8 100644 --- a/test/libsolidity/ASTJSON/function_type.json +++ b/test/libsolidity/ASTJSON/function_type.json @@ -34,6 +34,7 @@ "src": "120:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "d6cd4974", "id": 16, "implemented": true, diff --git a/test/libsolidity/ASTJSON/function_type_legacy.json b/test/libsolidity/ASTJSON/function_type_legacy.json index 627ce45f0..cc02a7dd9 100644 --- a/test/libsolidity/ASTJSON/function_type_legacy.json +++ b/test/libsolidity/ASTJSON/function_type_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "d6cd4974", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/long_type_name_binary_operation.json b/test/libsolidity/ASTJSON/long_type_name_binary_operation.json index 7b598093b..dd9210e5f 100644 --- a/test/libsolidity/ASTJSON/long_type_name_binary_operation.json +++ b/test/libsolidity/ASTJSON/long_type_name_binary_operation.json @@ -134,6 +134,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 10, "implemented": true, diff --git a/test/libsolidity/ASTJSON/long_type_name_binary_operation_legacy.json b/test/libsolidity/ASTJSON/long_type_name_binary_operation_legacy.json index 46e5b0417..319b1e022 100644 --- a/test/libsolidity/ASTJSON/long_type_name_binary_operation_legacy.json +++ b/test/libsolidity/ASTJSON/long_type_name_binary_operation_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/long_type_name_identifier.json b/test/libsolidity/ASTJSON/long_type_name_identifier.json index 4293f6df4..6df967ea9 100644 --- a/test/libsolidity/ASTJSON/long_type_name_identifier.json +++ b/test/libsolidity/ASTJSON/long_type_name_identifier.json @@ -142,6 +142,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 14, "implemented": true, diff --git a/test/libsolidity/ASTJSON/long_type_name_identifier_legacy.json b/test/libsolidity/ASTJSON/long_type_name_identifier_legacy.json index ced331a6d..f6ee2b948 100644 --- a/test/libsolidity/ASTJSON/long_type_name_identifier_legacy.json +++ b/test/libsolidity/ASTJSON/long_type_name_identifier_legacy.json @@ -79,6 +79,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/modifier_definition.json b/test/libsolidity/ASTJSON/modifier_definition.json index 198afe454..d1355a51f 100644 --- a/test/libsolidity/ASTJSON/modifier_definition.json +++ b/test/libsolidity/ASTJSON/modifier_definition.json @@ -94,6 +94,7 @@ "src": "64:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "28811f59", "id": 13, "implemented": true, diff --git a/test/libsolidity/ASTJSON/modifier_definition_legacy.json b/test/libsolidity/ASTJSON/modifier_definition_legacy.json index cc3089395..a48e02104 100644 --- a/test/libsolidity/ASTJSON/modifier_definition_legacy.json +++ b/test/libsolidity/ASTJSON/modifier_definition_legacy.json @@ -102,6 +102,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "28811f59", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/modifier_invocation.json b/test/libsolidity/ASTJSON/modifier_invocation.json index 198afe454..d1355a51f 100644 --- a/test/libsolidity/ASTJSON/modifier_invocation.json +++ b/test/libsolidity/ASTJSON/modifier_invocation.json @@ -94,6 +94,7 @@ "src": "64:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "28811f59", "id": 13, "implemented": true, diff --git a/test/libsolidity/ASTJSON/modifier_invocation_legacy.json b/test/libsolidity/ASTJSON/modifier_invocation_legacy.json index cc3089395..a48e02104 100644 --- a/test/libsolidity/ASTJSON/modifier_invocation_legacy.json +++ b/test/libsolidity/ASTJSON/modifier_invocation_legacy.json @@ -102,6 +102,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "28811f59", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/non_utf8.json b/test/libsolidity/ASTJSON/non_utf8.json index 98db4273f..22d95bf28 100644 --- a/test/libsolidity/ASTJSON/non_utf8.json +++ b/test/libsolidity/ASTJSON/non_utf8.json @@ -94,6 +94,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 8, "implemented": true, diff --git a/test/libsolidity/ASTJSON/non_utf8_legacy.json b/test/libsolidity/ASTJSON/non_utf8_legacy.json index d9430c82d..c8d5c312f 100644 --- a/test/libsolidity/ASTJSON/non_utf8_legacy.json +++ b/test/libsolidity/ASTJSON/non_utf8_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/override.json b/test/libsolidity/ASTJSON/override.json index 49f85144e..e38305bf1 100644 --- a/test/libsolidity/ASTJSON/override.json +++ b/test/libsolidity/ASTJSON/override.json @@ -42,6 +42,7 @@ "src": "36:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "a399b6a2", "id": 4, "implemented": true, @@ -113,6 +114,7 @@ "nodes": [ { + "freeFunction": false, "functionSelector": "c2985578", "id": 10, "implemented": false, @@ -152,6 +154,7 @@ "src": "115:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "a399b6a2", "id": 15, "implemented": true, @@ -243,6 +246,7 @@ "src": "170:3:1", "statements": [] }, + "freeFunction": false, "functionSelector": "c2985578", "id": 23, "implemented": true, @@ -289,6 +293,7 @@ "src": "212:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "a399b6a2", "id": 30, "implemented": true, diff --git a/test/libsolidity/ASTJSON/override_legacy.json b/test/libsolidity/ASTJSON/override_legacy.json index 5cdc2f364..bbd03937f 100644 --- a/test/libsolidity/ASTJSON/override_legacy.json +++ b/test/libsolidity/ASTJSON/override_legacy.json @@ -46,6 +46,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "a399b6a2", "implemented": true, "isConstructor": false, @@ -154,6 +155,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "c2985578", "implemented": false, "isConstructor": false, @@ -208,6 +210,7 @@ [ 4 ], + "freeFunction": false, "functionSelector": "a399b6a2", "implemented": true, "isConstructor": false, @@ -334,6 +337,7 @@ [ 10 ], + "freeFunction": false, "functionSelector": "c2985578", "implemented": true, "isConstructor": false, @@ -413,6 +417,7 @@ [ 15 ], + "freeFunction": false, "functionSelector": "a399b6a2", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/receive_ether.json b/test/libsolidity/ASTJSON/receive_ether.json index 8a1f0ac9a..8b678a593 100644 --- a/test/libsolidity/ASTJSON/receive_ether.json +++ b/test/libsolidity/ASTJSON/receive_ether.json @@ -34,6 +34,7 @@ "src": "42:5:1", "statements": [] }, + "freeFunction": false, "id": 4, "implemented": true, "kind": "receive", diff --git a/test/libsolidity/ASTJSON/receive_ether_legacy.json b/test/libsolidity/ASTJSON/receive_ether_legacy.json index d9544f138..1155129d4 100644 --- a/test/libsolidity/ASTJSON/receive_ether_legacy.json +++ b/test/libsolidity/ASTJSON/receive_ether_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "implemented": true, "isConstructor": false, "kind": "receive", diff --git a/test/libsolidity/ASTJSON/short_type_name.json b/test/libsolidity/ASTJSON/short_type_name.json index 882fcfe24..f569f59af 100644 --- a/test/libsolidity/ASTJSON/short_type_name.json +++ b/test/libsolidity/ASTJSON/short_type_name.json @@ -88,6 +88,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 10, "implemented": true, diff --git a/test/libsolidity/ASTJSON/short_type_name_legacy.json b/test/libsolidity/ASTJSON/short_type_name_legacy.json index 8e255954d..b7912f585 100644 --- a/test/libsolidity/ASTJSON/short_type_name_legacy.json +++ b/test/libsolidity/ASTJSON/short_type_name_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/short_type_name_ref.json b/test/libsolidity/ASTJSON/short_type_name_ref.json index 2d07a9c60..e8845981f 100644 --- a/test/libsolidity/ASTJSON/short_type_name_ref.json +++ b/test/libsolidity/ASTJSON/short_type_name_ref.json @@ -99,6 +99,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 11, "implemented": true, diff --git a/test/libsolidity/ASTJSON/short_type_name_ref_legacy.json b/test/libsolidity/ASTJSON/short_type_name_ref_legacy.json index 5316c56ac..f6cd04ed3 100644 --- a/test/libsolidity/ASTJSON/short_type_name_ref_legacy.json +++ b/test/libsolidity/ASTJSON/short_type_name_ref_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/source_location.json b/test/libsolidity/ASTJSON/source_location.json index f56231ed7..fa95c0e4a 100644 --- a/test/libsolidity/ASTJSON/source_location.json +++ b/test/libsolidity/ASTJSON/source_location.json @@ -131,6 +131,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 11, "implemented": true, diff --git a/test/libsolidity/ASTJSON/source_location_legacy.json b/test/libsolidity/ASTJSON/source_location_legacy.json index bf3dfaedd..529ca4444 100644 --- a/test/libsolidity/ASTJSON/source_location_legacy.json +++ b/test/libsolidity/ASTJSON/source_location_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/string.json b/test/libsolidity/ASTJSON/string.json index f47b41e47..41fe9fa00 100644 --- a/test/libsolidity/ASTJSON/string.json +++ b/test/libsolidity/ASTJSON/string.json @@ -95,6 +95,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 8, "implemented": true, diff --git a/test/libsolidity/ASTJSON/string_legacy.json b/test/libsolidity/ASTJSON/string_legacy.json index 96c984209..89c9a5e55 100644 --- a/test/libsolidity/ASTJSON/string_legacy.json +++ b/test/libsolidity/ASTJSON/string_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/two_base_functions.json b/test/libsolidity/ASTJSON/two_base_functions.json index 769e5c3f8..7e6526316 100644 --- a/test/libsolidity/ASTJSON/two_base_functions.json +++ b/test/libsolidity/ASTJSON/two_base_functions.json @@ -42,6 +42,7 @@ "src": "45:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 4, "implemented": true, @@ -96,6 +97,7 @@ "src": "95:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 9, "implemented": true, @@ -199,6 +201,7 @@ "src": "160:2:1", "statements": [] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 21, "implemented": true, diff --git a/test/libsolidity/ASTJSON/two_base_functions_legacy.json b/test/libsolidity/ASTJSON/two_base_functions_legacy.json index a5bd2d725..405576ab6 100644 --- a/test/libsolidity/ASTJSON/two_base_functions_legacy.json +++ b/test/libsolidity/ASTJSON/two_base_functions_legacy.json @@ -46,6 +46,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, @@ -137,6 +138,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, @@ -272,6 +274,7 @@ 4, 9 ], + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/ASTJSON/unicode.json b/test/libsolidity/ASTJSON/unicode.json index 81c8ad0da..99f9eb619 100644 --- a/test/libsolidity/ASTJSON/unicode.json +++ b/test/libsolidity/ASTJSON/unicode.json @@ -95,6 +95,7 @@ } ] }, + "freeFunction": false, "functionSelector": "26121ff0", "id": 8, "implemented": true, diff --git a/test/libsolidity/ASTJSON/unicode_legacy.json b/test/libsolidity/ASTJSON/unicode_legacy.json index 22976f6f9..826c3ce44 100644 --- a/test/libsolidity/ASTJSON/unicode_legacy.json +++ b/test/libsolidity/ASTJSON/unicode_legacy.json @@ -38,6 +38,7 @@ { "attributes": { + "freeFunction": false, "functionSelector": "26121ff0", "implemented": true, "isConstructor": false, diff --git a/test/libsolidity/syntaxTests/unexpected.sol b/test/libsolidity/syntaxTests/unexpected.sol index 79ee1b6cb..971c78000 100644 --- a/test/libsolidity/syntaxTests/unexpected.sol +++ b/test/libsolidity/syntaxTests/unexpected.sol @@ -1,3 +1,3 @@ unexpected // ---- -// ParserError 7858: (0-10): Expected pragma, import directive or contract/interface/library/struct/enum definition. +// ParserError 7858: (0-10): Expected pragma, import directive or contract/interface/library/struct/enum/function definition.