diff options
author | chriseth <chris@ethereum.org> | 2018-06-29 18:27:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-29 18:27:29 +0800 |
commit | d469df45d8bbdee1dc7ba480e10bf8665c30198b (patch) | |
tree | 11766d320be376ad451201b01cf26a01531c9228 | |
parent | 2a9d54af587c300d9dc5984a796200795302137d (diff) | |
parent | 3cad417710bc95a66d801a432f33c3befee390c9 (diff) | |
download | dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar.gz dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar.bz2 dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar.lz dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar.xz dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.tar.zst dexon-solidity-d469df45d8bbdee1dc7ba480e10bf8665c30198b.zip |
Merge pull request #4352 from D-Nice/develop
Fixes storage ref var typo error from 'prefix' to 'suffix'
3 files changed, 23 insertions, 1 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 77e7cf67..b9e3f8d0 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -929,7 +929,7 @@ bool TypeChecker::visit(InlineAssembly const& _inlineAssembly) } else if (var->type()->dataStoredIn(DataLocation::Storage)) { - m_errorReporter.typeError(_identifier.location, "You have to use the _slot or _offset prefix to access storage reference variables."); + m_errorReporter.typeError(_identifier.location, "You have to use the _slot or _offset suffix to access storage reference variables."); return size_t(-1); } else if (var->type()->sizeOnStack() != 1) diff --git a/test/libsolidity/syntaxTests/inlineAssembly/storage_reference.sol b/test/libsolidity/syntaxTests/inlineAssembly/storage_reference.sol new file mode 100644 index 00000000..55c83674 --- /dev/null +++ b/test/libsolidity/syntaxTests/inlineAssembly/storage_reference.sol @@ -0,0 +1,11 @@ +contract C { + uint[] x; + function() public { + uint[] storage y = x; + assembly { + pop(y) + } + } +} +// ---- +// TypeError: (117-118): You have to use the _slot or _offset suffix to access storage reference variables. diff --git a/test/libsolidity/syntaxTests/inlineAssembly/storage_reference_fine.sol b/test/libsolidity/syntaxTests/inlineAssembly/storage_reference_fine.sol new file mode 100644 index 00000000..3ae24b34 --- /dev/null +++ b/test/libsolidity/syntaxTests/inlineAssembly/storage_reference_fine.sol @@ -0,0 +1,11 @@ +contract C { + uint[] x; + function() public { + uint[] storage y = x; + assembly { + pop(y_slot) + pop(y_offset) + } + } +} +// ---- |