summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Ast/Internal/SyntaxTree.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-10-19 02:36:56 -0600
committerJosh Rahm <joshuarahm@gmail.com>2024-10-19 02:36:56 -0600
commit0a0f200a79a9e78b97addda6bd8e879d8c1c5d3e (patch)
treec0c58bc9d4ae044624c039b3004b86fdc7cbbdc7 /src/Language/Fiddle/Ast/Internal/SyntaxTree.hs
parente9ed9fe9aae2c0ac913cf1d175166e983e0a1b30 (diff)
downloadfiddle-0a0f200a79a9e78b97addda6bd8e879d8c1c5d3e.tar.gz
fiddle-0a0f200a79a9e78b97addda6bd8e879d8c1c5d3e.tar.bz2
fiddle-0a0f200a79a9e78b97addda6bd8e879d8c1c5d3e.zip
Change the AST to use Names instead of Identifiers for ObjDecls and BitsDecls
This is to make anonymous expansion better and cleaner. It gets rid of the hash-mark hack introduced earlier.
Diffstat (limited to 'src/Language/Fiddle/Ast/Internal/SyntaxTree.hs')
-rw-r--r--src/Language/Fiddle/Ast/Internal/SyntaxTree.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Language/Fiddle/Ast/Internal/SyntaxTree.hs b/src/Language/Fiddle/Ast/Internal/SyntaxTree.hs
index 063913b..c539665 100644
--- a/src/Language/Fiddle/Ast/Internal/SyntaxTree.hs
+++ b/src/Language/Fiddle/Ast/Internal/SyntaxTree.hs
@@ -410,8 +410,9 @@ data FiddleDecl :: StagedSynTree where
BitsDecl ::
{ -- | Qualification metadata about this "bits" declaration.
bitsQualificationMetadata :: f (QMd stage ExportedBitsDecl),
- -- | The identifier of the bits.
- bitsIdent :: Identifier f a,
+ -- | The identifier of the bits. When initially parsed, this can only be
+ -- an Identifier, but during compilation this may change to a "name".
+ bitsName :: Name f a,
-- | The type of the bits.
bitsType :: BitType stage f a,
-- | Annotation for the bits declaration.
@@ -423,7 +424,7 @@ data FiddleDecl :: StagedSynTree where
{ -- | Qualification metadata about this object type.
objTypeQualificationMetadata :: f (QMd stage ExportedTypeDecl),
-- | The identifier of the object type.
- objTypeIdent :: Identifier f a,
+ objTypeIdent :: Name f a,
-- | The body of the object type.
objTypeBody :: f (ObjTypeBody stage f a),
-- | Annotation for the object type declaration.