module Language.Haskell.Refact.API
(
ParseResult
, VerboseLevel(..)
, RefactSettings(..)
, TargetModule
, RefactFlags(..)
, StateStorage(..)
, RefactGhc
, runRefactGhc
, getRefacSettings
, defaultSettings
, logSettings
, logm
, logDataWithAnns
, logExactprint
, logParsedSource
, parseSourceFileGhc
, getTargetGhc
, runRefacSession
, applyRefac
, refactDone
, ApplyRefacResult
, RefacSource(..)
, nameSybQuery
, fileNameFromModSummary
, getModuleName
, clientModsAndFiles
, serverModsAndFiles
, stripCallStack
, getTypecheckedModule
, RefacResult(..)
, getRefactStreamModified
, setRefactStreamModified
, getRefactInscopes
, getRefactRenamed
, putRefactRenamed
, getRefactParsed
, putRefactParsed
, putParsedModule
, clearParsedModule
, getRefactFileName
, getRefactTargetModule
, getRefactNameMap
, getRefactModule
, getRefactModuleName
, liftT
, getRefactDone
, setRefactDone
, clearRefactDone
, setStateStorage
, getStateStorage
, parseDeclWithAnns
, SimpPos
, getGhcLoc
, getGhcLocEnd
, getLocatedStart
, getLocatedEnd
, getStartEndLoc
, startEndLocGhc
, emptyList, nonEmptyList
, InScopes
, ghead
, glast
, gtail
, gfromJust
, inScopeInfo, isInScopeAndUnqualified, isInScopeAndUnqualifiedGhc, inScopeNames
, isExported, isExplicitlyExported, modIsExported
, equivalentNameInNewMod
, hsQualifier
, isFieldName
, isClassName
, isInstanceName
, hsTypeVbls
, hsNamessRdr
, isDeclaredInRdr
, FreeNames(..),DeclaredNames(..)
, hsFreeAndDeclaredNameStrings
, hsFreeAndDeclaredRdr
, hsFreeAndDeclaredPNs
, getDeclaredVarsRdr
, hsVisibleNamesRdr
, hsFDsFromInsideRdr, hsFDNamesFromInsideRdr, hsFDNamesFromInsideRdrPure
, hsVisibleDsRdr
, rdrName2Name, rdrName2NamePure
,isVarId,isConId,isOperator,isTopLevelPN,isLocalPN,isNonLibraryName
,isQualifiedPN, isFunOrPatName,isTypeSig
,isFunBindP,isFunBindR,isPatBindP,isPatBindR,isSimplePatBind,isSimplePatDecl
,isComplexPatBind,isComplexPatDecl,isFunOrPatBindP,isFunOrPatBindR
,usedWithoutQualR
,findNameInRdr
,findNamesRdr, findEntity, findEntity'
,sameOccurrence
, findIdForName
, getTypeForName
, definesTypeSigRdr,definesSigDRdr
, sameBindRdr
, UsedByRhs(..)
, isMainModule
, getModule
,defineLoc, useLoc, locToExp
,findLRdrName
,locToNameRdrPure
,locToRdrName
,getName
,addDecl, addItemsToImport, addItemsToExport, addHiding
,addParamsToDecls, addParamsToSigs, addActualParamsToRhs, addImportDecl, duplicateDecl
,rmDecl, rmTypeSig, rmTypeSigs
,rmQualifier,qualifyToplevelName,renamePN, HowToQual(..), autoRenameLocalVar
, expToNameRdr
, patToNameRdr
, nameToString
, pNtoPat
, definedPNsRdr,definedNamesRdr
, definingDeclsRdrNames, definingDeclsRdrNames', definingSigsRdrNames
, definingTyClDeclsNames
, divideDecls
, mkRdrName,mkQualifiedRdrName,mkNewGhcName,mkNewName,mkNewToplevelName
, registerRdrName
, causeNameClashInExports
, declsSybTransform
, everywhereMStaged'
, everywhereStaged
, everywhereStaged'
, listifyStaged
, zeverywhereStaged
, zopenStaged
, zsomewhereStaged
, transZ
, transZM
, zopenStaged'
, ztransformStagedM
, upUntil
, findAbove
, showGhc
, showGhcQual
, prettyprint
, prettyprint2
, ppType
, setGhcContext
, NameMap
, replace
, setRefactAnns
, setAnnKeywordDP
, copyAnn
, clearPriorComments
, balanceAllComments
) where
import Language.Haskell.Refact.Utils.ExactPrint
import Language.Haskell.Refact.Utils.GhcUtils
import Language.Haskell.Refact.Utils.GhcVersionSpecific
import Language.Haskell.Refact.Utils.LocUtils
import Language.Haskell.Refact.Utils.Monad
import Language.Haskell.Refact.Utils.MonadFunctions
import Language.Haskell.Refact.Utils.TypeSyn
import Language.Haskell.Refact.Utils.TypeUtils
import Language.Haskell.Refact.Utils.Types
import Language.Haskell.Refact.Utils.Utils
import Language.Haskell.Refact.Utils.Variables
import Language.Haskell.GHC.ExactPrint.Utils