Exemplo n.º 1
0
        private static string GetBinaryOperatorString(ExpressionNodeType oper)
        {
            switch (oper)
            {
            case ExpressionNodeType.Multiply:                 return("*");

            case ExpressionNodeType.Divide:                   return("/");

            case ExpressionNodeType.Modulo:                   return("%");

            case ExpressionNodeType.Add:                      return("+");

            case ExpressionNodeType.Subtract:                 return("-");

            case ExpressionNodeType.LeftShift:                return("<<");

            case ExpressionNodeType.RightShiftSigned:         return(">>");

            case ExpressionNodeType.RightShiftUnsigned:       return(">>>");

            case ExpressionNodeType.Lesser:                   return("<");

            case ExpressionNodeType.LesserOrEqual:            return("<=");

            case ExpressionNodeType.Greater:                  return(">");

            case ExpressionNodeType.GreaterOrEqual:           return(">=");

            case ExpressionNodeType.In:                       return("in");

            case ExpressionNodeType.InstanceOf:               return("instanceof");

            case ExpressionNodeType.Equal:                    return("==");

            case ExpressionNodeType.NotEqual:                 return("!=");

            case ExpressionNodeType.Same:                     return("===");

            case ExpressionNodeType.NotSame:                  return("!==");

            case ExpressionNodeType.BitwiseAnd:               return("&");

            case ExpressionNodeType.BitwiseXor:               return("^");

            case ExpressionNodeType.BitwiseOr:                return("|");

            case ExpressionNodeType.LogicalAnd:               return("&&");

            case ExpressionNodeType.LogicalOr:                return("||");

            case ExpressionNodeType.Assign:                   return("=");

            case ExpressionNodeType.MultiplyAssign:           return("*=");

            case ExpressionNodeType.DivideAssign:             return("/=");

            case ExpressionNodeType.ModuloAssign:             return("%=");

            case ExpressionNodeType.AddAssign:                return("+=");

            case ExpressionNodeType.SubtractAssign:           return("-=");

            case ExpressionNodeType.LeftShiftAssign:          return("<<=");

            case ExpressionNodeType.RightShiftSignedAssign:   return(">>=");

            case ExpressionNodeType.RightShiftUnsignedAssign: return(">>>=");

            case ExpressionNodeType.BitwiseAndAssign:         return("&=");

            case ExpressionNodeType.BitwiseOrAssign:          return("|=");

            case ExpressionNodeType.BitwiseXorAssign:         return("^=");

            case ExpressionNodeType.Index:
            default:
                throw new InvalidOperationException("Invalid operator " + oper.ToString());
            }
        }