diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-10-03 12:58:38 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-10-03 12:58:38 -0600 |
commit | 5d0b8e6371d1e365ff9b10e0160a39f0f1d9f359 (patch) | |
tree | 7a4afc937e94365e486bf978dc7d91e5a20ef04e /src/Language/Fiddle/Compiler/Expansion.hs | |
parent | ae5ea355a32eff2b1b1762f4ac2389d94f388df7 (diff) | |
download | fiddle-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.hs | 15 |
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) |