1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980(**************************************************************************)(* *)(* SPDX-License-Identifier LGPL-2.1 *)(* Copyright (C) *)(* CEA (Commissariat à l'énergie atomique et aux énergies alternatives) *)(* *)(**************************************************************************)typek=|Behavior|Enum|Field|Formal_var|Formal_in_type|Function|Global_var|Label|String_literal|Local_var|Logic_var|Predicate|Type|Logic_type|Logic_constructor|Axiomatic|Lemmaletname_of_kind=function|Behavior->"behavior"|Enum->"enum"|Field->"field"|Formal_var->"formal variable"|Formal_in_type->"formal variable in fun type"|Function->"function"|Global_var->"global variable"|Label->"label"|String_literal->"literal string"|Local_var->"local variable"|Logic_var->"logic variable"|Predicate->"predicate"|Type->"type"|Logic_type->"logic type"|Logic_constructor->"logic constructor"|Axiomatic->"axiomatic"|Lemma->"lemma"letprefix=function|Behavior->"B"|Enum->"E"|Field->"M"|Formal_var->"f"|Formal_in_type->"ft"|Function->"F"|Global_var->"G"|Label->"L"|String_literal->"LS"|Local_var->"V"|Logic_var->"LV"|Predicate->"P"|Type->"T"|Logic_type->"LT"|Logic_constructor->"LC"|Axiomatic->"A"|Lemma->"LE"includeDatatype.Make_with_collections(structtypet=kletname="Obfuscator.kind"letreprs=[Global_var]lethash(k:k)=Hashtbl.hashkletequal(k1:k)k2=k1=k2letcompare(k1:k)k2=Stdlib.comparek1k2letcopy=Datatype.identityletstructural_descr=Structural_descr.t_abstractletrehash=Datatype.identityletmem_project=Datatype.never_any_projectletprettyfmtk=Format.fprintffmt"%s"(name_of_kindk)end)