public static function parse(Composer $composer, $webPath, $path, array $jsonData)
    {
        $name = $jsonData['name'];
        $class = self::parseClass($jsonData);
        $constraint = self::parseConstraint($jsonData);
        $valid = self::parseValid($composer, $class, $constraint);

        return new self($name, $class, $path, $webPath, $constraint, $valid);
    }
public static function parse(Composer $composer, $webPath, $path, array $jsonData)
    {
        $name = $jsonData['name'];
        $class = self::parseClass($jsonData);
        $constraint = self::parseConstraint($jsonData);
        $valid = self::parseValid($composer, $class, $constraint);

        return new self($name, $class, $path, $webPath, $constraint, $valid);
    }
public static function parse ( Composer $ composer , $ webPath , $ path , array $ jsonData ) { $ name = $ jsonData [ 'name' ] ; $ class = self :: parseClass ( $ jsonData ) ; $ constraint = self :: parseConstraint ( $ jsonData ) ; $ valid = self :: parseValid ( $ composer , $ class , $ constraint ) ; return new self ( $ name , $ class , $ path , $ webPath , $ constraint , $ valid ) ; }
Create class from uncertain JSON data.

@param Composer $composer
@param string   $webPath
@param string   $path
@param array    $jsonData

@return PackageDescriptor
Create class from uncertain JSON data .