interface ModelProviderInterface
    extends ExtensionInterface
Public API: explicitly declared with @visibility public.

An optional extension capability for source-level call and statement models.

Registering an extension with optional source modelsdoctest
$extension = new class implements \SqlCatalog\Core\Extension\Model\ModelProviderInterface {
        public function name(): string { return 'example'; }
        public function description(): string { return 'Application SQL functions'; }
        public function sinks(): array { return []; }
        public function globals(): array { return []; }
        public function models(\SqlCatalog\Core\Extension\Model\ModelContext $context): \SqlCatalog\Core\Extension\Model\ModelSet {
            return new \SqlCatalog\Core\Extension\Model\ModelSet();
        }
    };
    $registry = new \SqlCatalog\Core\Extension\ExtensionRegistry([$extension]);
    count($registry->modelProvidersOf(['example'])) // => 1

Methods§

public function models(ModelContext $context): ModelSet

Creates models for one analysis, without retaining state between runs.

Parameters

$contextModelContext

Returns

Test cases 4§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 1
Other tests reaching this symbol 3

Relations§

Implemented by 1
Type checks 1