private function collectAttributeTypeMetadata(
        PropertyMetadataBuilder $metadata,
        Attribute $attribute
    ) : void {
        $type = $attribute->type;

        // handle the case if the property type is mixed
        if ('mixed' === $type) {
            return;
        }

        if ($attribute->required) {
            $metadata->withBeingRequired();
        }

        // Evaluate type

        // Checks if the property has array<type>
        if (false !== $pos = strpos($type, '<')) {
            $arrayType = substr($type, $pos + 1, -1);

            $metadata->withType(new ArrayType(new MixedType(), $this->createTypeFromName($arrayType)));

            return;
        }

        // Checks if the property has type[]
         if (false !== $pos = strrpos($type, '[')) {
            $arrayType = substr($type, 0, $pos);

            $metadata->withType(new ArrayType(new MixedType(), $this->createTypeFromName($arrayType)));

            return;
        }

        $metadata->withType($this->createTypeFromName($attribute->type));
    }
private function collectAttributeTypeMetadata(
        PropertyMetadataBuilder $metadata,
        Attribute $attribute
    ) : void {
        $type = $attribute->type;

        // handle the case if the property type is mixed
        if ('mixed' === $type) {
            return;
        }

        if ($attribute->required) {
            $metadata->withBeingRequired();
        }

        // Evaluate type

        // Checks if the property has array<type>
        if (false !== $pos = strpos($type, '<')) {
            $arrayType = substr($type, $pos + 1, -1);

            $metadata->withType(new ArrayType(new MixedType(), $this->createTypeFromName($arrayType)));

            return;
        }

        // Checks if the property has type[]
         if (false !== $pos = strrpos($type, '[')) {
            $arrayType = substr($type, 0, $pos);

            $metadata->withType(new ArrayType(new MixedType(), $this->createTypeFromName($arrayType)));

            return;
        }

        $metadata->withType($this->createTypeFromName($attribute->type));
    }
private function collectAttributeTypeMetadata ( PropertyMetadataBuilder $ metadata , Attribute $ attribute ) : void { $ type = $ attribute -> type ; // handle the case if the property type is mixed if ( 'mixed' === $ type ) { return ; } if ( $ attribute -> required ) { $ metadata -> withBeingRequired ( ) ; } // Evaluate type // Checks if the property has array<type> if ( false !== $ pos = strpos ( $ type , '<' ) ) { $ arrayType = substr ( $ type , $ pos + 1 , - 1 ) ; $ metadata -> withType ( new ArrayType ( new MixedType ( ) , $ this -> createTypeFromName ( $ arrayType ) ) ) ; return ; } // Checks if the property has type[] if ( false !== $ pos = strrpos ( $ type , '[' ) ) { $ arrayType = substr ( $ type , 0 , $ pos ) ; $ metadata -> withType ( new ArrayType ( new MixedType ( ) , $ this -> createTypeFromName ( $ arrayType ) ) ) ; return ; } $ metadata -> withType ( $ this -> createTypeFromName ( $ attribute -> type ) ) ; }
Collects parsing metadata for a given attribute.
Collects parsing metadata for a given attribute .