getValue() public method

public getValue ( ) : mixed
return mixed
Example #1
0
 public function testModifyReferencedVariables()
 {
     $context = $this->getContext();
     /**
      * This variable is not needed for change
      */
     $variableAValue = 1;
     $variableAType = CompiledExpression::INTEGER;
     $context->addVariable($variableA = new Variable('a', $variableAValue, $variableAType));
     /**
      * $b = true;
      */
     $context->addVariable($variableB = new Variable('b', true, CompiledExpression::BOOLEAN));
     /**
      * $c = &$b;
      */
     $variableC = new Variable('c');
     $variableC->setReferencedTo($variableB);
     $context->addVariable($variableC);
     $newType = CompiledExpression::INTEGER;
     $newValue = 55;
     /**
      * $b = {$newValue};
      * After it variable $c will change type and value
      */
     $context->modifyReferencedVariables($variableB, $newType, $newValue);
     self::assertSame($newValue, $variableC->getValue());
     self::assertSame($newType, $variableC->getType());
     /**
      * Assert that variable $a was not changed
      */
     self::assertSame($variableAValue, $variableA->getValue());
     self::assertSame($variableAType, $variableA->getType());
 }
Example #2
0
 public function testReferenceToChange()
 {
     /**
      * $a = 1;
      * $b = &$a;
      */
     $parentVariable = new Variable('a', 1, CompiledExpression::INTEGER);
     $variable = new Variable('b', $parentVariable->getValue(), $parentVariable->getType());
     static::assertFalse($variable->isReferenced());
     $variable->setReferencedTo($parentVariable);
     static::assertTrue($variable->isReferenced());
     static::assertSame($parentVariable, $variable->getReferencedTo());
     /**
      * $b = 55.00
      */
     $variable->modify(CompiledExpression::DOUBLE, 55.0);
     static::assertSame($variable->getValue(), $parentVariable->getValue());
     static::assertSame($variable->getType(), $parentVariable->getType());
 }