packages feed

libclang-bindings-0.2.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 (
    -- * Paths
    RealPath(..)
  , SourcePath(..)
    -- * Source locations
  , SingleLoc(..)
  , MultiLoc(..)
  , Range(..)
    -- ** Comparisons
  , compareSingleLoc
  , rangeContainsLoc
    -- ** Conversion (CXFile)
  , toMultiCXFile
    -- ** Conversion (RealPath)
  , toMultiRealPath
  , toRangeRealPath
    -- ** Conversion (SourcePath)
  , toMultiSourcePath
  , toRangeSourcePath
    -- * 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
import Clang.Paths