packages feed

hs-bindgen-1.0.0.0: test-artefacts/fixtures/binding-specs/enum/closed/th.txt

-- addDependentFile test-artefacts/headers/golden/binding-specs/enum/closed.h
{-| __C declaration:__ @enum foo@

    __defined at:__ @binding-specs\/enum\/closed.h 2:6@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
newtype Foo
    = Foo {unwrapFoo :: CUInt}
    deriving stock (Eq, Generic, Ord)
    deriving newtype HasFFIType
instance StaticSize Foo
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw Foo
    where readRaw = \ptr_0 -> pure Foo <*> readRawByteOff ptr_0 (0 :: Int)
instance WriteRaw Foo
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Foo unwrapFoo_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapFoo_2
deriving via (EquivStorable Foo) instance Storable Foo
deriving via CUInt instance Prim Foo
instance CEnum Foo
    where type CEnumZ Foo = CUInt
          toCEnum = Foo
          fromCEnum = getField @"unwrapFoo"
          declaredValues = \_ -> declaredValuesFromList [(0,
                                                          singleton "Bar"),
                                                         (1, singleton "Baz")]
          showsUndeclared = showsWrappedUndeclared "Foo"
          readPrecUndeclared = readPrecWrappedUndeclared "Foo"
          isDeclared = seqIsDeclared
          mkDeclared = seqMkDeclared
instance SequentialCEnum Foo
    where minDeclaredValue = Bar
          maxDeclaredValue = Baz
instance Show Foo
    where showsPrec = shows
instance Read Foo
    where readPrec = readPrec
          readList = readListDefault
          readListPrec = readListPrecDefault
instance (~) ty CUInt => HasField "unwrapFoo" Foo ty
    where hasField = \x_0 -> (\y_1 -> Foo{unwrapFoo = y_1},
                              getField @"unwrapFoo" x_0)
instance (~) ty CUInt => HasField "unwrapFoo" (Ptr Foo) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapFoo")
instance HasCField Foo "unwrapFoo"
    where type CFieldType Foo "unwrapFoo" = CUInt
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @bar@

    __defined at:__ @binding-specs\/enum\/closed.h 3:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Bar :: Foo
pattern Bar = Foo 0
{-| __C declaration:__ @baz@

    __defined at:__ @binding-specs\/enum\/closed.h 4:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Baz :: Foo
pattern Baz = Foo 1
{-# COMPLETE Bar, Baz #-}
{-| __C declaration:__ @enum elementary_particle_type@

    __defined at:__ @binding-specs\/enum\/closed.h 8:6@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
newtype ElementaryParticleType
    = ElementaryParticleType {unwrapElementaryParticleType :: CUInt}
    deriving stock (Eq, Generic, Ord)
    deriving newtype HasFFIType
instance StaticSize ElementaryParticleType
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw ElementaryParticleType
    where readRaw = \ptr_0 -> pure ElementaryParticleType <*> readRawByteOff ptr_0 (0 :: Int)
instance WriteRaw ElementaryParticleType
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       ElementaryParticleType unwrapElementaryParticleType_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapElementaryParticleType_2
deriving via (EquivStorable ElementaryParticleType) instance Storable ElementaryParticleType
deriving via CUInt instance Prim ElementaryParticleType
instance CEnum ElementaryParticleType
    where type CEnumZ ElementaryParticleType = CUInt
          toCEnum = ElementaryParticleType
          fromCEnum = getField @"unwrapElementaryParticleType"
          declaredValues = \_ -> declaredValuesFromList [(0,
                                                          singleton "Quark_up"),
                                                         (1, singleton "Quark_down"),
                                                         (2, singleton "Quark_charm"),
                                                         (3, singleton "Quark_strange"),
                                                         (4, singleton "Quark_top"),
                                                         (5, singleton "Quark_bottom"),
                                                         (6, singleton "Lepton_electron"),
                                                         (7, singleton "Lepton_electron_neutrino"),
                                                         (8, singleton "Lepton_muon"),
                                                         (9, singleton "Lepton_muon_neutrino"),
                                                         (10, singleton "Lepton_tau"),
                                                         (11, singleton "Lepton_tau_neutrino"),
                                                         (12, singleton "Boson_gluon"),
                                                         (13, singleton "Boson_photon"),
                                                         (14, singleton "Boson_z"),
                                                         (15, singleton "Boson_w"),
                                                         (16, singleton "Boson_higgs")]
          showsUndeclared = showsWrappedUndeclared "ElementaryParticleType"
          readPrecUndeclared = readPrecWrappedUndeclared "ElementaryParticleType"
          isDeclared = seqIsDeclared
          mkDeclared = seqMkDeclared
instance SequentialCEnum ElementaryParticleType
    where minDeclaredValue = Quark_up
          maxDeclaredValue = Boson_higgs
instance Show ElementaryParticleType
    where showsPrec = shows
instance Read ElementaryParticleType
    where readPrec = readPrec
          readList = readListDefault
          readListPrec = readListPrecDefault
instance (~) ty CUInt =>
         HasField "unwrapElementaryParticleType" ElementaryParticleType ty
    where hasField = \x_0 -> (\y_1 -> ElementaryParticleType{unwrapElementaryParticleType = y_1},
                              getField @"unwrapElementaryParticleType" x_0)
instance (~) ty CUInt =>
         HasField "unwrapElementaryParticleType"
                  (Ptr ElementaryParticleType)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapElementaryParticleType")
instance HasCField ElementaryParticleType
                   "unwrapElementaryParticleType"
    where type CFieldType ElementaryParticleType
                          "unwrapElementaryParticleType" = CUInt
          offset# = \_ -> \_ -> 0
{-| __C declaration:__ @quark_up@

    __defined at:__ @binding-specs\/enum\/closed.h 9:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_up :: ElementaryParticleType
pattern Quark_up = ElementaryParticleType 0
{-| __C declaration:__ @quark_down@

    __defined at:__ @binding-specs\/enum\/closed.h 10:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_down :: ElementaryParticleType
pattern Quark_down = ElementaryParticleType 1
{-| __C declaration:__ @quark_charm@

    __defined at:__ @binding-specs\/enum\/closed.h 11:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_charm :: ElementaryParticleType
pattern Quark_charm = ElementaryParticleType 2
{-| __C declaration:__ @quark_strange@

    __defined at:__ @binding-specs\/enum\/closed.h 12:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_strange :: ElementaryParticleType
pattern Quark_strange = ElementaryParticleType 3
{-| __C declaration:__ @quark_top@

    __defined at:__ @binding-specs\/enum\/closed.h 13:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_top :: ElementaryParticleType
pattern Quark_top = ElementaryParticleType 4
{-| __C declaration:__ @quark_bottom@

    __defined at:__ @binding-specs\/enum\/closed.h 14:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Quark_bottom :: ElementaryParticleType
pattern Quark_bottom = ElementaryParticleType 5
{-| __C declaration:__ @lepton_electron@

    __defined at:__ @binding-specs\/enum\/closed.h 15:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_electron :: ElementaryParticleType
pattern Lepton_electron = ElementaryParticleType 6
{-| __C declaration:__ @lepton_electron_neutrino@

    __defined at:__ @binding-specs\/enum\/closed.h 16:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_electron_neutrino :: ElementaryParticleType
pattern Lepton_electron_neutrino = ElementaryParticleType 7
{-| __C declaration:__ @lepton_muon@

    __defined at:__ @binding-specs\/enum\/closed.h 17:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_muon :: ElementaryParticleType
pattern Lepton_muon = ElementaryParticleType 8
{-| __C declaration:__ @lepton_muon_neutrino@

    __defined at:__ @binding-specs\/enum\/closed.h 18:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_muon_neutrino :: ElementaryParticleType
pattern Lepton_muon_neutrino = ElementaryParticleType 9
{-| __C declaration:__ @lepton_tau@

    __defined at:__ @binding-specs\/enum\/closed.h 19:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_tau :: ElementaryParticleType
pattern Lepton_tau = ElementaryParticleType 10
{-| __C declaration:__ @lepton_tau_neutrino@

    __defined at:__ @binding-specs\/enum\/closed.h 20:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Lepton_tau_neutrino :: ElementaryParticleType
pattern Lepton_tau_neutrino = ElementaryParticleType 11
{-| __C declaration:__ @boson_gluon@

    __defined at:__ @binding-specs\/enum\/closed.h 21:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Boson_gluon :: ElementaryParticleType
pattern Boson_gluon = ElementaryParticleType 12
{-| __C declaration:__ @boson_photon@

    __defined at:__ @binding-specs\/enum\/closed.h 22:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Boson_photon :: ElementaryParticleType
pattern Boson_photon = ElementaryParticleType 13
{-| __C declaration:__ @boson_z@

    __defined at:__ @binding-specs\/enum\/closed.h 23:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Boson_z :: ElementaryParticleType
pattern Boson_z = ElementaryParticleType 14
{-| __C declaration:__ @boson_w@

    __defined at:__ @binding-specs\/enum\/closed.h 24:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Boson_w :: ElementaryParticleType
pattern Boson_w = ElementaryParticleType 15
{-| __C declaration:__ @boson_higgs@

    __defined at:__ @binding-specs\/enum\/closed.h 25:3@

    __exported by:__ @binding-specs\/enum\/closed.h@
-}
pattern Boson_higgs :: ElementaryParticleType
pattern Boson_higgs = ElementaryParticleType 16
{-# COMPLETE Quark_up, Quark_down, Quark_charm, Quark_strange,
             Quark_top, Quark_bottom, Lepton_electron, Lepton_electron_neutrino,
             Lepton_muon, Lepton_muon_neutrino, Lepton_tau, Lepton_tau_neutrino,
             Boson_gluon, Boson_photon, Boson_z, Boson_w, Boson_higgs #-}