Safe Haskell | None |
---|
An info object contains additional information about a piece of abstract syntax that isn't part of the actual syntax. For instance, it might contain the source code position of an expression or the concrete syntax that an internal expression originates from.
- data MetaInfo = MetaInfo {
- metaRange :: Range
- metaScope :: ScopeInfo
- metaNumber :: Maybe Nat
- metaNameSuggestion :: String
- emptyMetaInfo :: MetaInfo
- data ExprInfo
- = ExprRange Range
- | ExprSource Range (Precedence -> Expr)
- data ModuleInfo = ModuleInfo {
- minfoRange :: Range
- minfoAsTo :: Range
- minfoAsName :: Maybe Name
- minfoOpenShort :: Maybe OpenShortHand
- minfoDirective :: Maybe ImportDirective
- newtype LetInfo = LetRange Range
- data DefInfo = DefInfo {}
- mkDefInfo :: Name -> Fixity' -> Access -> IsAbstract -> Range -> DefInfo
- mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> Range -> DefInfo
- data DeclInfo = DeclInfo {}
- data MutualInfo = MutualInfo {}
- newtype LHSInfo = LHSRange Range
- data PatInfo
- patNoRange :: PatInfo
- data ConPatInfo = ConPatInfo {
- patImplicit :: Bool
- patInfo :: PatInfo
Documentation
MetaInfo | |
|
For a general expression we can either remember just the source code position or the entire concrete expression it came from.
ExprRange Range | |
ExprSource Range (Precedence -> Expr) | Even if we store the original expression we have to know whether to put parenthesis around it. |
data ModuleInfo Source
ModuleInfo | |
|
(Show OpenShortHand, Show ImportDirective) => Show ModuleInfo | |
Typeable ModuleInfo | |
KillRange ModuleInfo | |
SetRange ModuleInfo | |
HasRange ModuleInfo | |
UniverseBi Declaration ModuleInfo |
DefInfo | |
|
mkDefInfoInstance :: Name -> Fixity' -> Access -> IsAbstract -> IsInstance -> Range -> DefInfoSource
Same as mkDefInfo
but where we can also give the IsInstance
data MutualInfo Source
Show MutualInfo | |
Typeable MutualInfo | |
KillRange MutualInfo | |
HasRange MutualInfo |
Empty range for patterns.
data ConPatInfo Source
Constructor pattern info.
ConPatInfo | |
|