public function process(Vertex $vertex, Digraph $graph) { if ($vertex->getName() === 'Assign') { if ($vertex->getResult()->getType()->isUnknown() && !$vertex->getValue()->getType()->isUnknown()) { $vertex->getResult()->setType($vertex->getValue()->getType()); return true; } } return false; }
public function process(Vertex $vertex, Digraph $graph) { if ($vertex->getName() === 'BitwiseNot') { if ($vertex->getResult()->getType()->isUnknown() && !$vertex->getValue()->getType()->isUnknown()) { if ($vertex->getValue()->getType()->getType() === Type::TYPE_STRING) { $vertex->getResult()->setType(new Type(Type::TYPE_STRING)); } else { $vertex->getResult()->setType(new Type(Type::TYPE_LONG)); } return true; } } return false; }
public function process(Vertex $vertex, Digraph $graph) { if ($vertex->getName() === 'BooleanNot') { if ($vertex->getResult()->getType()->isUnknown() && !$vertex->getValue()->getType()->isUnknown()) { $vertex->getResult()->setType(new Type(Type::TYPE_BOOLEAN)); return true; } } return false; }