import "package:expect/expect.dart";
const printConst = MessageType.parse("print");
class MessageType {
  static const print = MessageType._('print');
  static const skip = MessageType._('skip');
  final String name;
  const factory MessageType.parse(String name) {}
  const MessageType._(this.name);
}
void main() {}
