aboutsummaryrefslogtreecommitdiff
path: root/core/encoding/json/validator.odin
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-12-22 12:03:48 +0000
committergingerBill <bill@gingerbill.org>2019-12-22 12:03:48 +0000
commitd1c9fd4e012e16cee73e9ef0af716caf34430d81 (patch)
tree048a9dd6ed2294d685761e31081620a924ee6ef9 /core/encoding/json/validator.odin
parent45937306321df28266c793b7225eb10ad3d741e2 (diff)
Implement `#complete switch` by default, replace with `#partial switch` #511
Diffstat (limited to 'core/encoding/json/validator.odin')
-rw-r--r--core/encoding/json/validator.odin17
1 files changed, 8 insertions, 9 deletions
diff --git a/core/encoding/json/validator.odin b/core/encoding/json/validator.odin
index 17073f102..77339bbc3 100644
--- a/core/encoding/json/validator.odin
+++ b/core/encoding/json/validator.odin
@@ -91,28 +91,27 @@ validate_array :: proc(p: ^Parser) -> bool {
validate_value :: proc(p: ^Parser) -> bool {
token := p.curr_token;
- using Kind;
- switch token.kind {
- case Null, False, True:
+ #partial switch token.kind {
+ case .Null, .False, .True:
advance_token(p);
return true;
- case Integer, Float:
+ case .Integer, .Float:
advance_token(p);
return true;
- case String:
+ case .String:
advance_token(p);
return is_valid_string_literal(token.text, p.spec);
- case Open_Brace:
+ case .Open_Brace:
return validate_object(p);
- case Open_Bracket:
+ case .Open_Bracket:
return validate_array(p);
case:
if p.spec == Specification.JSON5 {
- switch token.kind {
- case Infinity, NaN:
+ #partial switch token.kind {
+ case .Infinity, .NaN:
advance_token(p);
return true;
}