1027 bool HasNestedBracedList;
1032struct AdditionalKeywords {
1033 AdditionalKeywords(IdentifierTable &IdentTable) {
1034 kw_final = &IdentTable.get(
"final");
1035 kw_override = &IdentTable.get(
"override");
1036 kw_in = &IdentTable.get(
"in");
1037 kw_of = &IdentTable.get(
"of");
1038 kw_CF_CLOSED_ENUM = &IdentTable.get(
"CF_CLOSED_ENUM");
1039 kw_CF_ENUM = &IdentTable.get(
"CF_ENUM");
1040 kw_CF_OPTIONS = &IdentTable.get(
"CF_OPTIONS");
1041 kw_NS_CLOSED_ENUM = &IdentTable.get(
"NS_CLOSED_ENUM");
1042 kw_NS_ENUM = &IdentTable.get(
"NS_ENUM");
1043 kw_NS_ERROR_ENUM = &IdentTable.get(
"NS_ERROR_ENUM");
1044 kw_NS_OPTIONS = &IdentTable.get(
"NS_OPTIONS");
1046 kw_as = &IdentTable.get(
"as");
1047 kw_async = &IdentTable.get(
"async");
1048 kw_await = &IdentTable.get(
"await");
1049 kw_declare = &IdentTable.get(
"declare");
1050 kw_finally = &IdentTable.get(
"finally");
1051 kw_from = &IdentTable.get(
"from");
1052 kw_function = &IdentTable.get(
"function");
1053 kw_get = &IdentTable.get(
"get");
1054 kw_import = &IdentTable.get(
"import");
1055 kw_infer = &IdentTable.get(
"infer");
1056 kw_is = &IdentTable.get(
"is");
1057 kw_let = &IdentTable.get(
"let");
1058 kw_module = &IdentTable.get(
"module");
1059 kw_readonly = &IdentTable.get(
"readonly");
1060 kw_set = &IdentTable.get(
"set");
1061 kw_type = &IdentTable.get(
"type");
1062 kw_typeof = &IdentTable.get(
"typeof");
1063 kw_var = &IdentTable.get(
"var");
1064 kw_yield = &IdentTable.get(
"yield");
1066 kw_abstract = &IdentTable.get(
"abstract");
1067 kw_assert = &IdentTable.get(
"assert");
1068 kw_extends = &IdentTable.get(
"extends");
1069 kw_implements = &IdentTable.get(
"implements");
1070 kw_instanceof = &IdentTable.get(
"instanceof");
1071 kw_interface = &IdentTable.get(
"interface");
1072 kw_native = &IdentTable.get(
"native");
1073 kw_package = &IdentTable.get(
"package");
1074 kw_record = &IdentTable.get(
"record");
1075 kw_synchronized = &IdentTable.get(
"synchronized");
1076 kw_throws = &IdentTable.get(
"throws");
1077 kw___except = &IdentTable.get(
"__except");
1078 kw___has_include = &IdentTable.get(
"__has_include");
1079 kw___has_include_next = &IdentTable.get(
"__has_include_next");
1081 kw_mark = &IdentTable.get(
"mark");
1082 kw_region = &IdentTable.get(
"region");
1084 kw_extend = &IdentTable.get(
"extend");
1085 kw_option = &IdentTable.get(
"option");
1086 kw_optional = &IdentTable.get(
"optional");
1087 kw_repeated = &IdentTable.get(
"repeated");
1088 kw_required = &IdentTable.get(
"required");
1089 kw_returns = &IdentTable.get(
"returns");
1091 kw_signals = &IdentTable.get(
"signals");
1092 kw_qsignals = &IdentTable.get(
"Q_SIGNALS");
1093 kw_slots = &IdentTable.get(
"slots");
1094 kw_qslots = &IdentTable.get(
"Q_SLOTS");
1097 kw_internal_ident_after_define =
1098 &IdentTable.get(
"__CLANG_FORMAT_INTERNAL_IDENT_AFTER_DEFINE__");
1101 kw_dollar = &IdentTable.get(
"dollar");
1102 kw_base = &IdentTable.get(
"base");
1103 kw_byte = &IdentTable.get(
"byte");
1104 kw_checked = &IdentTable.get(
"checked");
1105 kw_decimal = &IdentTable.get(
"decimal");
1106 kw_delegate = &IdentTable.get(
"delegate");
1107 kw_event = &IdentTable.get(
"event");
1108 kw_fixed = &IdentTable.get(
"fixed");
1109 kw_foreach = &IdentTable.get(
"foreach");
1110 kw_init = &IdentTable.get(
"init");
1111 kw_implicit = &IdentTable.get(
"implicit");
1112 kw_internal = &IdentTable.get(
"internal");
1113 kw_lock = &IdentTable.get(
"lock");
1114 kw_null = &IdentTable.get(
"null");
1115 kw_object = &IdentTable.get(
"object");
1116 kw_out = &IdentTable.get(
"out");
1117 kw_params = &IdentTable.get(
"params");
1118 kw_ref = &IdentTable.get(
"ref");
1119 kw_string = &IdentTable.get(
"string");
1120 kw_stackalloc = &IdentTable.get(
"stackalloc");
1121 kw_sbyte = &IdentTable.get(
"sbyte");
1122 kw_sealed = &IdentTable.get(
"sealed");
1123 kw_uint = &IdentTable.get(
"uint");
1124 kw_ulong = &IdentTable.get(
"ulong");
1125 kw_unchecked = &IdentTable.get(
"unchecked");
1126 kw_unsafe = &IdentTable.get(
"unsafe");
1127 kw_ushort = &IdentTable.get(
"ushort");
1128 kw_when = &IdentTable.get(
"when");
1129 kw_where = &IdentTable.get(
"where");
1132 kw_always = &IdentTable.get(
"always");
1133 kw_always_comb = &IdentTable.get(
"always_comb");
1134 kw_always_ff = &IdentTable.get(
"always_ff");
1135 kw_always_latch = &IdentTable.get(
"always_latch");
1136 kw_assign = &IdentTable.get(
"assign");
1137 kw_assume = &IdentTable.get(
"assume");
1138 kw_automatic = &IdentTable.get(
"automatic");
1139 kw_before = &IdentTable.get(
"before");
1140 kw_begin = &IdentTable.get(
"begin");
1141 kw_begin_keywords = &IdentTable.get(
"begin_keywords");
1142 kw_bins = &IdentTable.get(
"bins");
1143 kw_binsof = &IdentTable.get(
"binsof");
1144 kw_casex = &IdentTable.get(
"casex");
1145 kw_casez = &IdentTable.get(
"casez");
1146 kw_celldefine = &IdentTable.get(
"celldefine");
1147 kw_checker = &IdentTable.get(
"checker");
1148 kw_clocking = &IdentTable.get(
"clocking");
1149 kw_constraint = &IdentTable.get(
"constraint");
1150 kw_cover = &IdentTable.get(
"cover");
1151 kw_covergroup = &IdentTable.get(
"covergroup");
1152 kw_coverpoint = &IdentTable.get(
"coverpoint");
1153 kw_default_decay_time = &IdentTable.get(
"default_decay_time");
1154 kw_default_nettype = &IdentTable.get(
"default_nettype");
1155 kw_default_trireg_strength = &IdentTable.get(
"default_trireg_strength");
1156 kw_delay_mode_distributed = &IdentTable.get(
"delay_mode_distributed");
1157 kw_delay_mode_path = &IdentTable.get(
"delay_mode_path");
1158 kw_delay_mode_unit = &IdentTable.get(
"delay_mode_unit");
1159 kw_delay_mode_zero = &IdentTable.get(
"delay_mode_zero");
1160 kw_disable = &IdentTable.get(
"disable");
1161 kw_dist = &IdentTable.get(
"dist");
1162 kw_edge = &IdentTable.get(
"edge");
1163 kw_elsif = &IdentTable.get(
"elsif");
1164 kw_end = &IdentTable.get(
"end");
1165 kw_end_keywords = &IdentTable.get(
"end_keywords");
1166 kw_endcase = &IdentTable.get(
"endcase");
1167 kw_endcelldefine = &IdentTable.get(
"endcelldefine");
1168 kw_endchecker = &IdentTable.get(
"endchecker");
1169 kw_endclass = &IdentTable.get(
"endclass");
1170 kw_endclocking = &IdentTable.get(
"endclocking");
1171 kw_endfunction = &IdentTable.get(
"endfunction");
1172 kw_endgenerate = &IdentTable.get(
"endgenerate");
1173 kw_endgroup = &IdentTable.get(
"endgroup");
1174 kw_endinterface = &IdentTable.get(
"endinterface");
1175 kw_endmodule = &IdentTable.get(
"endmodule");
1176 kw_endpackage = &IdentTable.get(
"endpackage");
1177 kw_endprimitive = &IdentTable.get(
"endprimitive");
1178 kw_endprogram = &IdentTable.get(
"endprogram");
1179 kw_endproperty = &IdentTable.get(
"endproperty");
1180 kw_endsequence = &IdentTable.get(
"endsequence");
1181 kw_endspecify = &IdentTable.get(
"endspecify");
1182 kw_endtable = &IdentTable.get(
"endtable");
1183 kw_endtask = &IdentTable.get(
"endtask");
1184 kw_forever = &IdentTable.get(
"forever");
1185 kw_fork = &IdentTable.get(
"fork");
1186 kw_generate = &IdentTable.get(
"generate");
1187 kw_highz0 = &IdentTable.get(
"highz0");
1188 kw_highz1 = &IdentTable.get(
"highz1");
1189 kw_iff = &IdentTable.get(
"iff");
1190 kw_ifnone = &IdentTable.get(
"ifnone");
1191 kw_ignore_bins = &IdentTable.get(
"ignore_bins");
1192 kw_illegal_bins = &IdentTable.get(
"illegal_bins");
1193 kw_initial = &IdentTable.get(
"initial");
1194 kw_inout = &IdentTable.get(
"inout");
1195 kw_input = &IdentTable.get(
"input");
1196 kw_inside = &IdentTable.get(
"inside");
1197 kw_interconnect = &IdentTable.get(
"interconnect");
1198 kw_intersect = &IdentTable.get(
"intersect");
1199 kw_join = &IdentTable.get(
"join");
1200 kw_join_any = &IdentTable.get(
"join_any");
1201 kw_join_none = &IdentTable.get(
"join_none");
1202 kw_large = &IdentTable.get(
"large");
1203 kw_local = &IdentTable.get(
"local");
1204 kw_localparam = &IdentTable.get(
"localparam");
1205 kw_macromodule = &IdentTable.get(
"macromodule");
1206 kw_matches = &IdentTable.get(
"matches");
1207 kw_medium = &IdentTable.get(
"medium");
1208 kw_negedge = &IdentTable.get(
"negedge");
1209 kw_nounconnected_drive = &IdentTable.get(
"nounconnected_drive");
1210 kw_output = &IdentTable.get(
"output");
1211 kw_packed = &IdentTable.get(
"packed");
1212 kw_parameter = &IdentTable.get(
"parameter");
1213 kw_posedge = &IdentTable.get(
"posedge");
1214 kw_primitive = &IdentTable.get(
"primitive");
1215 kw_priority = &IdentTable.get(
"priority");
1216 kw_program = &IdentTable.get(
"program");
1217 kw_property = &IdentTable.get(
"property");
1218 kw_pull0 = &IdentTable.get(
"pull0");
1219 kw_pull1 = &IdentTable.get(
"pull1");
1220 kw_pure = &IdentTable.get(
"pure");
1221 kw_rand = &IdentTable.get(
"rand");
1222 kw_randc = &IdentTable.get(
"randc");
1223 kw_randcase = &IdentTable.get(
"randcase");
1224 kw_randsequence = &IdentTable.get(
"randsequence");
1225 kw_repeat = &IdentTable.get(
"repeat");
1226 kw_resetall = &IdentTable.get(
"resetall");
1227 kw_sample = &IdentTable.get(
"sample");
1228 kw_scalared = &IdentTable.get(
"scalared");
1229 kw_sequence = &IdentTable.get(
"sequence");
1230 kw_small = &IdentTable.get(
"small");
1231 kw_soft = &IdentTable.get(
"soft");
1232 kw_solve = &IdentTable.get(
"solve");
1233 kw_specify = &IdentTable.get(
"specify");
1234 kw_specparam = &IdentTable.get(
"specparam");
1235 kw_strong0 = &IdentTable.get(
"strong0");
1236 kw_strong1 = &IdentTable.get(
"strong1");
1237 kw_supply0 = &IdentTable.get(
"supply0");
1238 kw_supply1 = &IdentTable.get(
"supply1");
1239 kw_table = &IdentTable.get(
"table");
1240 kw_tagged = &IdentTable.get(
"tagged");
1241 kw_task = &IdentTable.get(
"task");
1242 kw_timescale = &IdentTable.get(
"timescale");
1243 kw_tri = &IdentTable.get(
"tri");
1244 kw_tri0 = &IdentTable.get(
"tri0");
1245 kw_tri1 = &IdentTable.get(
"tri1");
1246 kw_triand = &IdentTable.get(
"triand");
1247 kw_trior = &IdentTable.get(
"trior");
1248 kw_trireg = &IdentTable.get(
"trireg");
1249 kw_unconnected_drive = &IdentTable.get(
"unconnected_drive");
1250 kw_undefineall = &IdentTable.get(
"undefineall");
1251 kw_unique = &IdentTable.get(
"unique");
1252 kw_unique0 = &IdentTable.get(
"unique0");
1253 kw_uwire = &IdentTable.get(
"uwire");
1254 kw_vectored = &IdentTable.get(
"vectored");
1255 kw_wait = &IdentTable.get(
"wait");
1256 kw_wand = &IdentTable.get(
"wand");
1257 kw_weak0 = &IdentTable.get(
"weak0");
1258 kw_weak1 = &IdentTable.get(
"weak1");
1259 kw_wildcard = &IdentTable.get(
"wildcard");
1260 kw_wire = &IdentTable.get(
"wire");
1261 kw_with = &IdentTable.get(
"with");
1262 kw_wor = &IdentTable.get(
"wor");
1265 kw_verilogHash = &IdentTable.get(
"#");
1266 kw_verilogHashHash = &IdentTable.get(
"##");
1267 kw_apostrophe = &IdentTable.get(
"\'");
1270 kw_bit = &IdentTable.get(
"bit");
1271 kw_bits = &IdentTable.get(
"bits");
1272 kw_code = &IdentTable.get(
"code");
1273 kw_dag = &IdentTable.get(
"dag");
1274 kw_def = &IdentTable.get(
"def");
1275 kw_defm = &IdentTable.get(
"defm");
1276 kw_defset = &IdentTable.get(
"defset");
1277 kw_defvar = &IdentTable.get(
"defvar");
1278 kw_dump = &IdentTable.get(
"dump");
1279 kw_include = &IdentTable.get(
"include");
1280 kw_list = &IdentTable.get(
"list");
1281 kw_multiclass = &IdentTable.get(
"multiclass");
1282 kw_then = &IdentTable.get(
"then");
1286 JsExtraKeywords = std::unordered_set<IdentifierInfo *>(
1287 {kw_as, kw_async, kw_await, kw_declare, kw_finally, kw_from,
1288 kw_function, kw_get, kw_import, kw_is, kw_let, kw_module, kw_override,
1289 kw_readonly, kw_set, kw_type, kw_typeof, kw_var, kw_yield,
1291 kw_abstract, kw_extends, kw_implements, kw_instanceof, kw_interface});
1293 CSharpExtraKeywords = JsExtraKeywords;
1294 CSharpExtraKeywords.insert(
1295 {kw_base, kw_byte, kw_checked, kw_decimal, kw_delegate,
1296 kw_event, kw_fixed, kw_foreach, kw_implicit, kw_in,
1297 kw_init, kw_internal, kw_lock, kw_null, kw_object,
1298 kw_out, kw_params, kw_ref, kw_string, kw_stackalloc,
1299 kw_sbyte, kw_sealed, kw_uint, kw_ulong, kw_unchecked,
1300 kw_unsafe, kw_ushort, kw_when, kw_where});
1305 VerilogExtraKeywords = std::unordered_set<IdentifierInfo *>(
1306 {kw_always, kw_always_comb, kw_always_ff,
1307 kw_always_latch, kw_assert, kw_assign,
1308 kw_assume, kw_automatic, kw_before,
1309 kw_begin, kw_bins, kw_binsof,
1310 kw_casex, kw_casez, kw_celldefine,
1311 kw_checker, kw_clocking, kw_constraint,
1312 kw_cover, kw_covergroup, kw_coverpoint,
1313 kw_disable, kw_dist, kw_edge,
1314 kw_end, kw_endcase, kw_endchecker,
1315 kw_endclass, kw_endclocking, kw_endfunction,
1316 kw_endgenerate, kw_endgroup, kw_endinterface,
1317 kw_endmodule, kw_endpackage, kw_endprimitive,
1318 kw_endprogram, kw_endproperty, kw_endsequence,
1319 kw_endspecify, kw_endtable, kw_endtask,
1320 kw_extends, kw_final, kw_foreach,
1321 kw_forever, kw_fork, kw_function,
1322 kw_generate, kw_highz0, kw_highz1,
1323 kw_iff, kw_ifnone, kw_ignore_bins,
1324 kw_illegal_bins, kw_implements, kw_import,
1325 kw_initial, kw_inout, kw_input,
1326 kw_inside, kw_interconnect, kw_interface,
1327 kw_intersect, kw_join, kw_join_any,
1328 kw_join_none, kw_large, kw_let,
1329 kw_local, kw_localparam, kw_macromodule,
1330 kw_matches, kw_medium, kw_negedge,
1331 kw_output, kw_package, kw_packed,
1332 kw_parameter, kw_posedge, kw_primitive,
1333 kw_priority, kw_program, kw_property,
1334 kw_pull0, kw_pull1, kw_pure,
1335 kw_rand, kw_randc, kw_randcase,
1336 kw_randsequence, kw_ref, kw_repeat,
1337 kw_sample, kw_scalared, kw_sequence,
1338 kw_small, kw_soft, kw_solve,
1339 kw_specify, kw_specparam, kw_strong0,
1340 kw_strong1, kw_supply0, kw_supply1,
1341 kw_table, kw_tagged, kw_task,
1342 kw_tri, kw_tri0, kw_tri1,
1343 kw_triand, kw_trior, kw_trireg,
1344 kw_unique, kw_unique0, kw_uwire,
1345 kw_var, kw_vectored, kw_wait,
1346 kw_wand, kw_weak0, kw_weak1,
1347 kw_wildcard, kw_wire, kw_with,
1348 kw_wor, kw_verilogHash, kw_verilogHashHash});
1350 TableGenExtraKeywords = std::unordered_set<IdentifierInfo *>({