{"ScriptPreparationCode":"const Type = {\r\n UNKNOWN: 0,\r\n STRING: 2,\r\n NUMBER: 3,\r\n OBJECT: 4\r\n};\r\n\r\nvar object = {\r\n number: 1,\r\n string: \u0022one\u0022\r\n};\r\n\r\nvar number = 1;\r\nvar string = \u0022one\u0022;\r\n\r\nfunction f1(v) {\r\n\tswitch (typeof v) {\r\n case \u0022object\u0022: return Type.OBJECT;\r\n case \u0022string\u0022: return Type.STRING;\r\n case \u0022number\u0022: return Type.NUMBER;\r\n default: return Type.UNKNOWN;\r\n }\r\n}\r\n\r\nconst UNKNOWN = Type.UNKNOWN,\r\n STRING = Type.STRING,\r\n NUMBER = Type.NUMBER,\r\n OBJECT = Type.OBJECT;\r\n\r\nfunction f2(v) {\r\n\tswitch (typeof v) {\r\n case \u0022object\u0022: return OBJECT;\r\n case \u0022string\u0022: return STRING;\r\n case \u0022number\u0022: return NUMBER;\r\n default: return UNKNOWN;\r\n }\r\n}\r\n\r\n","TestCases":[{"Name":"Constant as object property","Code":"f1(object);\r\nf1(string);\r\nf1(number);","IsDeferred":false},{"Name":"Just constant","Code":"f2(object);\r\nf2(string);\r\nf2(number);","IsDeferred":false}]}