Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AnnotationException.php

class AnnotationException

Description of AnnotationException

Hierarchy

  • class \Doctrine\Common\Annotations\AnnotationException extends \Exception

Expanded class hierarchy of AnnotationException

1 file declares its use of AnnotationException
DocParser.php in core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
This class is a near-copy of Doctrine\Common\Annotations\DocParser, which is part of the Doctrine project: <http://www.doctrine-project.org&gt;. It was copied from version 1.2.7.

File

vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php, line 17

Namespace

Doctrine\Common\Annotations
View source
class AnnotationException extends Exception {
    
    /**
     * Creates a new AnnotationException describing a Syntax error.
     *
     * @return AnnotationException
     */
    public static function syntaxError(string $message) {
        return new self('[Syntax Error] ' . $message);
    }
    
    /**
     * Creates a new AnnotationException describing a Semantical error.
     *
     * @return AnnotationException
     */
    public static function semanticalError(string $message) {
        return new self('[Semantical Error] ' . $message);
    }
    
    /**
     * Creates a new AnnotationException describing an error which occurred during
     * the creation of the annotation.
     *
     * @return AnnotationException
     */
    public static function creationError(string $message, ?Throwable $previous = null) {
        return new self('[Creation Error] ' . $message, 0, $previous);
    }
    
    /**
     * Creates a new AnnotationException describing a type error.
     *
     * @return AnnotationException
     */
    public static function typeError(string $message) {
        return new self('[Type Error] ' . $message);
    }
    
    /**
     * Creates a new AnnotationException describing a constant semantical error.
     *
     * @return AnnotationException
     */
    public static function semanticalErrorConstants(string $identifier, ?string $context = null) {
        return self::semanticalError(sprintf("Couldn't find constant %s%s.", $identifier, $context ? ', ' . $context : ''));
    }
    
    /**
     * Creates a new AnnotationException describing an type error of an attribute.
     *
     * @param mixed $actual
     *
     * @return AnnotationException
     */
    public static function attributeTypeError(string $attributeName, string $annotationName, string $context, string $expected, $actual) {
        return self::typeError(sprintf('Attribute "%s" of @%s declared on %s expects %s, but got %s.', $attributeName, $annotationName, $context, $expected, is_object($actual) ? 'an instance of ' . get_class($actual) : gettype($actual)));
    }
    
    /**
     * Creates a new AnnotationException describing an required error of an attribute.
     *
     * @return AnnotationException
     */
    public static function requiredError(string $attributeName, string $annotationName, string $context, string $expected) {
        return self::typeError(sprintf('Attribute "%s" of @%s declared on %s expects %s. This value should not be null.', $attributeName, $annotationName, $context, $expected));
    }
    
    /**
     * Creates a new AnnotationException describing a invalid enummerator.
     *
     * @param mixed $given
     * @phpstan-param list<string> $available
     *
     * @return AnnotationException
     */
    public static function enumeratorError(string $attributeName, string $annotationName, string $context, array $available, $given) {
        return new self(sprintf('[Enum Error] Attribute "%s" of @%s declared on %s accepts only [%s], but got %s.', $attributeName, $annotationName, $context, implode(', ', $available), is_object($given) ? get_class($given) : $given));
    }
    
    /** @return AnnotationException */
    public static function optimizerPlusSaveComments() {
        return new self('You have to enable opcache.save_comments=1 or zend_optimizerplus.save_comments=1.');
    }
    
    /** @return AnnotationException */
    public static function optimizerPlusLoadComments() {
        return new self('You have to enable opcache.load_comments=1 or zend_optimizerplus.load_comments=1.');
    }

}

Members

Title Sort descending Modifiers Object type Summary
AnnotationException::attributeTypeError public static function Creates a new AnnotationException describing an type error of an attribute.
AnnotationException::creationError public static function Creates a new AnnotationException describing an error which occurred during
the creation of the annotation.
AnnotationException::enumeratorError public static function Creates a new AnnotationException describing a invalid enummerator.
AnnotationException::optimizerPlusLoadComments public static function
AnnotationException::optimizerPlusSaveComments public static function
AnnotationException::requiredError public static function Creates a new AnnotationException describing an required error of an attribute.
AnnotationException::semanticalError public static function Creates a new AnnotationException describing a Semantical error.
AnnotationException::semanticalErrorConstants public static function Creates a new AnnotationException describing a constant semantical error.
AnnotationException::syntaxError public static function Creates a new AnnotationException describing a Syntax error.
AnnotationException::typeError public static function Creates a new AnnotationException describing a type error.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal