<?php

declare(strict_types=1);
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: message.proto

namespace Buggregator\Trap\Test\Proto\Message;

/**
 * Protobuf type <code>stub.proto.Message.Foo</code>
 */
class Foo
{
    /**
     * Generated from protobuf enum <code>FOO = 0;</code>
     */
    public const FOO = 0;

    /**
     * Generated from protobuf enum <code>BAR = 1;</code>
     */
    public const BAR = 1;

    private static $valueToName = [
        self::FOO => 'FOO',
        self::BAR => 'BAR',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new \UnexpectedValueException(\sprintf(
                'Enum %s has no name defined for value %s',
                __CLASS__,
                $value,
            ));
        }
        return self::$valueToName[$value];
    }

    public static function value($name)
    {
        $const = __CLASS__ . '::' . \strtoupper($name);
        if (!\defined($const)) {
            throw new \UnexpectedValueException(\sprintf(
                'Enum %s has no value defined for name %s',
                __CLASS__,
                $name,
            ));
        }
        return \constant($const);
    }
}

// Adding a class alias for backwards compatibility with the previous class name.
\class_alias(Foo::class, \Buggregator\Trap\Test\Proto\Message_Foo::class);
