for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Highlighter
*
* Copyright (C) 2015, Some right reserved.
* @author Kacper "Kadet" Donat <[email protected]>
* Contact with author:
* Xmpp: [email protected]
* E-mail: [email protected]
* From Kadet with love.
*/
namespace Kadet\Highlighter\Parser\Token;
use Kadet\Highlighter\Language\Language;
class LanguageToken extends Token
{
public function getInjected()
return $this->getRule()->inject;
}
public function getLanguage()
return $this->getStart() ? $this->getStart()->getRule()->inject : $this->getRule()->language;
protected function validate(Language $language, $context)
$valid = false;
if ($this->isStart()) {
$lang = $this->_rule->language;
if ($lang === null && $this->getInjected() !== $language) {
$valid = true;
} elseif ($language === $lang && $this->_rule->validate($context)) {
} else {
$desired = $this->getLanguage();
$valid = $language === $desired && $this->_rule->validate($context);
$this->setValid($valid);