bitcoin-sv / sol2scrypt

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

do while transpile #212

Open zhfnjust opened 2 years ago

zhfnjust commented 2 years ago
  function f8() internal pure returns(uint) {
    uint sum = 0;
    uint i = 0;
    do {
      sum += i;
      if (sum < 20)
          continue;
      i++;
    } while (i < 100);
    return sum;
  }

should to

function f8() : int {
    int sum = 0;
    int i = 0;
    {
         bool loopContinueFlag0 = false; 
        sum += i;
        if (sum < 20) {
          loopContinueFlag0 = true; 
        }//should add
        if (!loopContinueFlag0) {
          i++;
        }
    }
    loop (__LoopCount__0) {
      if (i < 100) {
        bool loopContinueFlag0 = false;
        sum += i;
        if (sum < 20) {
          loopContinueFlag0 = true;
        }
        if (!loopContinueFlag0) {
          i++;
        }
      }
    }
    return sum;
  }

but got

function f8() : int {
    int sum = 0;
    int i = 0;
    {
      sum += i;
      i++;
    }
    loop (__LoopCount__0) {
      if (i < 100) {
        bool loopContinueFlag0 = false;
        sum += i;
        if (sum < 20) {
          loopContinueFlag0 = true;
        }
        if (!loopContinueFlag0) {
          i++;
        }
      }
    }
    return sum;
  }