Beispiel #1
0
 public function getVarStub(Vertex $vertex, \StdClass $state)
 {
     $output = '';
     $varStub = '';
     foreach ($vertex->getVariables() as $var) {
         if (!isset($state->scope[$var])) {
             $state->scope[$var] = ++$state->varidx;
             if ($var instanceof Constant) {
                 $value = $var->getValue();
                 if ('string' == (string) $var->getType()) {
                     $value = base64_encode($value);
                 }
                 $varStub .= 'const $' . $state->scope[$var] . ' ' . $var->getType() . ' ' . $value . "\n";
             } elseif ($vertex instanceof Vertex\Function_) {
                 $varStub .= 'param $' . $state->scope[$var] . ' ' . $var->getType() . "\n";
             } else {
                 $varStub .= 'var $' . $state->scope[$var] . ' ' . $var->getType() . "\n";
             }
         }
         $output .= ' $' . $state->scope[$var];
     }
     return [$output, $varStub];
 }