private function SassParser::getNode in Sassy 7.3
Same name and namespace in other branches
- 7 phamlp/sass/SassParser.php \SassParser::getNode()
Creates and returns the next SassNode. The tpye of SassNode depends on the content of the SassToken.
Return value
SassNode a SassNode of the appropriate type. Null when no more source to parse.
1 call to SassParser::getNode()
- SassParser::buildTree in phpsass/
SassParser.php - Builds a parse tree under the parent node. Called recursivly until the source is parsed.
File
- phpsass/
SassParser.php, line 590
Class
- SassParser
- SassParser class. Parses {@link http://sass-lang.com/ .sass and .sccs} files. @package PHamlP @subpackage Sass
Code
private function getNode($node) {
$token = $this
->getToken();
if (empty($token)) {
return null;
}
switch (true) {
case SassDirectiveNode::isa($token):
return $this
->parseDirective($token, $node);
case SassCommentNode::isa($token):
return new SassCommentNode($token);
case SassVariableNode::isa($token):
return new SassVariableNode($token);
case SassPropertyNode::isa(array(
'token' => $token,
'syntax' => $this->property_syntax,
)):
return new SassPropertyNode($token, $this->property_syntax);
case SassFunctionDefinitionNode::isa($token):
return new SassFunctionDefinitionNode($token);
case SassMixinDefinitionNode::isa($token):
if ($this->syntax === SassFile::SCSS) {
if ($this->debug) {
throw new SassException('Mixin definition shortcut not allowed in SCSS', $this);
}
return;
}
else {
return new SassMixinDefinitionNode($token);
}
case SassMixinNode::isa($token):
if ($this->syntax === SassFile::SCSS) {
if ($this->debug) {
throw new SassException('Mixin include shortcut not allowed in SCSS', $this);
}
return;
}
else {
return new SassMixinNode($token);
}
default:
return new SassRuleNode($token);
break;
}
// switch
}