func ReadTransitionsOrExit(filename string, ts system.TransitionSystem) *system.LabelNumberer { f, err := os.Open(filename) ExitIfError("Cannot open transition file:", err) defer f.Close() var numberer system.LabelNumberer serializer, ok := ts.(system.TransitionSerializer) if !ok { log.Fatal("Transition system does not implement transition serialization") } err = numberer.Read(f, serializer) ExitIfError("Cannot deserialize label numberer:", err) return &numberer }
func ReadTransitions(filename string, ts system.TransitionSystem) (*system.LabelNumberer, error) { f, err := os.Open(filename) if err != nil { return nil, err } defer f.Close() var numberer system.LabelNumberer serializer, ok := ts.(system.TransitionSerializer) if !ok { return nil, errors.New("Transition system does not implement transition serialization") } if err := numberer.Read(f, serializer); err == nil { return &numberer, nil } return nil, err }