diff --git a/src/printer.js b/src/printer.js index 87cda58a8..0ee5918fd 100644 --- a/src/printer.js +++ b/src/printer.js @@ -135,7 +135,12 @@ function genericPrint(path, options, print) { doc = path.call(print, 'typeName'); doc = join( ' ', - [doc, node.storageLocation, node.name].filter(element => element) + [ + doc, + node.storageLocation, + node.typeName.stateMutability, + node.name + ].filter(element => element) ); return doc; case 'ModifierInvocation': @@ -286,13 +291,19 @@ function genericPrint(path, options, print) { if (node.visibility === 'default') { return join( ' ', - [doc, constantKeyword, node.name].filter(element => element) + [ + doc, + node.typeName.stateMutability, + constantKeyword, + node.name + ].filter(element => element) ); } return join( ' ', [ doc, + node.typeName.stateMutability, node.visibility, constantKeyword, node.storageLocation, diff --git a/tests/AddressPayable/AddressPayable.sol b/tests/AddressPayable/AddressPayable.sol new file mode 100644 index 000000000..8b77a5cb9 --- /dev/null +++ b/tests/AddressPayable/AddressPayable.sol @@ -0,0 +1,8 @@ +pragma solidity ^0.5.2; + +contract AddressPayable { + function sendSomeEth(address payable to) public payable { + address payable target = to; + target.transfer(msg.value); + } +} diff --git a/tests/AddressPayable/__snapshots__/jsfmt.spec.js.snap b/tests/AddressPayable/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..8d071f3eb --- /dev/null +++ b/tests/AddressPayable/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,22 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`AddressPayable.sol 1`] = ` +pragma solidity ^0.5.2; + +contract AddressPayable { + function sendSomeEth(address payable to) public payable { + address payable target = to; + target.transfer(msg.value); + } +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +pragma solidity ^0.5.2; + +contract AddressPayable { + function sendSomeEth(address payable to) public payable { + address payable target = to; + target.transfer(msg.value); + } +} + +`; diff --git a/tests/AddressPayable/jsfmt.spec.js b/tests/AddressPayable/jsfmt.spec.js new file mode 100644 index 000000000..989047bcc --- /dev/null +++ b/tests/AddressPayable/jsfmt.spec.js @@ -0,0 +1 @@ +run_spec(__dirname);