|
|
|
@ -373,9 +373,11 @@ let get_lifecycle_for_framework_typ_opt lifecycle_typ lifecycle_proc_strs tenv =
|
|
|
|
|
let get_lifecycles = android_lifecycles
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let is_subclass tenv cn1 cn2 =
|
|
|
|
|
let is_subclass tenv cn1 classname_str =
|
|
|
|
|
let typename =
|
|
|
|
|
Typename.Java.from_string classname_str in
|
|
|
|
|
let lookup = Sil.tenv_lookup tenv in
|
|
|
|
|
match lookup cn1, lookup cn2 with
|
|
|
|
|
match lookup cn1, lookup typename with
|
|
|
|
|
| Some typ1, Some typ2 ->
|
|
|
|
|
is_subtype typ1 typ2 tenv
|
|
|
|
|
| _ -> false
|
|
|
|
@ -383,16 +385,17 @@ let is_subclass tenv cn1 cn2 =
|
|
|
|
|
|
|
|
|
|
(** Checks if the exception is an uncheched exception *)
|
|
|
|
|
let is_runtime_exception tenv typename =
|
|
|
|
|
let runtime_exception_typename =
|
|
|
|
|
Typename.Java.from_string "java.lang.RuntimeException" in
|
|
|
|
|
is_subclass tenv typename runtime_exception_typename
|
|
|
|
|
is_subclass tenv typename "java.lang.RuntimeException"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(** Checks if the class name is a Java exception *)
|
|
|
|
|
let is_exception tenv typename =
|
|
|
|
|
let exception_typename =
|
|
|
|
|
Typename.Java.from_string "java.lang.Exception" in
|
|
|
|
|
is_subclass tenv typename exception_typename
|
|
|
|
|
is_subclass tenv typename "java.lang.Exception"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(** Checks if the class name is a Java exception *)
|
|
|
|
|
let is_throwable tenv typename =
|
|
|
|
|
is_subclass tenv typename "java.lang.Throwable"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let non_stub_android_jar () =
|
|
|
|
|