Fix Bug In Struct Field Initialization

Fields were not given default values when a struct was declared
without initializers.

Also, cleanup code in the helper function for binary operations
on struct instances.

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-03-27 03:50:54 -04:00
parent cd26d1d22c
commit 4d787394cd
7 changed files with 133 additions and 35 deletions
+4 -4
View File
@@ -33,11 +33,11 @@ extension SelectExpression: EvaluatableExpression {
public func evaluate(execution: Common.ProgramExecution) -> Common.Result<any Common.P4Value> {
switch self.selector.evaluate(execution: execution) {
case .Ok(let selector_value):
for kse in self.select_expressions {
if case .Ok(let kse_key) = kse.key.evaluate(execution: execution),
kse_key.eq(rhs: selector_value)
for sce in self.select_expressions {
if case .Ok(let kse) = sce.key.evaluate(execution: execution),
kse.eq(rhs: selector_value)
{
let result = kse.evaluate(execution: execution)
let result = sce.evaluate(execution: execution)
return result
}
}