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

from Utils

Managing the GHC / project environment

parseSourceFileGhc

getTargetGhc

The bits that do the work

runRefacSession

applyRefac

refactDone

type ApplyRefacResult

data RefacSource

nameSybQuery

fileNameFromModSummary

getModuleName

clientModsAndFiles

serverModsAndFiles

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

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

Variable analysis

isFieldName

isClassName

isInstanceName

hsPNs

hsBinds

class HsValBinds t name

isDeclaredIn

isDeclaredInRdr

data FreeNames

data DeclaredNames

hsFreeAndDeclaredPNsOld

hsFreeAndDeclaredNameStrings

hsFreeAndDeclaredRdr

hsFreeAndDeclaredPNs

hsFreeAndDeclaredGhc

getDeclaredTypes

getFvs

getFreeVars

getDeclaredVars

hsVisiblePNs

hsVisiblePNsRdr

hsVisibleNames

hsVisibleNamesRdr

hsFDsFromInsideRdr

hsFDNamesFromInsideRdr

hsFDsFromInside

hsFDNamesFromInside

hsVisibleDs

rdrName2Name

rdrName2NamePure

Property checking

isVarId

isConId

isOperator

isTopLevelPN

isLocalPN

isNonLibraryName

isQualifiedPN

isFunOrPatName

isTypeSig

isFunBindP

isFunBindR

isPatBindP

isPatBindR

isSimplePatBind

isSimplePatDecl

isComplexPatBind

isComplexPatDecl

isFunOrPatBindP

isFunOrPatBindR

usedWithoutQualR

isUsedInRhs

findNameInRdr

findPNT

findPN

findAllNameOccurences

findPNs

findNamesRdr

findEntity

findEntity'

sameOccurrence

findIdForName

getTypeForName

defines

definesP

definesTypeSig

sameBind

sameBindRdr

class UsedByRhs t

Modules and files

isMainModule

getModule

Locations

defineLoc

useLoc

locToExp

locToName

locToRdrName

getName

Program transformation

Adding

addDecl

addItemsToImport

addHiding

addParamsToDecls

addActualParamsToRhs

addImportDecl

duplicateDecl

Removing

rmDecl

rmTypeSig

rmTypeSigs

Updating

rmQualifier

qualifyToplevelName

renamePN

autoRenameLocalVar

Identifiers, expressions, patterns and declarations

ghcToPN

lghcToPN

expToName

expToNameRdr

patToNameRdr

nameToString

patToPNT

pNtoPat

definedPNs

definedPNsRdr

definedNamesRdr

definingDeclsRdrNames

definingDeclsRdrNames'

definingSigsRdrNames

definingDeclsNames

definingDeclsNames'

definingSigsNames

definingTyClDeclsNames

allNames

Others

divideDecls

mkRdrName

mkNewGhcName

mkNewName

mkNewToplevelName

causeNameClashInExports

declsSybTransform

Typed AST traversals (added by CMB)

Miscellous

Debug stuff

getParsedForRenamedLPat

getParsedForRenamedName

getParsedForRenamedLocated

stripLeadingSpaces

from GhcUtils

SYB versions

everywhereMStaged'

everywhereStaged

everywhereStaged'

onelayerStaged

listifyStaged

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