summaryrefslogtreecommitdiff
path: root/vendor/opentracing/opentracing/src/OpenTracing/InvalidReferenceArgumentException.php
blob: 12836039303778deb29b054cd98209497d348343 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

declare(strict_types=1);

namespace OpenTracing;

use InvalidArgumentException;

/**
 * Thrown when passing an invalid argument for a reference
 */
final class InvalidReferenceArgumentException extends InvalidArgumentException
{
    /**
     * @return InvalidReferenceArgumentException
     */
    public static function forEmptyType(): InvalidReferenceArgumentException
    {
        return new self('Reference type can not be an empty string');
    }

    /**
     * @param mixed $context
     * @return InvalidReferenceArgumentException
     */
    public static function forInvalidContext($context): InvalidReferenceArgumentException
    {
        return new self(sprintf(
            'Reference expects \OpenTracing\Span or \OpenTracing\SpanContext as context, got %s',
            is_object($context) ? get_class($context) : gettype($context)
        ));
    }
}