compiler, runtime: Make Default Values Optional

For types, make it optional to return a default value. While default
values for some types are meaningful, they are not meaningful for all
types (e.g., Action, Control, Parser, Parser state, etc.).

Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
This commit is contained in:
Will Hawkins
2026-05-04 08:35:33 -04:00
parent 5cfe5532a2
commit b49ec104e9
8 changed files with 55 additions and 44 deletions
+4 -11
View File
@@ -64,8 +64,8 @@ public struct Action: CustomStringConvertible, P4Type, P4DataValue {
}
}
public func def() -> any Common.P4DataValue {
return Action()
public func def() -> P4DataValue? {
return .none
}
public var description: String {
@@ -284,15 +284,8 @@ public struct Control: P4Type, P4DataValue, Equatable, CustomStringConvertible {
withActions: self.actions, withApply: self.apply)
}
public func def() -> any P4DataValue {
return Control(
named: Identifier(name: ""),
withParameters: ParameterList(),
withTable: Table(
withName: Identifier(name: "empty"),
withPropertyList: TablePropertyList(
withActions: TableActionsProperty(), withKeys: TableKeys())),
withActions: Actions(withActions: []), withApply: ApplyStatement())
public func def() -> P4DataValue? {
return .none
}
}