diff --git a/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Aircraft.kt b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Aircraft.kt index 1f353a8..33d0b12 100644 --- a/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Aircraft.kt +++ b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Aircraft.kt @@ -4,7 +4,7 @@ package io.anthonyberg.connector.shared.vdmj.type * Aircraft record type in the VDM-SL model */ data class Aircraft( - val items: Map, // TODO value should be ItemObject type + val items: Map, val procedure: MutableList ) { /** diff --git a/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/ItemObject.kt b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/ItemObject.kt new file mode 100644 index 0000000..4695c87 --- /dev/null +++ b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/ItemObject.kt @@ -0,0 +1,13 @@ +package io.anthonyberg.connector.shared.vdmj.type + +data class ItemObject(val type: ItemType, val item: Switch) { // TODO add types for other items + /** + * Converts to String for a VDM representation of an ItemObject record + * + * @return String representation for VDM ItemObject + */ + fun toVDMString(): String { + return "mk_ItemObject(${type.toVDMString()}, ${item.toVDMString()})" + } + +} diff --git a/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Switch.kt b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Switch.kt index 69514fe..e4e476c 100644 --- a/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Switch.kt +++ b/connector/shared/src/commonMain/kotlin/io/anthonyberg/connector/shared/vdmj/type/Switch.kt @@ -12,21 +12,12 @@ data class Switch(val position: Int, val middlePosition: Boolean = false) { require((position >= 0) and ((position <= 1) and !middlePosition) or ((position <= 2) and middlePosition)) } - /** - * Converts to String for a VDM representation of an ItemObject record - * - * @return String representation for VDM ItemObject - */ - fun toVDMString(): String { - return "mk_ItemObject(, ${toSwitchVDMString()})" - } - /** * Converts to String for a VDM representation of a Switch record * * @return String representation for VDM Switch */ - private fun toSwitchVDMString(): String { + fun toVDMString(): String { return "mk_Switch(${getSwitchState()}, $middlePosition)" }