#1 Fix read.location bug

Zusammengeführt
kjhammerle hat 1 Commits von seyfahni/master nach kjhammerle/master vor 6 Jahren zusammengeführt

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.
kjhammerle hat vor 6 Jahren geschlossen
Dieser Pull-Request wurde erfolgreich zusammengeführt!
Anmelden, um an der Diskussion teilzunehmen.
Kein Label
Kein Meilenstein
Niemand zuständig
1 Beteiligte
Laden…
Abbrechen
Speichern
Hier gibt es bis jetzt noch keinen Inhalt.