(* * Copyright (c) 2009 - 2013 Monoidics ltd. * Copyright (c) 2013 - present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. *) open! IStd open Javalib_pack (** {2 Class names and types} *) let builtins_package = "com.facebook.infer.builtins" let infer_builtins_cl = builtins_package ^ ".InferBuiltins" let infer_undefined_cl = builtins_package ^ ".InferUndefined" let obj_type = JBasics.TObject (JBasics.TClass JBasics.java_lang_object) let string_cl = "java.lang.String" let class_cl = "java.lang.Class" let npe_cl = "java.lang.NullPointerException" let cce_cl = "java.lang.ClassCastException" let out_of_bound_cl = "java.lang.ArrayIndexOutOfBoundsException" (** {2 Names of special variables, constants and method names} *) let this = Mangled.from_string "this" let constructor_name = "" let clone_name = "clone" let field_st = Mangled.from_string "field" let field_cst = "" (** {2 Names of primitive types} *) let void = "void" let boolean_st = "boolean" let byte_st = "byte" let char_st = "char" let double_st = "double" let float_st = "float" let int_st = "int" let long_st = "long" let short_st = "short" (** {2 Encoding of primitive types when they are the element type of arrays } *) let boolean_code = "Z" let byte_code = "B" let char_code = "C" let double_code = "D" let float_code = "F" let int_code = "I" let long_code = "J" let short_code = "S" let class_code cl = "L" ^ cl