Safe Haskell | None |
---|---|
Language | Haskell2010 |
Language.Haskell.Tools.AST.SemaInfoClasses
Synopsis
- type HasNoSemanticInfo dom si = SemanticInfo dom si ~ NoSemanticInfo
- class HasImplicitFieldsInfo' si where
- semanticsImplicitFlds :: si -> [(Name, Name)]
- type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom UFieldWildcard))
- class HasImportInfo' si where
- semanticsImportedModule :: si -> Module
- semanticsAvailable :: si -> [Name]
- semanticsImported :: si -> [Name]
- semanticsTransMods :: si -> [Module]
- type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom UImportDecl))
- class HasModuleInfo' si where
- semanticsModule :: si -> Module
- semanticsDynFlags :: si -> DynFlags
- isBootModule :: si -> Bool
- semanticsImplicitImports :: si -> [Name]
- semanticsPrelTransMods :: si -> [Module]
- type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom UModule))
- class HasSourceInfoInSema' si where
- semanticsSourceInfo :: si -> Maybe SrcSpan
- class HasDefiningInfo' si where
- semanticsDefining :: si -> Bool
- type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom UQualifiedName))
- class HasScopeInfo' si where
- semanticsScope :: si -> Scope
- type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom UQualifiedName), HasScopeInfo' (SemanticInfo dom UExpr))
- class HasFixityInfo' si where
- semanticsFixity :: si -> Maybe Fixity
- type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom UQualifiedName))
- class HasNameInfo' si => HasIdInfo' si where
- semanticsId :: si -> Id
- type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom UQualifiedName))
- class HasLiteralInfo' si where
- semanticsLiteralType :: si -> Type
- type HasLiteralInfo dom = (Domain dom, HasLiteralInfo' (SemanticInfo dom ULiteral))
- class HasNameInfo' si where
- semanticsName :: si -> Maybe Name
- 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 Source #
class HasImplicitFieldsInfo' si where Source #
Methods
semanticsImplicitFlds :: si -> [(Name, Name)] Source #
Instances
HasImplicitFieldsInfo' ImplicitFieldInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImplicitFlds :: ImplicitFieldInfo -> [(Name, Name)] Source # | |
HasImplicitFieldsInfo dom => HasImplicitFieldsInfo' (Ann UFieldWildcard dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsImplicitFlds :: Ann UFieldWildcard dom st -> [(Name, Name)] Source # |
type HasImplicitFieldsInfo dom = (Domain dom, HasImplicitFieldsInfo' (SemanticInfo dom UFieldWildcard)) Source #
class HasImportInfo' si where Source #
Methods
semanticsImportedModule :: si -> Module Source #
semanticsAvailable :: si -> [Name] Source #
semanticsImported :: si -> [Name] Source #
semanticsTransMods :: si -> [Module] Source #
Instances
type HasImportInfo dom = (Domain dom, HasImportInfo' (SemanticInfo dom UImportDecl)) Source #
class HasModuleInfo' si where Source #
Methods
semanticsModule :: si -> Module Source #
semanticsDynFlags :: si -> DynFlags Source #
isBootModule :: si -> Bool Source #
semanticsImplicitImports :: si -> [Name] Source #
semanticsPrelTransMods :: si -> [Module] Source #
Instances
type HasModuleInfo dom = (Domain dom, HasModuleInfo' (SemanticInfo dom UModule)) Source #
class HasSourceInfoInSema' si where Source #
Methods
semanticsSourceInfo :: si -> Maybe SrcSpan Source #
Instances
HasSourceInfoInSema' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses |
class HasDefiningInfo' si where Source #
Infos that store if they were used to define a name
Methods
semanticsDefining :: si -> Bool Source #
Instances
HasDefiningInfo' CNameInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: CNameInfo -> Bool Source # | |
HasDefiningInfo' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: NameInfo n -> Bool Source # | |
HasDefiningInfo dom => HasDefiningInfo' (Ann UQualifiedName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsDefining :: Ann UQualifiedName dom st -> Bool Source # |
type HasDefiningInfo dom = (Domain dom, HasDefiningInfo' (SemanticInfo dom UQualifiedName)) Source #
class HasScopeInfo' si where Source #
Infos that contain the names that are available in theirs scope
Methods
semanticsScope :: si -> Scope Source #
Instances
HasScopeInfo' CNameInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: CNameInfo -> Scope Source # | |
HasScopeInfo' ScopeInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: ScopeInfo -> Scope Source # | |
HasScopeInfo' (NameInfo n) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: NameInfo n -> Scope Source # | |
HasScopeInfo dom => HasScopeInfo' (Ann UExpr dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
HasScopeInfo dom => HasScopeInfo' (Ann UQualifiedName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsScope :: Ann UQualifiedName dom st -> Scope Source # |
type HasScopeInfo dom = (Domain dom, HasScopeInfo' (SemanticInfo dom UQualifiedName), HasScopeInfo' (SemanticInfo dom UExpr)) Source #
class HasFixityInfo' si where Source #
Infos that may have a fixity information
Methods
semanticsFixity :: si -> Maybe Fixity Source #
Instances
HasFixityInfo' CNameInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
HasFixityInfo dom => HasFixityInfo' (Ann UQualifiedName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsFixity :: Ann UQualifiedName dom st -> Maybe Fixity Source # |
type HasFixityInfo dom = (Domain dom, HasFixityInfo' (SemanticInfo dom UQualifiedName)) Source #
class HasNameInfo' si => HasIdInfo' si where Source #
Infos that may have a typed name that can be extracted
Methods
semanticsId :: si -> Id Source #
Instances
HasIdInfo' CNameInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsId :: CNameInfo -> Id Source # | |
HasIdInfo dom => HasIdInfo' (Ann UQualifiedName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsId :: Ann UQualifiedName dom st -> Id Source # | |
HasIdInfo dom => HasIdInfo' (Ann UName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses |
type HasIdInfo dom = (Domain dom, HasIdInfo' (SemanticInfo dom UQualifiedName)) Source #
class HasLiteralInfo' si where Source #
Info of types
Methods
semanticsLiteralType :: si -> Type Source #
Instances
HasLiteralInfo' LiteralInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods | |
HasLiteralInfo dom => HasLiteralInfo' (Ann ULiteral dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses |
type HasLiteralInfo dom = (Domain dom, HasLiteralInfo' (SemanticInfo dom ULiteral)) Source #
Domains that have semantic information for literals
class HasNameInfo' si where Source #
Infos that may have a name that can be extracted
Methods
semanticsName :: si -> Maybe Name Source #
Instances
HasNameInfo' CNameInfo Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
HasNameInfo' (NameInfo GhcRn) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses | |
HasNameInfo dom => HasNameInfo' (Ann UQualifiedName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses Methods semanticsName :: Ann UQualifiedName dom st -> Maybe Name Source # | |
HasNameInfo dom => HasNameInfo' (Ann UName dom st) Source # | |
Defined in Language.Haskell.Tools.AST.SemaInfoClasses |
type HasNameInfo dom = (Domain dom, HasNameInfo' (SemanticInfo dom UQualifiedName)) Source #
Domains that have semantic information for names
getInstances :: GhcMonad m => [Module] -> m ([ClsInst], [FamInst]) Source #
Gets the class and family instances from a module.
Constructors
UsageSpec | |
Fields
|
Instances
Data UsageSpec Source # | |
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 # |