pragma = $pragma; } /** * @param SchemaInfo $info * @param SchemaParser $parser * @param object $shared * @return Pragma|null */ abstract public function parse(SchemaInfo $info, SchemaParser $parser, object $shared): ?Pragma; /** * @param object|SchemaInfo $schema * @param string|null $pragma * @return bool */ protected function pragmaExists(object $schema, ?string $pragma = null): bool { if ($schema instanceof SchemaInfo) { $schema = $schema->isObject() ? $schema->data() : null; } return is_object($schema) && property_exists($schema, $pragma ?? $this->pragma); } /** * @param object|SchemaInfo $schema * @param string|null $pragma * @return mixed */ protected function pragmaValue(object $schema, ?string $pragma = null) { if ($schema instanceof SchemaInfo) { $schema = $schema->isObject() ? $schema->data() : null; } return is_object($schema) ? $schema->{$pragma ?? $this->pragma} : null; } /** * @param string $message * @param SchemaInfo $info * @param string|null $pragma * @return InvalidPragmaException */ protected function pragmaException( string $message, SchemaInfo $info, ?string $pragma = null, ): InvalidPragmaException { $pragma = $pragma ?? $this->pragma; return new InvalidPragmaException(str_replace('{pragma}', $pragma, $message), $pragma, $info); } } __halt_compiler();----SIGNATURE:----l/psWXKr+0PskJIX9e9AtZrAxLOnP15U2UF0bp44NKLeQH/hmX7CQh58EMWIZ/Kb4CrHFXpSGK3zTitrRBfKie0C2A8+9FTrcVsOELeO/IbWY0yJ6JRMbvuJgr6cgsfT8YeLePy63QRSMUBOL/A+NeoUoZ5ANGp5tAXXj2+iHOZxrBV9TyCxPKJK7+XCvFDkGu/XWH29xyboyfW6NNp5N4vo8yg5eyqOrXWWFx25P0HkE7eNU9/fkNY+NqTucXFCLILwGm74Q4+ceG4BPWLKGRh+lSQMsdYV7TI3sGCM49X6R6o2s1BC5uzt5NGtOd4WEqN3CIQ2V1OheflbJyYCA9knhKwcj9//H/u7F/vGqBNBoJhteVPXKjhiZT48gK0/XUopeOX1dq7184BSwqVrAa4ogEP6NHPSl+Bo2jedFYP5ivZRpibiCAj0Gjzq6VkdJ7+CRp7hONOASUuA8hgqAmuDKs9i5IVPVxUWiSU22gOMXJ2cqPjNsy4K0CmYNHdMXYYm9VRUqDBoZMu1PooQ4SuGHN/P6Gi/vPw88YcIETd70bAtGbXXEi0nOpWF6+Mu52VlyxV6oOvTWu2hRgmSoH+RgPLmYUUrbDPFaFp1lt4+Be/MTRq6GvqCs0o+1IS0/OQdPH1ZD4MOAmJDKExxhiBrkZe7OJePiikuaUFeiFk=----ATTACHMENT:----NDgwMzIyMTYxNjMwMTUwNiAzOTI5OTU0MjU0MjU4NjUgMzc5MDczMTczNjA2Mzcy