*/ final class ConstExprNodeAnnotationToAttributeMapper implements AnnotationToAttributeMapperInterface { /** * @param mixed $value */ public function isCandidate($value) : bool { return $value instanceof ConstExprNode; } /** * @param ConstExprNode $value */ public function map($value) : Expr { if ($value instanceof ConstExprIntegerNode) { return BuilderHelpers::normalizeValue((int) $value->value); } if ($value instanceof ConstantFloatType || $value instanceof ConstantBooleanType) { return BuilderHelpers::normalizeValue($value->getValue()); } if ($value instanceof ConstExprTrueNode) { return BuilderHelpers::normalizeValue(\true); } if ($value instanceof ConstExprFalseNode) { return BuilderHelpers::normalizeValue(\false); } throw new NotImplementedYetException(); } }