From 27554b52887c75ef2d59eb611c265a254b4086b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr> Date: Tue, 18 Jun 2024 13:36:41 +0200 Subject: [PATCH] [cil] getCompField --- src/kernel_services/ast_queries/cil.ml | 5 +++++ src/kernel_services/ast_queries/cil.mli | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml index fd438e7de13..24d8d26e36f 100644 --- a/src/kernel_services/ast_queries/cil.ml +++ b/src/kernel_services/ast_queries/cil.ml @@ -5936,6 +5936,11 @@ let getCompField cinfo fieldName = (fun fi -> fi.fname = fieldName) (Option.value ~default:[] cinfo.cfields) +let getCompType typ = + match unrollTypeSkel typ with + | TComp(comp,_) -> comp + | _ -> raise Not_found + let sameSizeInt ?(machdep=false) (ik1 : ikind) (ik2 : ikind) = if machdep then bytesSizeOfInt ik1 == bytesSizeOfInt ik2 else diff --git a/src/kernel_services/ast_queries/cil.mli b/src/kernel_services/ast_queries/cil.mli index 2e07fd68287..83a9b53210a 100644 --- a/src/kernel_services/ast_queries/cil.mli +++ b/src/kernel_services/ast_queries/cil.mli @@ -658,6 +658,8 @@ val lenOfArray64: exp option -> Integer.t (** Return a named fieldinfo in compinfo, or raise Not_found *) val getCompField: compinfo -> string -> fieldinfo +(** Return the compinfo of the typ, or raise Not_found *) +val getCompType: typ -> compinfo (** A datatype to be used in conjunction with [existsType] *) type existsAction = -- GitLab