{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE UndecidableInstances #-} -- Needed for the DataId constraint on ResTyGADTHook -- | 'annotate' is a function which given a GHC AST fragment, constructs -- a syntax tree which indicates which annotations belong to each specific -- part of the fragment. -- -- "Delta" and "Print" provide two interpreters for this structure. You -- should probably use those unless you know what you're doing! -- -- The functor 'AnnotationF' has a number of constructors which correspond -- to different sitations which annotations can arise. It is hoped that in -- future versions of GHC these can be simplified by making suitable -- modifications to the AST. module Language.Haskell.GHC.ExactPrint.Annotate ( annotate , AnnotationF(..) , Annotated , Annotate(..) , withSortKeyContextsHelper ) where import Language.Haskell.GHC.ExactPrint.Annotater