Behat\Gherkin\Parser::parseLanguage PHP Method

parseLanguage() protected method

Parses language block and updates lexer configuration based on it.
protected parseLanguage ( ) : Behat\Gherkin\Node\BackgroundNode | Behat\Gherkin\Node\FeatureNode | Behat\Gherkin\Node\OutlineNode | Behat\Gherkin\Node\ScenarioNode | Behat\Gherkin\Node\StepNode | Behat\Gherkin\Node\TableNode | string
return Behat\Gherkin\Node\BackgroundNode | Behat\Gherkin\Node\FeatureNode | Behat\Gherkin\Node\OutlineNode | Behat\Gherkin\Node\ScenarioNode | Behat\Gherkin\Node\StepNode | Behat\Gherkin\Node\TableNode | string
    protected function parseLanguage()
    {
        $token = $this->expectTokenType('Language');
        if (null === $this->languageSpecifierLine) {
            $this->lexer->analyse($this->input, $token['value']);
            $this->languageSpecifierLine = $token['line'];
        } elseif ($token['line'] !== $this->languageSpecifierLine) {
            throw new ParserException(sprintf('Ambiguous language specifiers on lines: %d and %d%s', $this->languageSpecifierLine, $token['line'], $this->file ? ' in file: ' . $this->file : ''));
        }
        return $this->parseExpression();
    }