bugsnag-haskell-0.0.4.1: Bugsnag error reporter for Haskell
Safe HaskellNone
LanguageHaskell2010

Network.Bugsnag.StackFrame

Synopsis

Documentation

newtype BugsnagCode Source #

Lines of code surrounding the error

Pairs of (line-number, line-of-code), up to 3 on either side.

Constructors

BugsnagCode [(Natural, Text)] 

attachBugsnagCode :: CodeIndex -> BugsnagStackFrame -> BugsnagStackFrame Source #

Attempt to attach a BugsnagCode to a BugsnagStackFrame

Looks up the content in the Index by File/LineNumber and, if found, sets it on the record.

data BugsnagStackFrame Source #

Instances

Instances details
Show BugsnagStackFrame Source # 
Instance details

Defined in Network.Bugsnag.StackFrame

Generic BugsnagStackFrame Source # 
Instance details

Defined in Network.Bugsnag.StackFrame

Associated Types

type Rep BugsnagStackFrame :: Type -> Type #

ToJSON BugsnagStackFrame Source # 
Instance details

Defined in Network.Bugsnag.StackFrame

type Rep BugsnagStackFrame Source # 
Instance details

Defined in Network.Bugsnag.StackFrame

type Rep BugsnagStackFrame = D1 ('MetaData "BugsnagStackFrame" "Network.Bugsnag.StackFrame" "bugsnag-haskell-0.0.4.1-2wBPl8SEYMUGu61lEE3DvW" 'False) (C1 ('MetaCons "BugsnagStackFrame" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bsfFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: (S1 ('MetaSel ('Just "bsfLineNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Natural) :*: S1 ('MetaSel ('Just "bsfColumnNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Natural)))) :*: (S1 ('MetaSel ('Just "bsfMethod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "bsfInProject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "bsfCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BugsnagCode))))))

currentStackFrame :: Q Exp Source #

Construct a BugsnagStackFrame from the point of this splice

Unfortunately there's no way to know the function, so that must be given:

>>> :set -XOverloadedStrings -XTemplateHaskell
>>> :m +Control.Arrow
>>> (bsfFile &&& bsfMethod) $ $(currentStackFrame) "myFunc"
("<interactive>","myFunc")