#1 Fix read.location bug

Đã hợp nhất
kjhammerle đã nhập 1 commit từ seyfahni/master vào [3]s 7 năm trước cách đây

Fixed inconsistency with read.item to throw recoverable IllegalStringLocationException instead of CodeHaltException.

Code like

@is_location_string // (String location)
push(size, location, result);
popArg();

location = popArg();

try {
    read.location(location);
    result = true;
} catch {
    result = false;
}

pushArg(result);

pop("size", "location", "result");
return();

will always return true or halt execution without this fix.

On the other hand, the same code but changed to handle items does work as expected.

@is_item_string // (String item)
push(size, item, result);
popArg();

item = popArg();

try {
    read.item(item);
    result = true;
} catch {
    result = false;
}

pushArg(result);

pop("size", "item", "result");
return();

IllegalStringLocationException should also be renamed to IllegalLocationStringException for further consistency.

Fixed inconsistency with read.item to throw recoverable IllegalStringLocationException instead of CodeHaltException. Code like @is_location_string // (String location) push(size, location, result); popArg(); location = popArg(); try { read.location(location); result = true; } catch { result = false; } pushArg(result); pop("size", "location", "result"); return(); will always return true or halt execution without this fix. On the other hand, the same code but changed to handle items does work as expected. @is_item_string // (String item) push(size, item, result); popArg(); item = popArg(); try { read.item(item); result = true; } catch { result = false; } pushArg(result); pop("size", "item", "result"); return(); IllegalStringLocationException should also be renamed to IllegalLocationStringException for further consistency.
Yêu cầu kéo này đã được sáp nhập thành công!
Đăng nhập để tham gia bình luận.
Không có nhãn
Không có Milestone
Không có người được phân công
1 tham gia
Đang tải...
Hủy bỏ
Lưu
Ở đây vẫn chưa có nội dung nào.