module Language.Haskell.Refact.API
(
ParseResult
, VerboseLevel(..)
, RefactSettings(..)
, TargetModule
, RefactFlags(..)
, StateStorage(..)
, RefactGhc
, runRefactGhc
, getRefacSettings
, defaultSettings
, logSettings
, logm
, logDataWithAnns
, logExactprint
, logParsedSource
, parseSourceFileGhc
, getTargetGhc
, runRefacSession
, runMultRefacSession
, applyRefac
, 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
, fetchAnnsFinal
, 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
, eqRdrNamePure
, sameNameSpace
,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
,locToNameRdr
,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
, everywhereButM
, zeverywhereStaged
, zopenStaged
, zsomewhereStaged
, transZ
, transZM
, zopenStaged'
, ztransformStagedM
, upUntil
, findAbove
, showGhc
, showGhcQual
, prettyprint
, prettyprint2
, ppType
, setGhcContext
, NameMap
, replace
, setRefactAnns
, mergeRefactAnns
, setAnnKeywordDP
, copyAnn
, clearPriorComments
, balanceAllComments
, exactPrintParsed
, exactPrintExpr
, zeroDP
, setDP
, handleParseResult
, removeAnns
, synthesizeAnns
, addNewKeyword
, addNewKeywords
, addEmptyAnn
, addAnnVal
, addAnn
, UnlocParsedHsBind
, ParsedGRHSs
, ParsedMatchGroup
, ParsedLMatch
, ParsedExpr
, ParsedLStmt
, ParsedLExpr
, ParsedBind
, addSimpleImportDecl
, wrapInLambda
, wrapInPars
, removePars
, addNewLines
, wrapInParsWithDPs
, locate
, getVarAndRHS
, getHsBind
, isHsVar
) 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.Refact.Utils.Transform
import Language.Haskell.GHC.ExactPrint.Utils
import Language.Haskell.Refact.Utils.Synonyms
import Language.Haskell.Refact.Utils.Query