mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #3585 from aaroncolaco/develop
Fix example; closes #3582
This commit is contained in:
commit
6b3a5e5d87
@ -40,9 +40,9 @@ Is there a decompiler available?
|
||||
================================
|
||||
|
||||
There is no exact decompiler to Solidity, but
|
||||
`Porosity <https://github.com/comaeio/porosity>`_ is close.
|
||||
Because some information like variable names, comments, and
|
||||
source code formatting is lost in the compilation process,
|
||||
`Porosity <https://github.com/comaeio/porosity>`_ is close.
|
||||
Because some information like variable names, comments, and
|
||||
source code formatting is lost in the compilation process,
|
||||
it is not possible to completely recover the original source code.
|
||||
|
||||
Bytecode can be disassembled to opcodes, a service that is provided by
|
||||
@ -542,12 +542,27 @@ contract level) with ``arrayname.length = <some new length>;``. If you get the
|
||||
|
||||
::
|
||||
|
||||
int8[] memory memArr; // Case 1
|
||||
memArr.length++; // illegal
|
||||
int8[5] storageArr; // Case 2
|
||||
somearray.length++; // legal
|
||||
int8[5] storage storageArr2; // Explicit case 2
|
||||
somearray2.length++; // legal
|
||||
// This will not compile
|
||||
|
||||
pragma solidity ^0.4.18;
|
||||
|
||||
contract C {
|
||||
int8[] dynamicStorageArray;
|
||||
int8[5] fixedStorageArray;
|
||||
|
||||
function f() {
|
||||
int8[] memory memArr; // Case 1
|
||||
memArr.length++; // illegal
|
||||
|
||||
int8[5] storage storageArr = fixedStorageArray; // Case 2
|
||||
storageArr.length++; // illegal
|
||||
|
||||
int8[] storage storageArr2 = dynamicStorageArray;
|
||||
storageArr2.length++; // legal
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
**Important note:** In Solidity, array dimensions are declared backwards from the way you
|
||||
might be used to declaring them in C or Java, but they are access as in
|
||||
|
Loading…
Reference in New Issue
Block a user