| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.AST.SemaInfoClasses
Synopsis
- type HasNoSemanticInfo dom si = SemanticInfo dom si ~ NoSemanticInfo
- class HasImplicitFieldsInfo' si where
- type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom UFieldWildcard))
- class HasImportInfo' si where
- type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom UImportDecl))
- class HasModuleInfo' si where
- type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom UModule))
- class HasSourceInfoInSema' si where
- class HasDefiningInfo' si where
- type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom UQualifiedName))
- class HasScopeInfo' si where
- type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom UQualifiedName), HasScopeInfo' (SemanticInfo dom UExpr))
- class HasFixityInfo' si where
- type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom UQualifiedName))
- class HasNameInfo' si => HasIdInfo' si where
- type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom UQualifiedName))
- class HasLiteralInfo' si where
- type HasLiteralInfo dom = (Domain dom, HasLiteralInfo' (SemanticInfo dom ULiteral))
- class HasNameInfo' si where
- type HasNameInfo dom = (Domain dom, HasNameInfo' (SemanticInfo dom UQualifiedName))
- semanticsLitType :: Ann ULiteral IdDom st -> Type
- getInstances :: GhcMonad m => [Module] -> m ([ClsInst], [FamInst])
- data UsageSpec = UsageSpec {}
Documentation
type HasNoSemanticInfo dom si = SemanticInfo dom si ~ NoSemanticInfo #
class HasImplicitFieldsInfo' si where #
Minimal complete definition
Methods
semanticsImplicitFlds :: si -> [(Name, Name)] #
Instances
| HasImplicitFieldsInfo' ImplicitFieldInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImplicitFlds :: ImplicitFieldInfo -> [(Name, Name)] # | |
| HasImplicitFieldsInfo dom => HasImplicitFieldsInfo' (Ann UFieldWildcard dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImplicitFlds :: Ann UFieldWildcard dom st -> [(Name, Name)] # | |
type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom UFieldWildcard)) #
class HasImportInfo' si where #
Minimal complete definition
semanticsImportedModule, semanticsAvailable, semanticsImported, semanticsTransMods
Methods
semanticsImportedModule :: si -> Module #
semanticsAvailable :: si -> [Name] #
semanticsImported :: si -> [Name] #
semanticsTransMods :: si -> [Module] #
Instances
| HasImportInfo' (ImportInfo GhcRn) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImportedModule :: ImportInfo GhcRn -> Module # semanticsAvailable :: ImportInfo GhcRn -> [Name] # semanticsImported :: ImportInfo GhcRn -> [Name] # semanticsTransMods :: ImportInfo GhcRn -> [Module] # | |
| HasImportInfo' (ImportInfo GhcTc) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImportedModule :: ImportInfo GhcTc -> Module # semanticsAvailable :: ImportInfo GhcTc -> [Name] # semanticsImported :: ImportInfo GhcTc -> [Name] # semanticsTransMods :: ImportInfo GhcTc -> [Module] # | |
| HasImportInfo dom => HasImportInfo' (Ann UImportDecl dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImportedModule :: Ann UImportDecl dom st -> Module # semanticsAvailable :: Ann UImportDecl dom st -> [Name] # semanticsImported :: Ann UImportDecl dom st -> [Name] # semanticsTransMods :: Ann UImportDecl dom st -> [Module] # | |
type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom UImportDecl)) #
class HasModuleInfo' si where #
Minimal complete definition
semanticsModule, semanticsDynFlags, isBootModule, semanticsImplicitImports, semanticsPrelTransMods
Methods
semanticsModule :: si -> Module #
semanticsDynFlags :: si -> DynFlags #
isBootModule :: si -> Bool #
semanticsImplicitImports :: si -> [Name] #
semanticsPrelTransMods :: si -> [Module] #
Instances
type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom UModule)) #
class HasSourceInfoInSema' si where #
Minimal complete definition
Methods
semanticsSourceInfo :: si -> Maybe SrcSpan #
Instances
| HasSourceInfoInSema' (NameInfo n) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsSourceInfo :: NameInfo n -> Maybe SrcSpan # | |
class HasDefiningInfo' si where #
Infos that store if they were used to define a name
Minimal complete definition
Methods
semanticsDefining :: si -> Bool #
Instances
| HasDefiningInfo' CNameInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: CNameInfo -> Bool # | |
| HasDefiningInfo' (NameInfo n) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: NameInfo n -> Bool # | |
| HasDefiningInfo dom => HasDefiningInfo' (Ann UQualifiedName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: Ann UQualifiedName dom st -> Bool # | |
type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom UQualifiedName)) #
class HasScopeInfo' si where #
Infos that contain the names that are available in theirs scope
Minimal complete definition
Methods
semanticsScope :: si -> Scope #
Instances
| HasScopeInfo' CNameInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: CNameInfo -> Scope # | |
| HasScopeInfo' ScopeInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: ScopeInfo -> Scope # | |
| HasScopeInfo' (NameInfo n) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: NameInfo n -> Scope # | |
| HasScopeInfo dom => HasScopeInfo' (Ann UExpr dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: Ann UExpr dom st -> Scope # | |
| HasScopeInfo dom => HasScopeInfo' (Ann UQualifiedName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: Ann UQualifiedName dom st -> Scope # | |
type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom UQualifiedName), HasScopeInfo' (SemanticInfo dom UExpr)) #
class HasFixityInfo' si where #
Infos that may have a fixity information
Minimal complete definition
Methods
semanticsFixity :: si -> Maybe Fixity #
Instances
| HasFixityInfo' CNameInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsFixity :: CNameInfo -> Maybe Fixity # | |
| HasFixityInfo dom => HasFixityInfo' (Ann UQualifiedName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsFixity :: Ann UQualifiedName dom st -> Maybe Fixity # | |
type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom UQualifiedName)) #
class HasNameInfo' si => HasIdInfo' si where #
Infos that may have a typed name that can be extracted
Minimal complete definition
Methods
semanticsId :: si -> Id #
Instances
| HasIdInfo' CNameInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsId :: CNameInfo -> Id # | |
| HasIdInfo dom => HasIdInfo' (Ann UQualifiedName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsId :: Ann UQualifiedName dom st -> Id # | |
| HasIdInfo dom => HasIdInfo' (Ann UName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsId :: Ann UName dom st -> Id # | |
type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom UQualifiedName)) #
class HasLiteralInfo' si where #
Info of types
Minimal complete definition
Methods
semanticsLiteralType :: si -> Type #
Instances
| HasLiteralInfo' LiteralInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsLiteralType :: LiteralInfo -> Type # | |
| HasLiteralInfo dom => HasLiteralInfo' (Ann ULiteral dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsLiteralType :: Ann ULiteral dom st -> Type # | |
type HasLiteralInfo dom = (Domain dom, HasLiteralInfo' (SemanticInfo dom ULiteral)) #
Domains that have semantic information for literals
class HasNameInfo' si where #
Infos that may have a name that can be extracted
Minimal complete definition
Methods
semanticsName :: si -> Maybe Name #
Instances
| HasNameInfo' CNameInfo # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsName :: CNameInfo -> Maybe Name # | |
| HasNameInfo' (NameInfo GhcRn) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
| HasNameInfo dom => HasNameInfo' (Ann UQualifiedName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsName :: Ann UQualifiedName dom st -> Maybe Name # | |
| HasNameInfo dom => HasNameInfo' (Ann UName dom st) # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
type HasNameInfo dom = (Domain dom, HasNameInfo' (SemanticInfo dom UQualifiedName)) #
Domains that have semantic information for names
getInstances :: GhcMonad m => [Module] -> m ([ClsInst], [FamInst]) #
Gets the class and family instances from a module.
Constructors
| UsageSpec | |
Fields
| |
Instances
| Data UsageSpec # | |
Defined in Language.Haskell.Tools.AST.SemaInfoTypes Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UsageSpec -> c UsageSpec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UsageSpec # toConstr :: UsageSpec -> Constr # dataTypeOf :: UsageSpec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UsageSpec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UsageSpec) # gmapT :: (forall b. Data b => b -> b) -> UsageSpec -> UsageSpec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UsageSpec -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UsageSpec -> r # gmapQ :: (forall d. Data d => d -> u) -> UsageSpec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> UsageSpec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UsageSpec -> m UsageSpec # | |