module TiDefinedNames(module TiDefinedNames,DefinedNames(..)) where import DefinedNames import Maybe(mapMaybe) import HsIdent -- Defined to minic the instances of the deprecated class DefinedVars... valueNames = mapMaybe valueName valueName (n,t) = case t of Value -> Just n _ -> Nothing valuesNames' = mapMaybe valueName' valueName' (n,t) = case t of Value -> Just n ConstrOf _ -> Just n MemberOf _ -> Just n _ -> Nothing valueIdent (n,t) = case t of Value -> Just (HsVar n) ConstrOf _ -> Just (HsCon n) MemberOf _ -> Just (HsVar n) _ -> Nothing typeNames = mapMaybe typeName typeName (n,t) = case t of Class -> Just n Type -> Just n _ -> Nothing typeIdent (n,t) = case t of Class -> Just (HsCon n) Type -> Just (HsCon n) _ -> Nothing definedValueNames x = valueNames . definedNames $ x definedTypeNames x = typeNames . definedNames $ x definedNamesSplit x = (typeNames ns,valueNames ns) where ns = definedNames x patternVars p = filter isHsVar (definedValueNames p)