Language.Haskell.Refact.Utils.TypeUtils

Program Analysis

Imports and exports

inScopeInfo

isInScopeAndUnqualified

isInScopeAndUnqualifiedGhc

inScopeNames

isExported

isExplicitlyExported

modIsExported

equivalentNameInNewMod

hsQualifier

Property checking

isVarId

isConId

isOperator

isTopLevelPN

isLocalPN

isNonLibraryName

isQualifiedPN

isFunOrPatName

isTypeSig

isTypeSigDecl

isFunBindP

isFunBindR

isPatBindP

isPatBindR

isSimplePatBind

isSimplePatDecl

isComplexPatBind

isComplexPatDecl

isFunOrPatBindP

isFunOrPatBindR

Getting

findEntity'

findIdForName

getTypeForName

definesTypeSigRdr

sameBindRdr

class UsedByRhs t

Modules and files

isMainModule

getModule

Locations

defineLoc

useLoc

locToExp

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

nameToString

patToNameRdr

pNtoPat

usedWithoutQualR

Others

divideDecls

mkRdrName

mkQualifiedRdrName

mkNewGhcName

mkNewName

mkNewToplevelName

registerRdrName

causeNameClashInExports

declsSybTransform

Typed AST traversals (added by CMB)

Miscellous

Debug stuff

rdrNameFromName