derive-storable-plugin-0.2.3.0: GHC core plugin supporting the derive-storable package.

Copyright(c) Mateusz Kłoczko 2016
LicenseMIT
Maintainermateusz.p.kloczko@gmail.com
Stabilityexperimental
PortabilityGHC-only
Safe HaskellNone
LanguageHaskell2010

Foreign.Storable.Generic.Plugin.Internal.Predicates

Description

Predicates for finding GStorable identifiers, plus some others.

Synopsis

Documentation

isGStorableInstId :: Id -> Bool Source #

Predicate used to find GStorable instances identifiers.

isSizeOfId :: Id -> Bool Source #

Predicate used to find gsizeOf identifiers

isAlignmentId :: Id -> Bool Source #

Predicate used to find galignment identifiers

isPeekId :: Id -> Bool Source #

Predicate used to find gpeekByteOff identifiers

isPokeId :: Id -> Bool Source #

Predicate used to find gpeekByteOff identifiers

isSpecGStorableInstId :: Id -> Bool Source #

Predicate used to find specialized GStorable instance identifiers

isSpecSizeOfId :: Id -> Bool Source #

Predicate used to find specialized gsizeOf identifiers

isSpecAlignmentId :: Id -> Bool Source #

Predicate used to find specialized galignment identifiers

isSpecPeekId :: Id -> Bool Source #

Predicate used to find specialized gpeekByteOff identifiers

isSpecPokeId :: Id -> Bool Source #

Predicate used to find specialized gpokeByteOff identifiers

isChoiceSizeOfId :: Id -> Bool Source #

Predicate used to find chSizeOf identifiers

isChoiceAlignmentId :: Id -> Bool Source #

Predicate used to find chAlignment identifiers

isChoicePeekId :: Id -> Bool Source #

Predicate used to find chPeekByteOff identifiers

isChoicePokeId :: Id -> Bool Source #

Predicate used to find chPokeByteOff identifiers

isOffsetsId :: Id -> Bool Source #

Is offsets id.

isGStorableId :: Id -> Bool Source #

Is a GStorable identifier

isGStorableMethodId :: Id -> Bool Source #

Is the id an GStorable method.

isNonRecBind :: CoreBind -> Bool Source #

Check if binding is non-recursive.

toIsBind :: (Id -> Bool) -> CoreBind -> Bool Source #

Lift the identifier predicate to work on a core binding.

withTypeCheck :: (Type -> Maybe Type) -> (Id -> Bool) -> Id -> Bool Source #

Use both type getters and identifier predicate to create a predicate.