setReadOnly() public method

Sets if the variable is read only
public setReadOnly ( boolean $readOnly )
$readOnly boolean
Ejemplo n.º 1
0
 /**
  * SymbolTable
  *
  * @param CompilationContext $compilationContext
  */
 public function __construct(CompilationContext $compilationContext)
 {
     /* this_ptr */
     $thisVar = new Variable('variable', 'this', $compilationContext->currentBranch);
     $thisVar->setIsInitialized(true, $compilationContext, array());
     $thisVar->increaseUses();
     $thisVar->setReadOnly(true);
     $thisVar->setLowName('this_ptr');
     $thisVar->setDynamicTypes('object');
     $this->variables['this'] = $thisVar;
     $returnValue = new Variable('variable', 'return_value', $compilationContext->currentBranch);
     $returnValue->setIsInitialized(true, $compilationContext, array());
     $returnValue->increaseUses();
     $this->variables['return_value'] = $returnValue;
     $returnValue = new Variable('variable', 'return_value_ptr', $compilationContext->currentBranch);
     $returnValue->setIsInitialized(true, $compilationContext, array());
     $returnValue->increaseUses();
     $this->variables['return_value_ptr'] = $returnValue;
 }
Ejemplo n.º 2
0
 /**
  * SymbolTable
  *
  * @param CompilationContext $compilationContext
  */
 public function __construct(CompilationContext $compilationContext)
 {
     /* The variables are registered in branch 1, which is the external branch */
     $this->compilationContext = $compilationContext;
     $this->branchVariables[1] = array();
     /* this_ptr */
     $thisVar = new Variable('variable', 'this', $compilationContext->currentBranch);
     $thisVar->setIsInitialized(true, $compilationContext, array());
     $thisVar->increaseUses();
     $thisVar->setReadOnly(true);
     $thisVar->setLowName('this_ptr');
     $thisVar->setDynamicTypes('object');
     $this->branchVariables[1]['this'] = $thisVar;
     $returnValue = new Variable('variable', 'return_value', $compilationContext->currentBranch);
     $returnValue->setIsInitialized(true, $compilationContext, array());
     $returnValue->increaseUses();
     $this->branchVariables[1]['return_value'] = $returnValue;
     $returnValue = new Variable('variable', 'return_value_ptr', $compilationContext->currentBranch);
     $returnValue->setIsInitialized(true, $compilationContext, array());
     $returnValue->increaseUses();
     $this->branchVariables[1]['return_value_ptr'] = $returnValue;
 }
Ejemplo n.º 3
0
 /**
  * Add the last-call-status flag to the current symbol table
  *
  * @param CompilationContext $compilationContext
  */
 public function addCallStatusFlag(CompilationContext $compilationContext)
 {
     if (!$compilationContext->symbolTable->hasVariable('ZEPHIR_LAST_CALL_STATUS')) {
         $callStatus = new Variable('int', 'ZEPHIR_LAST_CALL_STATUS', $compilationContext->currentBranch);
         $callStatus->setIsInitialized(true, $compilationContext, array());
         $callStatus->increaseUses();
         $callStatus->setReadOnly(true);
         $compilationContext->symbolTable->addRawVariable($callStatus);
     }
 }