in code/smv-debugger/src/main/kotlin/org/fbme/smvDebugger/model/SystemItemParser.kt [6:23]
fun parse(fullName: String): SystemItem? {
val nameParts = fullName.split(Regex(FULL_NAME_DELIMITER)).toTypedArray()
val type: SystemItemType = if (isEventPort(nameParts)) {
SystemItemType.EVENT_PORT
} else if (isDataPort(nameParts)) {
SystemItemType.DATA_PORT
} else if (isECC(nameParts)) {
SystemItemType.ECC
} else {
return null
}
val fbNames = getFbNames(nameParts)
if (fbNames.isEmpty()) {
return null
}
val itemName = getItemName(nameParts, type)
return SystemItem(fullName, fbNames, itemName, type)
}