Update package encoding/json for or_return

This commit is contained in:
gingerBill
2021-08-15 23:11:15 +01:00
parent b2097604d5
commit f293d7c997
+6 -24
View File
@@ -133,9 +133,7 @@ parse_value :: proc(p: ^Parser) -> (value: Value, err: Error) {
} }
parse_array :: proc(p: ^Parser) -> (value: Value, err: Error) { parse_array :: proc(p: ^Parser) -> (value: Value, err: Error) {
if err = expect_token(p, .Open_Bracket); err != .None { expect_token(p, .Open_Bracket) or_return;
return;
}
array: Array; array: Array;
array.allocator = p.allocator; array.allocator = p.allocator;
@@ -147,11 +145,7 @@ parse_array :: proc(p: ^Parser) -> (value: Value, err: Error) {
} }
for p.curr_token.kind != .Close_Bracket { for p.curr_token.kind != .Close_Bracket {
elem, elem_err := parse_value(p); elem := parse_value(p) or_return;
if elem_err != .None {
err = elem_err;
return;
}
append(&array, elem); append(&array, elem);
// Disallow trailing commas for the time being // Disallow trailing commas for the time being
@@ -162,10 +156,7 @@ parse_array :: proc(p: ^Parser) -> (value: Value, err: Error) {
} }
} }
if err = expect_token(p, .Close_Bracket); err != .None { expect_token(p, .Close_Bracket) or_return;
return;
}
value = array; value = array;
return; return;
} }
@@ -200,9 +191,7 @@ parse_object_key :: proc(p: ^Parser) -> (key: string, err: Error) {
} }
parse_object :: proc(p: ^Parser) -> (value: Value, err: Error) { parse_object :: proc(p: ^Parser) -> (value: Value, err: Error) {
if err = expect_token(p, .Open_Brace); err != .None { expect_token(p, .Open_Brace) or_return;
return;
}
obj: Object; obj: Object;
obj.allocator = p.allocator; obj.allocator = p.allocator;
@@ -227,11 +216,7 @@ parse_object :: proc(p: ^Parser) -> (value: Value, err: Error) {
return; return;
} }
elem, elem_err := parse_value(p); elem := parse_value(p) or_return;
if elem_err != .None {
err = elem_err;
return;
}
if key in obj { if key in obj {
err = .Duplicate_Object_Key; err = .Duplicate_Object_Key;
@@ -256,10 +241,7 @@ parse_object :: proc(p: ^Parser) -> (value: Value, err: Error) {
} }
} }
if err = expect_token(p, .Close_Brace); err != .None { expect_token(p, .Close_Brace) or_return;
return;
}
value = obj; value = obj;
return; return;
} }