Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functions that convert the basic elements of the GHC AST to corresponding elements in the Haskell-tools AST representation
- trfOperator :: TransformName n r => Located n -> Trf (Ann Operator (Dom r) RangeStage)
- trfOperator' :: TransformName n r => n -> Trf (Operator (Dom r) RangeStage)
- trfName :: TransformName n r => Located n -> Trf (Ann Name (Dom r) RangeStage)
- trfName' :: TransformName n r => n -> Trf (Name (Dom r) RangeStage)
- trfAmbiguousFieldName :: TransformName n r => Located (AmbiguousFieldOcc n) -> Trf (Ann Name (Dom r) RangeStage)
- trfAmbiguousFieldName' :: forall n r. TransformName n r => SrcSpan -> AmbiguousFieldOcc n -> Trf (Ann Name (Dom r) RangeStage)
- class (DataId n, Eq n, GHCName n) => TransformableName n where
- class (TransformableName name, HsHasName name, TransformableName res, HsHasName res, GHCName res) => TransformName name res where
- trfImplicitName :: HsIPName -> Trf (Ann Name (Dom r) RangeStage)
- trfQualifiedName :: TransformName n r => Located n -> Trf (Ann QualifiedName (Dom r) RangeStage)
- trfQualifiedName' :: TransformName n r => n -> Trf (QualifiedName (Dom r) RangeStage)
- trfNameStr :: String -> Trf (AnnList UnqualName (Dom r) RangeStage)
- trfNameStr' :: String -> SrcLoc -> [Ann UnqualName (Dom r) RangeStage]
- trfModuleName :: Located ModuleName -> Trf (Ann ModuleName (Dom r) RangeStage)
- trfModuleName' :: ModuleName -> Trf (ModuleName (Dom r) RangeStage)
- trfFastString :: Located FastString -> Trf (Ann StringNode (Dom r) RangeStage)
- trfDataKeyword :: NewOrData -> Trf (Ann DataOrNewtypeKeyword (Dom r) RangeStage)
- trfCallConv :: Located CCallConv -> Trf (Ann CallConv (Dom r) RangeStage)
- trfCallConv' :: CCallConv -> Trf (CallConv (Dom r) RangeStage)
- trfSafety :: SrcSpan -> Located Safety -> Trf (AnnMaybe Safety (Dom r) RangeStage)
- trfOverlap :: Located OverlapMode -> Trf (Ann OverlapPragma (Dom r) RangeStage)
- trfRole :: Located (Maybe Role) -> Trf (Ann Role (Dom r) RangeStage)
- trfPhase :: Trf SrcLoc -> Activation -> Trf (AnnMaybe PhaseControl (Dom r) RangeStage)
- trfPhaseNum :: PhaseNum -> Trf (Ann PhaseNumber (Dom r) RangeStage)
Documentation
trfOperator :: TransformName n r => Located n -> Trf (Ann Operator (Dom r) RangeStage) Source #
trfOperator' :: TransformName n r => n -> Trf (Operator (Dom r) RangeStage) Source #
trfName :: TransformName n r => Located n -> Trf (Ann Name (Dom r) RangeStage) Source #
trfName' :: TransformName n r => n -> Trf (Name (Dom r) RangeStage) Source #
trfAmbiguousFieldName :: TransformName n r => Located (AmbiguousFieldOcc n) -> Trf (Ann Name (Dom r) RangeStage) Source #
trfAmbiguousFieldName' :: forall n r. TransformName n r => SrcSpan -> AmbiguousFieldOcc n -> Trf (Ann Name (Dom r) RangeStage) Source #
class (DataId n, Eq n, GHCName n) => TransformableName n where Source #
correctNameString :: n -> Trf String Source #
getDeclSplices :: Trf [Located (HsSplice n)] Source #
fromGHCName :: Name -> n Source #
class (TransformableName name, HsHasName name, TransformableName res, HsHasName res, GHCName res) => TransformName name res where Source #
This class allows us to use the same transformation code for multiple variants of the GHC AST.
GHC Name annotated with name
can be transformed to our representation with semantic annotations of res
.
transformName :: name -> res Source #
Demote a given name
((~) * n r, TransformableName n, HsHasName n) => TransformName n r Source # | |
(TransformableName res, GHCName res, HsHasName res) => TransformName Name res Source # | |
trfImplicitName :: HsIPName -> Trf (Ann Name (Dom r) RangeStage) Source #
trfQualifiedName :: TransformName n r => Located n -> Trf (Ann QualifiedName (Dom r) RangeStage) Source #
trfQualifiedName' :: TransformName n r => n -> Trf (QualifiedName (Dom r) RangeStage) Source #
trfNameStr :: String -> Trf (AnnList UnqualName (Dom r) RangeStage) Source #
Creates a qualified name from a name string
trfNameStr' :: String -> SrcLoc -> [Ann UnqualName (Dom r) RangeStage] Source #
trfModuleName :: Located ModuleName -> Trf (Ann ModuleName (Dom r) RangeStage) Source #
trfModuleName' :: ModuleName -> Trf (ModuleName (Dom r) RangeStage) Source #
trfFastString :: Located FastString -> Trf (Ann StringNode (Dom r) RangeStage) Source #
trfDataKeyword :: NewOrData -> Trf (Ann DataOrNewtypeKeyword (Dom r) RangeStage) Source #
trfCallConv :: Located CCallConv -> Trf (Ann CallConv (Dom r) RangeStage) Source #
trfCallConv' :: CCallConv -> Trf (CallConv (Dom r) RangeStage) Source #
trfOverlap :: Located OverlapMode -> Trf (Ann OverlapPragma (Dom r) RangeStage) Source #
trfPhase :: Trf SrcLoc -> Activation -> Trf (AnnMaybe PhaseControl (Dom r) RangeStage) Source #
trfPhaseNum :: PhaseNum -> Trf (Ann PhaseNumber (Dom r) RangeStage) Source #