'attribute_types' =>
[],
'targets_literal' => null,
'targets' => Target::TARGET_ALL,
'is_annotation' =>
strpos($docComment, '@Annotation'
) !== false,
];
$metadata['has_named_argument_constructor'
] =
$metadata['has_constructor'
] &&
$class->
implementsInterface(NamedArgumentConstructorAnnotation::
class);
// verify that the class is really meant to be an annotation
if ($metadata['is_annotation'
]) { self::
$metadataParser->
setTarget(Target::TARGET_CLASS
);
foreach (self::
$metadataParser->
parse($docComment, 'class @' .
$name) as $annotation) { if ($annotation instanceof Target
) { $metadata['targets'
] =
$annotation->targets;
$metadata['targets_literal'
] =
$annotation->literal;
continue;
} if ($annotation instanceof NamedArgumentConstructor
) { $metadata['has_named_argument_constructor'
] =
$metadata['has_constructor'
];