public IfThenEndBlock(LFunction function, Branch branch, unluac.util.Stack<Branch> stack, Registers r) : base(function, branch.begin == branch.end ? branch.begin - 1 : branch.begin, branch.begin == branch.end ? branch.begin - 1 : branch.end) { this.branch = branch; this.stack = stack; this.r = r; statements = new List<Statement>(branch.end - branch.begin + 1); }
public RepeatBlock(LFunction function, Branch branch, Registers r) : base(function, branch.end, branch.begin) { //System.out.println("-- creating repeat block " + branch.end + " .. " + branch.begin); this.branch = branch; this.r = r; statements = new List<Statement>(branch.begin - branch.end + 1); }
public WhileBlock(LFunction function, Branch branch, int loopback, Registers r) : base(function, branch.begin, branch.end) { this.branch = branch; this.loopback = loopback; this.r = r; statements = new List<Statement>(branch.end - branch.begin + 1); }
public IfThenElseBlock(LFunction function, Branch branch, int loopback, bool emptyElse, Registers r) : base(function, branch.begin, branch.end) { this.branch = branch; this.loopback = loopback; this.emptyElse = emptyElse; this.r = r; statements = new List<Statement>(branch.end - branch.begin + 1); }
public SetBlock(LFunction function, Branch branch, int target, int line, int begin, int end, bool empty, Registers r) : base(function, begin, end) { this.empty = empty; if(begin == end) this.begin -= 1; this.target = target; this.branch = branch; this.r = r; //System.out.println("-- set block " + begin + " .. " + end); }
public SetBlockOperationOther(int line, Branch _branch, Decompiler _d, int _target) : base(line) { branch = _branch; d = _d; target = _target; }
public IfThenEndBlock(LFunction function, Branch branch, Registers r) : this(function, branch, null, r) { }
public IfThenEndBlockOperation2(int line, int _testreg, Branch _branch, Branch _setb) : base(line) { testreg = _testreg; branch = _branch; setb = _setb; }