summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Compiler/Expansion.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-10-03 12:58:38 -0600
committerJosh Rahm <joshuarahm@gmail.com>2024-10-03 12:58:38 -0600
commit5d0b8e6371d1e365ff9b10e0160a39f0f1d9f359 (patch)
tree7a4afc937e94365e486bf978dc7d91e5a20ef04e /src/Language/Fiddle/Compiler/Expansion.hs
parentae5ea355a32eff2b1b1762f4ac2389d94f388df7 (diff)
downloadfiddle-5d0b8e6371d1e365ff9b10e0160a39f0f1d9f359.tar.gz
fiddle-5d0b8e6371d1e365ff9b10e0160a39f0f1d9f359.tar.bz2
fiddle-5d0b8e6371d1e365ff9b10e0160a39f0f1d9f359.zip
Make changes to AST for qualification step.
Diffstat (limited to 'src/Language/Fiddle/Compiler/Expansion.hs')
-rw-r--r--src/Language/Fiddle/Compiler/Expansion.hs15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/Language/Fiddle/Compiler/Expansion.hs b/src/Language/Fiddle/Compiler/Expansion.hs
index f10fa5f..202717f 100644
--- a/src/Language/Fiddle/Compiler/Expansion.hs
+++ b/src/Language/Fiddle/Compiler/Expansion.hs
@@ -123,8 +123,8 @@ instance AdvanceStage CurrentStage RegisterBitsTypeRef where
<$> advanceStage path typeref
<*> advanceStage path expr
<*> pure annot
- RegisterBitsReference name annot ->
- return $ RegisterBitsReference name annot
+ RegisterBitsReference () name annot ->
+ return $ RegisterBitsReference () name annot
RegisterBitsJustBits expr annot ->
RegisterBitsJustBits
<$> advanceStage path expr
@@ -133,16 +133,16 @@ instance AdvanceStage CurrentStage RegisterBitsTypeRef where
ident <-
internAnonymousBitsType path
=<< advanceStage path anonType
- return $ RegisterBitsReference (identToName ident) annot
+ return $ RegisterBitsReference () (identToName ident) annot
instance AdvanceStage CurrentStage ObjType where
advanceStage path = \case
(AnonymousObjType _ (Identity body) annot) -> do
body' <- advanceStage path body
identifier <- internObjType path body'
- return (ReferencedObjType (identToName identifier) annot)
- (ReferencedObjType name annot) ->
- return $ ReferencedObjType name annot
+ return (ReferencedObjType () (identToName identifier) annot)
+ (ReferencedObjType () name annot) ->
+ return $ ReferencedObjType () name annot
(ArrayObjType objType expr a) ->
ArrayObjType
<$> advanceStage path objType
@@ -200,12 +200,13 @@ reconfigureFiddleDecls p decls = do
where
resolveAnonymousObjType (Linkage linkage, objTypeBody) =
ObjTypeDecl
+ ()
(Identifier linkage (annot objTypeBody))
(pure objTypeBody)
(annot objTypeBody)
resolveAnonymousBitsType (Linkage linkage, AnonymousEnumBody expr body a) =
- BitsDecl (Identifier linkage a) (EnumBitType expr body a) a
+ BitsDecl () (Identifier linkage a) (EnumBitType expr body a) a
identToName :: Identifier I a -> Name I a
identToName ident = Name (NonEmpty.singleton ident) (annot ident)