private function handlePlatformBlock(Lexer $lexer, int $useragentPosition, int $childPosition) : int
    {
        $branchStart     = $this->getLocationCoordinates($lexer);
        $branchLocations = [];
        $branchCoverage  = [];

        do {
            $code = $lexer->lex();

            if (self::JSON_STRING === $code) {
                $branchLocations[] = [
                    'start' => $this->getLocationCoordinates($lexer, false, '"' . $lexer->yytext . '"'),
                    'end' => $this->getLocationCoordinates($lexer, true, '"' . $lexer->yytext . '"'),
                ];
                $branchCoverage[] = $this->getCoverageCount(
                    sprintf('u%d::c%d::d::p%s', $useragentPosition, $childPosition, $lexer->yytext),
                    $this->fileCoveredIds
                );
            }
        } while (self::JSON_ARRAY_END !== $code);

        $branchEnd = $this->getLocationCoordinates($lexer, true);

        $this->collectBranch($branchStart, $branchEnd, $branchLocations, $branchCoverage);

        return $lexer->lex();
    }
private function handlePlatformBlock(Lexer $lexer, int $useragentPosition, int $childPosition) : int
    {
        $branchStart     = $this->getLocationCoordinates($lexer);
        $branchLocations = [];
        $branchCoverage  = [];

        do {
            $code = $lexer->lex();

            if (self::JSON_STRING === $code) {
                $branchLocations[] = [
                    'start' => $this->getLocationCoordinates($lexer, false, '"' . $lexer->yytext . '"'),
                    'end' => $this->getLocationCoordinates($lexer, true, '"' . $lexer->yytext . '"'),
                ];
                $branchCoverage[] = $this->getCoverageCount(
                    sprintf('u%d::c%d::d::p%s', $useragentPosition, $childPosition, $lexer->yytext),
                    $this->fileCoveredIds
                );
            }
        } while (self::JSON_ARRAY_END !== $code);

        $branchEnd = $this->getLocationCoordinates($lexer, true);

        $this->collectBranch($branchStart, $branchEnd, $branchLocations, $branchCoverage);

        return $lexer->lex();
    }
private function handlePlatformBlock ( Lexer $ lexer , int $ useragentPosition , int $ childPosition ) : int { $ branchStart = $ this -> getLocationCoordinates ( $ lexer ) ; $ branchLocations = [ ] ; $ branchCoverage = [ ] ; do { $ code = $ lexer -> lex ( ) ; if ( self :: JSON_STRING === $ code ) { $ branchLocations [ ] = [ 'start' => $ this -> getLocationCoordinates ( $ lexer , false , '"' . $ lexer -> yytext . '"' ) , 'end' => $ this -> getLocationCoordinates ( $ lexer , true , '"' . $ lexer -> yytext . '"' ) , ] ; $ branchCoverage [ ] = $ this -> getCoverageCount ( sprintf ( 'u%d::c%d::d::p%s' , $ useragentPosition , $ childPosition , $ lexer -> yytext ) , $ this -> fileCoveredIds ) ; } } while ( self :: JSON_ARRAY_END !== $ code ) ; $ branchEnd = $ this -> getLocationCoordinates ( $ lexer , true ) ; $ this -> collectBranch ( $ branchStart , $ branchEnd , $ branchLocations , $ branchCoverage ) ; return $ lexer -> lex ( ) ; }
Processes the "platforms" hash in the child object

@param Lexer $lexer
@param int   $useragentPosition
@param int   $childPosition

@return int
Processes the platforms hash in the child object