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 UOperator (Dom r) RangeStage)
- trfOperator' :: TransformName n r => n -> Trf (UOperator (Dom r) RangeStage)
- trfName :: TransformName n r => Located n -> Trf (Ann UName (Dom r) RangeStage)
- trfName' :: TransformName n r => n -> Trf (UName (Dom r) RangeStage)
- trfAmbiguousFieldName :: TransformName n r => Located (AmbiguousFieldOcc n) -> Trf (Ann UName (Dom r) RangeStage)
- trfAmbiguousFieldName' :: forall n r. TransformName n r => SrcSpan -> AmbiguousFieldOcc n -> Trf (Ann UName (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 UName (Dom r) RangeStage)
- trfQualifiedName :: TransformName n r => Located n -> Trf (Ann UQualifiedName (Dom r) RangeStage)
- trfQualifiedName' :: TransformName n r => n -> Trf (UQualifiedName (Dom r) RangeStage)
- trfNameStr :: String -> Trf (AnnListG UNamePart (Dom r) RangeStage)
- trfNameStr' :: String -> SrcLoc -> [Ann UNamePart (Dom r) RangeStage]
- trfFastString :: Located FastString -> Trf (Ann UStringNode (Dom r) RangeStage)
Documentation
trfOperator :: TransformName n r => Located n -> Trf (Ann UOperator (Dom r) RangeStage) Source #
trfOperator' :: TransformName n r => n -> Trf (UOperator (Dom r) RangeStage) Source #
trfName :: TransformName n r => Located n -> Trf (Ann UName (Dom r) RangeStage) Source #
trfName' :: TransformName n r => n -> Trf (UName (Dom r) RangeStage) Source #
trfAmbiguousFieldName :: TransformName n r => Located (AmbiguousFieldOcc n) -> Trf (Ann UName (Dom r) RangeStage) Source #
trfAmbiguousFieldName' :: forall n r. TransformName n r => SrcSpan -> AmbiguousFieldOcc n -> Trf (Ann UName (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 UName 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 UName (Dom r) RangeStage) Source #
trfQualifiedName :: TransformName n r => Located n -> Trf (Ann UQualifiedName (Dom r) RangeStage) Source #
trfQualifiedName' :: TransformName n r => n -> Trf (UQualifiedName (Dom r) RangeStage) Source #
trfNameStr :: String -> Trf (AnnListG UNamePart (Dom r) RangeStage) Source #
Creates a qualified name from a name string
trfNameStr' :: String -> SrcLoc -> [Ann UNamePart (Dom r) RangeStage] Source #
trfFastString :: Located FastString -> Trf (Ann UStringNode (Dom r) RangeStage) Source #