private function ParseOperatorNode(\PHPParser_Node_Expr $Node, $NodeType) { switch (true) { case isset(self::$AssignOperatorsMap[$NodeType]): return Expression::Assign($this->ParseNodeInternal($Node->var), self::$AssignOperatorsMap[$NodeType], $this->ParseNodeInternal($Node->expr)); case isset(self::$BinaryOperatorsMap[$NodeType]): return Expression::BinaryOperation($this->ParseNodeInternal($Node->left), self::$BinaryOperatorsMap[$NodeType], $this->ParseNodeInternal($Node->right)); case isset(self::$UnaryOperatorsMap[$NodeType]): return Expression::UnaryOperation(self::$UnaryOperatorsMap[$NodeType], $this->ParseNodeInternal($Node->expr)); case isset(self::$CastOperatorMap[$NodeType]): return Expression::Cast(self::$CastOperatorMap[$NodeType], $this->ParseNodeInternal($Node->expr)); default: return null; } }