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 #-}