Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data NoSemanticInfo
- data ScopeInfo
- data NameInfo n
- data CNameInfo
- data ModuleInfo n
- data ImportInfo n
- data ImplicitFieldInfo
- type Scope = [[(Name, Maybe [UsageSpec], Maybe Name)]]
- data UsageSpec = UsageSpec {}
- data LiteralInfo = LiteralInfo {
- _literalType :: Type
- data PreLiteralInfo
- = RealLiteralInfo { }
- | PreLiteralInfo { }
- exprScopedLocals :: Lens ScopeInfo ScopeInfo Scope Scope
- nameScopedLocals :: forall n. Lens (NameInfo n) (NameInfo n) Scope Scope
- nameIsDefined :: forall n. Lens (NameInfo n) (NameInfo n) Bool Bool
- nameInfo :: forall n n'. Partial (NameInfo n) (NameInfo n') n n'
- ambiguousName :: forall n. Partial (NameInfo n) (NameInfo n) RdrName RdrName
- nameLocation :: forall n. Partial (NameInfo n) (NameInfo n) SrcSpan SrcSpan
- implicitName :: forall n. Partial (NameInfo n) (NameInfo n) String String
- cnameScopedLocals :: Lens CNameInfo CNameInfo Scope Scope
- cnameIsDefined :: Lens CNameInfo CNameInfo Bool Bool
- cnameInfo :: Lens CNameInfo CNameInfo Id Id
- cnameFixity :: Lens CNameInfo CNameInfo (Maybe Fixity) (Maybe Fixity)
- defModuleName :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Module Module
- defDynFlags :: forall n. Lens (ModuleInfo n) (ModuleInfo n) DynFlags DynFlags
- defIsBootModule :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Bool Bool
- implicitNames :: forall n n'. Lens (ModuleInfo n) (ModuleInfo n') [PName n] [PName n']
- importedModule :: forall n. Lens (ImportInfo n) (ImportInfo n) Module Module
- availableNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [n] [n]
- importedNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [PName n] [PName n]
- implicitFieldBindings :: Lens ImplicitFieldInfo ImplicitFieldInfo [(Name, Name)] [(Name, Name)]
- prelTransMods :: forall n. Lens (ModuleInfo n) (ModuleInfo n) [Module] [Module]
- importTransMods :: forall n. Lens (ImportInfo n) (ImportInfo n) [Module] [Module]
- literalType :: Lens LiteralInfo LiteralInfo Type Type
- mkNoSemanticInfo :: NoSemanticInfo
- mkScopeInfo :: Scope -> ScopeInfo
- mkNameInfo :: Scope -> Bool -> n -> NameInfo n
- mkAmbiguousNameInfo :: Scope -> Bool -> RdrName -> SrcSpan -> NameInfo n
- mkImplicitNameInfo :: Scope -> Bool -> String -> SrcSpan -> NameInfo n
- mkCNameInfo :: Scope -> Bool -> Id -> Maybe Fixity -> CNameInfo
- mkModuleInfo :: Module -> DynFlags -> Bool -> [PName n] -> [Module] -> ModuleInfo n
- mkImportInfo :: Module -> [n] -> [PName n] -> [Module] -> ImportInfo n
- mkImplicitFieldInfo :: [(Name, Name)] -> ImplicitFieldInfo
- data PName n = PName {
- _pName :: n
- _pNameParent :: Maybe n
- pName :: forall n. Lens (PName n) (PName n) n n
- pNameParent :: forall n. Lens (PName n) (PName n) (Maybe n) (Maybe n)
- getInstances :: [Module] -> Ghc ([ClsInst], [FamInst])
Documentation
data NoSemanticInfo Source #
Semantic info type for any node not carrying additional semantic information
Info for expressions that tells which definitions are in scope
Info corresponding to a name
Info corresponding to a name that is correctly identified
data ModuleInfo n Source #
Info for the module element
data ImportInfo n Source #
Info corresponding to an import declaration
data ImplicitFieldInfo Source #
Info corresponding to an record-wildcard
UsageSpec | |
|
data LiteralInfo Source #
data PreLiteralInfo Source #
defModuleName :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Module Module Source #
defDynFlags :: forall n. Lens (ModuleInfo n) (ModuleInfo n) DynFlags DynFlags Source #
defIsBootModule :: forall n. Lens (ModuleInfo n) (ModuleInfo n) Bool Bool Source #
implicitNames :: forall n n'. Lens (ModuleInfo n) (ModuleInfo n') [PName n] [PName n'] Source #
importedModule :: forall n. Lens (ImportInfo n) (ImportInfo n) Module Module Source #
availableNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [n] [n] Source #
importedNames :: forall n. Lens (ImportInfo n) (ImportInfo n) [PName n] [PName n] Source #
implicitFieldBindings :: Lens ImplicitFieldInfo ImplicitFieldInfo [(Name, Name)] [(Name, Name)] Source #
prelTransMods :: forall n. Lens (ModuleInfo n) (ModuleInfo n) [Module] [Module] Source #
importTransMods :: forall n. Lens (ImportInfo n) (ImportInfo n) [Module] [Module] Source #
mkScopeInfo :: Scope -> ScopeInfo Source #
Creates the information about the definitions in scope
mkNameInfo :: Scope -> Bool -> n -> NameInfo n Source #
Creates semantic information for an unambiguous name
mkAmbiguousNameInfo :: Scope -> Bool -> RdrName -> SrcSpan -> NameInfo n Source #
Creates semantic information for a name that is ambiguous because the lack of type info
mkImplicitNameInfo :: Scope -> Bool -> String -> SrcSpan -> NameInfo n Source #
Creates semantic information for an implicit name
mkCNameInfo :: Scope -> Bool -> Id -> Maybe Fixity -> CNameInfo Source #
Create a typed name semantic information
mkModuleInfo :: Module -> DynFlags -> Bool -> [PName n] -> [Module] -> ModuleInfo n Source #
Creates semantic information for the module element. Strict in the list of implicitely imported, orphan and family instances.
mkImportInfo :: Module -> [n] -> [PName n] -> [Module] -> ImportInfo n Source #
Creates semantic information for an import declaration Strict in the list of the used and imported declarations, orphan and family instances.
mkImplicitFieldInfo :: [(Name, Name)] -> ImplicitFieldInfo Source #
Creates semantic information for a wildcard field binding
PName | |
|
getInstances :: [Module] -> Ghc ([ClsInst], [FamInst]) Source #
Gets the class and family instances from a module.