hs-bindgen-1.0.0.0: test-artefacts/fixtures/edge-cases/include_macro_parent/th.txt
-- addDependentFile test-artefacts/headers/golden/edge-cases/include_macro_child.h
-- addDependentFile test-artefacts/headers/golden/edge-cases/include_macro_parent.h
{-| __C declaration:__ @struct pt@
__defined at:__ @include_macro_child.h (CHILD_HEADER) 1:9@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}
data Pt
= Pt {pt_x :: CDouble
{- ^ __C declaration:__ @x@
__defined at:__ @include_macro_child.h (CHILD_HEADER) 1:25@
__exported by:__ @edge-cases\/include_macro_parent.h@
-},
pt_y :: CDouble
{- ^ __C declaration:__ @y@
__defined at:__ @include_macro_child.h (CHILD_HEADER) 1:28@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}}
deriving stock (Eq, Generic, Show)
instance StaticSize Pt
where staticSizeOf = \_ -> 16 :: Int
staticAlignment = \_ -> 8 :: Int
instance ReadRaw Pt
where readRaw = \ptr_0 -> (pure Pt <*> readRaw (Proxy @"pt_x") ptr_0) <*> readRaw (Proxy @"pt_y") ptr_0
instance WriteRaw Pt
where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
Pt pt_x_2
pt_y_3 -> writeRaw (Proxy @"pt_x") ptr_0 pt_x_2 >> writeRaw (Proxy @"pt_y") ptr_0 pt_y_3
deriving via (EquivStorable Pt) instance Storable Pt
deriving via (IsStructViaReadRaw Pt) instance IsStruct Pt
instance (~) ty CDouble => HasField "pt_x" Pt ty
where hasField = \x_0 -> (\y_1 -> Pt{pt_x = y_1,
pt_y = getField @"pt_y" x_0},
getField @"pt_x" x_0)
instance (~) ty CDouble => HasField "pt_x" (Ptr Pt) (Ptr ty)
where getField = fromPtr (Proxy @"pt_x")
instance HasCField Pt "pt_x"
where type CFieldType Pt "pt_x" = CDouble
offset# = \_ -> \_ -> 0
instance (~) ty CDouble => HasField "pt_y" Pt ty
where hasField = \x_0 -> (\y_1 -> Pt{pt_y = y_1,
pt_x = getField @"pt_x" x_0},
getField @"pt_y" x_0)
instance (~) ty CDouble => HasField "pt_y" (Ptr Pt) (Ptr ty)
where getField = fromPtr (Proxy @"pt_y")
instance HasCField Pt "pt_y"
where type CFieldType Pt "pt_y" = CDouble
offset# = \_ -> \_ -> 8
{-| __C declaration:__ @macro CHILD_HEADER@
__C literal:__ @\"include_macro_child.h\"@
__defined at:__ @edge-cases\/include_macro_parent.h 4:9@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}
cHILD_HEADER :: ByteString
{-| __C declaration:__ @macro CHILD_HEADER@
__C literal:__ @\"include_macro_child.h\"@
__defined at:__ @edge-cases\/include_macro_parent.h 4:9@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}
cHILD_HEADER = pack [105,
110,
99,
108,
117,
100,
101,
95,
109,
97,
99,
114,
111,
95,
99,
104,
105,
108,
100,
46,
104]
{-| __C declaration:__ @struct rect@
__defined at:__ @edge-cases\/include_macro_parent.h 7:8@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}
data Rect
= Rect {rect_tl :: Pt
{- ^ __C declaration:__ @tl@
__defined at:__ @edge-cases\/include_macro_parent.h 7:18@
__exported by:__ @edge-cases\/include_macro_parent.h@
-},
rect_br :: Pt
{- ^ __C declaration:__ @br@
__defined at:__ @edge-cases\/include_macro_parent.h 7:22@
__exported by:__ @edge-cases\/include_macro_parent.h@
-}}
deriving stock (Eq, Generic, Show)
instance StaticSize Rect
where staticSizeOf = \_ -> 32 :: Int
staticAlignment = \_ -> 8 :: Int
instance ReadRaw Rect
where readRaw = \ptr_0 -> (pure Rect <*> readRaw (Proxy @"rect_tl") ptr_0) <*> readRaw (Proxy @"rect_br") ptr_0
instance WriteRaw Rect
where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
Rect rect_tl_2
rect_br_3 -> writeRaw (Proxy @"rect_tl") ptr_0 rect_tl_2 >> writeRaw (Proxy @"rect_br") ptr_0 rect_br_3
deriving via (EquivStorable Rect) instance Storable Rect
deriving via (IsStructViaReadRaw Rect) instance IsStruct Rect
instance (~) ty Pt => HasField "rect_tl" Rect ty
where hasField = \x_0 -> (\y_1 -> Rect{rect_tl = y_1,
rect_br = getField @"rect_br" x_0},
getField @"rect_tl" x_0)
instance (~) ty Pt => HasField "rect_tl" (Ptr Rect) (Ptr ty)
where getField = fromPtr (Proxy @"rect_tl")
instance HasCField Rect "rect_tl"
where type CFieldType Rect "rect_tl" = Pt
offset# = \_ -> \_ -> 0
instance (~) ty Pt => HasField "rect_br" Rect ty
where hasField = \x_0 -> (\y_1 -> Rect{rect_br = y_1,
rect_tl = getField @"rect_tl" x_0},
getField @"rect_br" x_0)
instance (~) ty Pt => HasField "rect_br" (Ptr Rect) (Ptr ty)
where getField = fromPtr (Proxy @"rect_br")
instance HasCField Rect "rect_br"
where type CFieldType Rect "rect_br" = Pt
offset# = \_ -> \_ -> 16