plutus-tx-1.0.0.0.0.0.0.0.1: Libraries for Plutus Tx and its prelude
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusTx.Coverage

Synopsis

Documentation

data CoverageAnnotation Source #

Instances

Instances details
FromJSON CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

FromJSONKey CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSONKey CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageAnnotation :: Type -> Type Source #

Read CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Show CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CoverageAnnotation -> () Source #

Flat CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Eq CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Pretty CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

Serialise CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageAnnotation Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageAnnotation = D1 ('MetaData "CoverageAnnotation" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'False) (C1 ('MetaCons "CoverLocation" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CovLoc)) :+: C1 ('MetaCons "CoverBool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CovLoc) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data CoverageIndex Source #

This type keeps track of all coverage annotations and where they have been inserted / what annotations are expected to be found when executing a piece of code.

Instances

Instances details
FromJSON CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Monoid CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Semigroup CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageIndex :: Type -> Type Source #

Show CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CoverageIndex -> () Source #

Flat CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Eq CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

Serialise CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageIndex Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageIndex = D1 ('MetaData "CoverageIndex" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'False) (C1 ('MetaCons "CoverageIndex" 'PrefixI 'True) (S1 ('MetaSel ('Just "_coverageMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map CoverageAnnotation CoverageMetadata))))

newtype CoverageMetadata Source #

Constructors

CoverageMetadata 

Instances

Instances details
FromJSON CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Monoid CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Semigroup CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageMetadata :: Type -> Type Source #

Show CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CoverageMetadata -> () Source #

Flat CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Eq CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Pretty CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

Serialise CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageMetadata Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageMetadata = D1 ('MetaData "CoverageMetadata" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'True) (C1 ('MetaCons "CoverageMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "_metadataSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set Metadata))))

data Metadata Source #

Constructors

ApplicationHeadSymbol String 
IgnoredAnnotation

Location that is not interesting to cover. This is not generated by the compiler, but can be added later using addCoverageMetadata.

Instances

Instances details
FromJSON Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Generic Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep Metadata :: Type -> Type Source #

Show Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

NFData Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: Metadata -> () Source #

Flat Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Eq Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Ord Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Pretty Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

pretty :: Metadata -> Doc ann Source #

prettyList :: [Metadata] -> Doc ann Source #

Serialise Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep Metadata Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep Metadata = D1 ('MetaData "Metadata" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'False) (C1 ('MetaCons "ApplicationHeadSymbol" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "IgnoredAnnotation" 'PrefixI 'False) (U1 :: Type -> Type))

newtype CoverageData Source #

Instances

Instances details
FromJSON CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Monoid CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Semigroup CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageData :: Type -> Type Source #

Show CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CoverageData -> () Source #

Eq CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageData Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageData = D1 ('MetaData "CoverageData" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'True) (C1 ('MetaCons "CoverageData" 'PrefixI 'True) (S1 ('MetaSel ('Just "_coveredAnnotations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set CoverageAnnotation))))

data CoverageReport Source #

Instances

Instances details
FromJSON CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Monoid CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Semigroup CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CoverageReport :: Type -> Type Source #

Show CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CoverageReport -> () Source #

Eq CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

Pretty CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageReport Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CoverageReport = D1 ('MetaData "CoverageReport" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'False) (C1 ('MetaCons "CoverageReport" 'PrefixI 'True) (S1 ('MetaSel ('Just "_coverageIndex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoverageIndex) :*: S1 ('MetaSel ('Just "_coverageData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CoverageData)))

data CovLoc Source #

A source location for coverage

Instances

Instances details
FromJSON CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

ToJSON CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Generic CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Associated Types

type Rep CovLoc :: Type -> Type Source #

Read CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Show CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

NFData CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

rnf :: CovLoc -> () Source #

Flat CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Eq CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Ord CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Pretty CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

Methods

pretty :: CovLoc -> Doc ann Source #

prettyList :: [CovLoc] -> Doc ann Source #

Serialise CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CovLoc Source # 
Instance details

Defined in PlutusTx.Coverage

type Rep CovLoc = D1 ('MetaData "CovLoc" "PlutusTx.Coverage" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'False) (C1 ('MetaCons "CovLoc" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_covLocFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "_covLocStartLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "_covLocEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "_covLocStartCol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "_covLocEndCol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

addCoverageMetadata :: CoverageAnnotation -> Metadata -> CoverageIndex -> CoverageIndex Source #

Add metadata to a coverage annotation. Does nothing if the annotation is not in the index.

addLocationToCoverageIndex :: MonadWriter CoverageIndex m => CovLoc -> m CoverageAnnotation Source #

Include a location coverage annotation in the index

addBoolCaseToCoverageIndex :: MonadWriter CoverageIndex m => CovLoc -> Bool -> CoverageMetadata -> m CoverageAnnotation Source #

Include a boolean coverage annotation in the index