bitcoin-sv / sol2scrypt

Solidity to sCrypt Transplier
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Report error w/ names #208

Closed xhliu closed 2 years ago

xhliu commented 2 years ago
contract Mapping {
    mapping(address => uint) public myMap;

    function get(address _addr) external view returns (uint) {
        return myMap[_addr];
    }

    function get2(address _addr) public view returns (uint) {
        return myMap[_addr];
    }

    function set(address _addr, uint _i) external {
        myMap[_addr] = _i;
    }
}

gives

Error: test/golden/pass/mapping.sol:8:14:8:18
accessing mapping expression in non-external function is not supported

It can be improved:

Error: test/golden/pass/mapping.sol:8:14:8:18
accessing mapping expression in non-external function `get2` is not supported
xhliu commented 2 years ago
contract Mapping {
    mapping(address => uint) public myMap;

    uint i = 11;

    function get(address addr) external {
        myMap[addr]++;
    }

    function set(address addr, uint x) external {
        myMap[addr] = x;
    }
}
Error: test/golden/pass/mapping.sol:4:5:4:17
unsupported state variable with init value

->

Error: test/golden/pass/mapping.sol:4:5:4:17
unsupported state variable `i` with init value