Language.Haskell.Refact.Utils.TypeUtils

Program Analysis

Imports and exports

inScopeInfo

isInScopeAndUnqualified

isInScopeAndUnqualifiedGhc

inScopeNames

isExported

isExplicitlyExported

modIsExported

Variable analysis

isFieldName

isClassName

isInstanceName

hsPNs

isDeclaredIn

hsFreeAndDeclaredPNsOld

hsFreeAndDeclaredNameStrings

hsFreeAndDeclaredPNs

hsFreeAndDeclaredGhc

getDeclaredTypes

getFvs

getFreeVars

getDeclaredVars

hsVisiblePNs

hsVisibleNames

hsFDsFromInside

hsFDNamesFromInside

hsVisibleDs

Property checking

isVarId

isConId

isOperator

isTopLevelPN

isLocalPN

isNonLibraryName

isQualifiedPN

isFunOrPatName

isTypeSig

isFunBindP

isFunBindR

isPatBindP

isPatBindR

isSimplePatBind

isComplexPatBind

isFunOrPatBindP

isFunOrPatBindR

usedWithoutQualR

isUsedInRhs

Getting

findPNT

findPN

findAllNameOccurences

findPNs

findEntity

findEntity'

findIdForName

getTypeForName

sameOccurrence

defines

definesP

definesTypeSig

sameBind

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

Miscellous

Parsing, writing and showing

showEntities

showPNwithLoc

Locations

Default values

defaultPN

defaultName

defaultExp

Identifiers, expressions, patterns and declarations

ghcToPN

lghcToPN

expToName

nameToString

patToPNT

pNtoPat

definedPNs

definingDeclsNames

definingDeclsNames'

definingSigsNames

definingTyClDeclsNames

allNames

Others

mkRdrName

mkNewGhcName

mkNewName

mkNewToplevelName

causeNameClashInExports

removeOffset

Typed AST traversals (added by CMB)

Miscellous

Debug stuff

getDeclAndToks

getSigAndToks

getToksForDecl

removeToksOffset

getParsedForRenamedLPat

getParsedForRenamedName

getParsedForRenamedLocated

stripLeadingSpaces