From b7fba62e9f1f9f7a5a67fd64d4aed55646d1b58e Mon Sep 17 00:00:00 2001 From: Ben Winston Date: Mon, 22 May 2023 20:12:40 -0400 Subject: runtime type checking --- parser.d | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'parser.d') diff --git a/parser.d b/parser.d index 0b8f863..e219ec7 100644 --- a/parser.d +++ b/parser.d @@ -262,6 +262,7 @@ enum ValueType { STRING, NUMBER, BOOLEAN, + TYPE, OBJ, } @@ -269,6 +270,7 @@ union As { bool boolean; double number; string str; + string type; Obj obj; } @@ -302,6 +304,12 @@ Value makeObjValue(Obj obj) { return val; } +Value makeTypeValue(string name) { + As as = { type: name }; + Value val = { ValueType.TYPE, as }; + return val; +} + class Parser { string source; -- cgit v1.2.3