Language.Haskell.Refact.Utils.TypeUtils

Program Analysis

Imports and exports

inScopeInfo

isInScopeAndUnqualified

isInScopeAndUnqualifiedGhc

inScopeNames

isExported

isExplicitlyExported

modIsExported

equivalentNameInNewMod

Property checking

isVarId

isConId

isOperator

isTopLevelPN

isLocalPN

isNonLibraryName

isQualifiedPN

isFunOrPatName

isTypeSig

isTypeSigDecl

isFunBindP

isFunBindR

isPatBindP

isPatBindR

isSimplePatBind

isSimplePatDecl

isComplexPatBind

isComplexPatDecl

isFunOrPatBindP

isFunOrPatBindR

usedWithoutQualR

isUsedInRhs

Getting

findNameInRdr

findPNT

findPN

findAllNameOccurences

findPNs

findNamesRdr

findEntity

findEntity'

findIdForName

getTypeForName

defines

definesP

definesTypeSig

definesTypeSigRdr

sameBind

sameBindRdr

class UsedByRhs t

Modules and files

isMainModule

getModule

Locations

defineLoc

useLoc

locToExp

locToName

locToRdrName

getName

Program transformation

Adding

addDecl

addItemsToImport

addItemsToExport

addHiding

addParamsToDecls

addActualParamsToRhs

addImportDecl

duplicateDecl

Removing

rmDecl

rmTypeSig

rmTypeSigs

Updating

rmQualifier

qualifyToplevelName

renamePN

autoRenameLocalVar

Identifiers, expressions, patterns and declarations

ghcToPN

lghcToPN

expToName

expToNameRdr

nameToString

patToNameRdr

patToPNT

pNtoPat

Others

divideDecls

mkRdrName

mkNewGhcName

mkNewName

mkNewToplevelName

causeNameClashInExports

declsSybTransform

Typed AST traversals (added by CMB)

Miscellous

Debug stuff

getParsedForRenamedLPat

getParsedForRenamedName

getParsedForRenamedLocated

rdrNameFromName

stripLeadingSpaces