public override void LeaveUnaryExpression(UnaryExpression node)
{
switch (node.Operator)
{
case UnaryOperatorType.Explode:
{
LeaveExplodeExpression(node);
break;
}
case UnaryOperatorType.LogicalNot:
{
LeaveLogicalNot(node);
break;
}
case UnaryOperatorType.Increment:
case UnaryOperatorType.PostIncrement:
case UnaryOperatorType.Decrement:
case UnaryOperatorType.PostDecrement:
{
LeaveIncrementDecrement(node);
break;
}
case UnaryOperatorType.UnaryNegation:
{
LeaveUnaryNegation(node);
break;
}
case UnaryOperatorType.OnesComplement:
{
LeaveOnesComplement(node);
break;
}
case UnaryOperatorType.AddressOf:
{
LeaveAddressOf(node);
break;
}
case UnaryOperatorType.Indirection:
{
LeaveIndirection(node);
break;
}
default:
{
NotImplemented(node, "unary operator not supported");
break;
}
}
}