| Copyright | (c) Galois Inc 2018 |
|---|---|
| License | BSD3 |
| Maintainer | Langston Barrett <lbarrett@galois.com> |
| Stability | provisional |
| Safe Haskell | None |
| Language | Haskell2010 |
Lang.Crucible.LLVM.Errors
Contents
Description
Synopsis
- data LLVMSafetyAssertion sym
- data BadBehavior sym where
- BBUndefinedBehavior :: forall sym. UndefinedBehavior (RegValue' sym) -> BadBehavior sym
- BBMemoryError :: forall sym. MemoryError sym -> BadBehavior sym
- undefinedBehavior :: UndefinedBehavior (RegValue' sym) -> Pred sym -> LLVMSafetyAssertion sym
- undefinedBehavior' :: UndefinedBehavior (RegValue' sym) -> Pred sym -> Text -> LLVMSafetyAssertion sym
- poison :: Poison (RegValue' sym) -> Pred sym -> LLVMSafetyAssertion sym
- poison' :: Poison (RegValue' sym) -> Pred sym -> Text -> LLVMSafetyAssertion sym
- memoryError :: forall (w :: Natural) sym. 1 <= w => MemoryOp sym w -> MemoryErrorReason -> Pred sym -> LLVMSafetyAssertion sym
- detailBB :: IsExpr (SymExpr sym) => BadBehavior sym -> Doc ann
- explainBB :: IsExpr (SymExpr sym) => BadBehavior sym -> Doc ann
- ppBB :: IsExpr (SymExpr sym) => BadBehavior sym -> Doc ann
- concBadBehavior :: IsExprBuilder sym => sym -> (forall (tp :: BaseType). SymExpr sym tp -> IO (GroundValue tp)) -> BadBehavior sym -> IO (BadBehavior sym)
- classifier :: forall sym f. Functor f => (BadBehavior sym -> f (BadBehavior sym)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym)
- predicate :: forall sym f. Functor f => (Pred sym -> f (Pred sym)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym)
- extra :: forall sym f. Functor f => (Maybe Text -> f (Maybe Text)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym)
Documentation
data LLVMSafetyAssertion sym Source #
Instances
data BadBehavior sym where Source #
Combine the three types of bad behaviors
Constructors
| BBUndefinedBehavior :: forall sym. UndefinedBehavior (RegValue' sym) -> BadBehavior sym | |
| BBMemoryError :: forall sym. MemoryError sym -> BadBehavior sym |
undefinedBehavior :: UndefinedBehavior (RegValue' sym) -> Pred sym -> LLVMSafetyAssertion sym Source #
undefinedBehavior' :: UndefinedBehavior (RegValue' sym) -> Pred sym -> Text -> LLVMSafetyAssertion sym Source #
memoryError :: forall (w :: Natural) sym. 1 <= w => MemoryOp sym w -> MemoryErrorReason -> Pred sym -> LLVMSafetyAssertion sym Source #
concBadBehavior :: IsExprBuilder sym => sym -> (forall (tp :: BaseType). SymExpr sym tp -> IO (GroundValue tp)) -> BadBehavior sym -> IO (BadBehavior sym) Source #
Lenses
classifier :: forall sym f. Functor f => (BadBehavior sym -> f (BadBehavior sym)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym) Source #
predicate :: forall sym f. Functor f => (Pred sym -> f (Pred sym)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym) Source #
extra :: forall sym f. Functor f => (Maybe Text -> f (Maybe Text)) -> LLVMSafetyAssertion sym -> f (LLVMSafetyAssertion sym) Source #