From c19b944666aeb89c49d1000e60a898108bca4337 Mon Sep 17 00:00:00 2001 From: soad003 Date: Wed, 8 Aug 2018 11:48:29 +0200 Subject: [PATCH] StaticAnalysis: selfdestruct terminal, bugfix return, another testcase --- .../src/solidity-analyzer/modules/staticAnalysisCommon.js | 2 +- remix-analyzer/test/analysis/staticAnalysisIntegration-test.js | 2 +- .../test/analysis/test-contracts/intDivisionTruncate.sol | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js b/remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js index 19f7984e3b..3f8c9953a9 100644 --- a/remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js +++ b/remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js @@ -397,7 +397,7 @@ function isFunctionDefinition (node) { } function isStatement (node) { - return nodeType(node, 'Statement$') || isBlock(node) + return nodeType(node, 'Statement$') || isBlock(node) || isReturn(node) } function isBlock (node) { diff --git a/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js b/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js index b8b7cc031b..a229770b88 100644 --- a/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js +++ b/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js @@ -474,7 +474,7 @@ test('Integration test selfdestruct.js', function (t) { 'selfdestruct.sol': 3, 'deleteDynamicArray.sol': 0, 'blockLevelCompare.sol': 0, - 'intDivisionTruncate.sol': 1 + 'intDivisionTruncate.sol': 2 } runModuleOnFiles(module, t, (file, report) => { diff --git a/remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol b/remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol index a7c30fbfd1..95e6dc1d0a 100644 --- a/remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol +++ b/remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol @@ -21,8 +21,9 @@ contract CharityCampaign { return fee; } - function endCampaign() public { + function endCampaign() public returns (bool) { require(msg.sender == processor || msg.sender == beneficiary); selfdestruct(beneficiary); + return true; } } \ No newline at end of file