diff options
Diffstat (limited to 'VariableNode.php')
-rw-r--r-- | VariableNode.php | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/VariableNode.php b/VariableNode.php deleted file mode 100644 index b312e81..0000000 --- a/VariableNode.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace kch42\ste; - -class VariableNode extends ASTNode { - public $name; - public $arrayfields = array(); - public function transcompile() { - $varaccess = '@$ste->vars[' . (is_numeric($this->name) ? $this->name : '"' . Misc::escape_text($this->name) . '"'). ']'; - foreach($this->arrayfields as $af) { - if((count($af) == 1) and ($af[0] instanceof TextNode) and is_numeric($af[0]->text)) { - $varaccess .= '[' . $af->text . ']'; - } else { - $varaccess .= '[' . implode(".", array_map(function($node) { - if($node instanceof TextNode) { - return "\"" . Misc::escape_text($node->text) . "\""; - } else if($node instanceof VariableNode) { - return $node->transcompile(); - } - }, $af)). ']'; - } - } - return $varaccess; - } -} |