packages feed

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