diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-24 18:40:04 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-24 18:40:04 +0200 |
| commit | 6301c1f2f669b84a429e836888629873721e7219 (patch) | |
| tree | 8ad4bcb634eb0e9332a6459b26a435d730a7cf8d /boot | |
| parent | 5dc1e4c991efae2e0dd96b59bc57b2cd81a8c5fb (diff) | |
| download | elna-6301c1f2f669b84a429e836888629873721e7219.tar.gz | |
Handle array and slice field constness
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/name_analysis.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/boot/name_analysis.cc b/boot/name_analysis.cc index 0d25039..1e224da 100644 --- a/boot/name_analysis.cc +++ b/boot/name_analysis.cc @@ -209,11 +209,12 @@ namespace elna::boot { if (field_name == "length") { - return lookup_primitive_type("Word"); + return type(std::make_shared<constant_type>(lookup_primitive_type("Word"))); } if (field_name == "ptr") { - return type(std::make_shared<pointer_type>(element_type)); + auto pointer = type(std::make_shared<pointer_type>(element_type)); + return type(std::make_shared<constant_type>(pointer)); } return std::nullopt; } |
