packages feed

libclang-bindings-0.1.0.0: src/Clang/HighLevel/Types.hs

-- | Types used by the high-level API
--
-- Intended for unqualified import; see "Clang.HighLevel" for more detailed
-- discussion.
module Clang.HighLevel.Types (
    -- * Source locations
    SingleLoc(..)
  , MultiLoc(..)
  , Range(..)
    -- ** Comparisons
  , compareSingleLoc
  , rangeContainsLoc
    -- ** Conversion
  , toMulti
  , toRange
  , fromSingle
  , fromRange
    -- * Tokens
  , Token(..)
  , TokenSpelling(..)
    -- * Diagnostics
  , Diagnostic(..)
  , FixIt(..)
  , diagnosticIsError
    -- * Folds
  , Fold
  , HandlerResult(..)
  , Next
    -- ** Construction
  , simpleFold
  , foldWithHandler
  , FoldException (..)
  , foldTry
    -- ** Fold-specific functionality
  , foldBreak
  , foldBreakWith
  , foldBreakOpt
  , foldContinue
  , foldContinueWith
  , foldContinueOpt
  , foldRecurse
  , foldRecurseWith
  , foldRecurseOpt
  , foldRecursePure
  , foldRecursePureOpt
    -- * Declaration classification
  , DeclarationClassification(..)
    -- * Evaluation
  , EvalResult(..)
  ) where

import Clang.HighLevel.Declaration
import Clang.HighLevel.Diagnostics
import Clang.HighLevel.Evaluate
import Clang.HighLevel.Fold
import Clang.HighLevel.SourceLoc
import Clang.HighLevel.Tokens