From a311d8f6df19964470f7a7ecbf3800577d58160d Mon Sep 17 00:00:00 2001 From: Franz Hoeltermann Date: Tue, 11 Aug 2026 13:51:06 +0200 Subject: [PATCH] Use enum value init expression instead of numeric value in doc format --- src/check_type.cpp | 1 + src/docs_writer.cpp | 3 +++ src/entity.cpp | 1 + 3 files changed, 5 insertions(+) diff --git a/src/check_type.cpp b/src/check_type.cpp index 9414b794e..b56acc276 100644 --- a/src/check_type.cpp +++ b/src/check_type.cpp @@ -1009,6 +1009,7 @@ gb_internal void check_enum_type(CheckerContext *ctx, Type *enum_type, Type *nam e->Constant.flags |= entity_flags; e->Constant.docs = docs; e->Constant.comment = comment; + e->Constant.init_expr = init; auto interned = entity_interned_name(e); diff --git a/src/docs_writer.cpp b/src/docs_writer.cpp index 67d350f24..5fbe5a58c 100644 --- a/src/docs_writer.cpp +++ b/src/docs_writer.cpp @@ -890,6 +890,9 @@ gb_internal OdinDocEntityIndex odin_doc_add_entity(OdinDocWriter *w, Entity *e) } break; case Entity_Constant: + if (init_expr == nullptr) { + init_expr = e->Constant.init_expr; + } field_group_index = e->Constant.field_group_index; break; case Entity_Procedure: diff --git a/src/entity.cpp b/src/entity.cpp index d3170c823..196380831 100644 --- a/src/entity.cpp +++ b/src/entity.cpp @@ -205,6 +205,7 @@ struct Entity { i32 field_group_index; CommentGroup *docs; CommentGroup *comment; + Ast *init_expr; // only used for enum values } Constant; struct { Ast *type_expr; // only used for some variables within procedure bodies