Language.Haskell.Refact.API

from Monad

type ParseResult

data VerboseLevel

data RefactSettings

type TargetModule

data RefactFlags

data StateStorage

The GHC Monad

data RefactGhc a

runRefactGhc

getRefacSettings

defaultSettings

logSettings

logm

logDataWithAnns

logExactprint

logParsedSource

from Utils

Managing the GHC / project environment

parseSourceFileGhc

getTargetGhc

The bits that do the work

runRefacSession

runMultRefacSession

applyRefac

applyRefac'

refactDone

type ApplyRefacResult

data RefacSource

nameSybQuery

fileNameFromModSummary

getModuleName

clientModsAndFiles

serverModsAndFiles

stripCallStack

from MonadFunctions

Conveniences for state access

getTypecheckedModule

data RefacResult

getRefactStreamModified

setRefactStreamModified

getRefactInscopes

getRefactRenamed

putRefactRenamed

getRefactParsed

putRefactParsed

putParsedModule

clearParsedModule

getRefactFileName

getRefactTargetModule

getRefactNameMap

getRefactModule

getRefactModuleName

New ghc-exactprint interfacing

liftT

State flags for managing generic traversals

getRefactDone

setRefactDone

clearRefactDone

setStateStorage

getStateStorage

fetchAnnsFinal

Parsing source

parseDeclWithAnns

from LocUtils

type SimpPos

getGhcLoc

getGhcLocEnd

getLocatedStart

getLocatedEnd

getStartEndLoc

startEndLocGhc

emptyList

nonEmptyList

from TypeSyn

type InScopes

ghead

glast

gtail

gfromJust

from TypeUtils

Program Analysis

Imports and exports

inScopeInfo

isInScopeAndUnqualified

isInScopeAndUnqualifiedGhc

inScopeNames

isExported

isExplicitlyExported

modIsExported

equivalentNameInNewMod

hsQualifier

Variable analysis

isFieldName

isClassName

isInstanceName

hsTypeVbls

hsNamessRdr

isDeclaredInRdr

data FreeNames

data DeclaredNames

hsFreeAndDeclaredNameStrings

hsFreeAndDeclaredRdr

hsFreeAndDeclaredPNs

getDeclaredVarsRdr

hsVisibleNamesRdr

hsFDsFromInsideRdr

hsFDNamesFromInsideRdr

hsFDNamesFromInsideRdrPure

hsVisibleDsRdr

rdrName2Name

rdrName2NamePure

eqRdrNamePure

sameNameSpace

Property checking

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

class UsedByRhs t

Modules and files

isMainModule

getModule

Locations

defineLoc

useLoc

locToExp

findLRdrName

locToNameRdr

locToNameRdrPure

locToRdrName

getName

Program transformation

Adding

addDecl

addItemsToImport

addItemsToExport

addHiding

addParamsToDecls

addParamsToSigs

addActualParamsToRhs

addImportDecl

duplicateDecl

Removing

rmDecl

rmTypeSig

rmTypeSigs

Updating

rmQualifier

qualifyToplevelName

renamePN

data HowToQual

autoRenameLocalVar

Identifiers, expressions, patterns and declarations

expToNameRdr

patToNameRdr

nameToString

pNtoPat

definedPNsRdr

definedNamesRdr

definingDeclsRdrNames

definingDeclsRdrNames'

definingSigsRdrNames

definingTyClDeclsNames

Others

divideDecls

mkRdrName

mkQualifiedRdrName

mkNewGhcName

mkNewName

mkNewToplevelName

registerRdrName

causeNameClashInExports

declsSybTransform

Typed AST traversals (added by CMB)

Miscellous

from GhcUtils

SYB versions

everywhereMStaged'

everywhereStaged

everywhereStaged'

listifyStaged

everywhereButM

Scrap Your Zipper versions

zeverywhereStaged

zopenStaged

zsomewhereStaged

transZ

transZM

zopenStaged'

ztransformStagedM

SYZ utilities

upUntil

findAbove

from GhcVersionSpecific

showGhc

showGhcQual

prettyprint

prettyprint2

ppType

setGhcContext

from TokenUtils

type NameMap

from ExactPrint'

replace

setRefactAnns

mergeRefactAnns

setAnnKeywordDP

copyAnn

clearPriorComments

balanceAllComments

exactPrintParsed

exactPrintExpr

zeroDP

setDP

handleParseResult

removeAnns

synthesizeAnns

addNewKeyword

addNewKeywords

addEmptyAnn

addAnnVal

addAnn

type UnlocParsedHsBind

type ParsedGRHSs

type ParsedMatchGroup

type ParsedLMatch

type ParsedExpr

type ParsedLStmt

type ParsedLExpr

type ParsedBind

addSimpleImportDecl

wrapInLambda

wrapInPars

removePars

addNewLines

wrapInParsWithDPs

locate

getVarAndRHS

getHsBind

isHsVar