Microsoft.JScript.PostOrPrefixOperator.Evaluate C# (CSharp) Method

Evaluate() private method

private Evaluate ( ) : Object
return Object
      internal override Object Evaluate(){
        try{
          Object oldval = this.operand.Evaluate();
          Object newval = this.EvaluatePostOrPrefix(ref oldval);
          this.operand.SetValue(newval);
          switch (this.operatorTok){
            case PostOrPrefix.PostfixDecrement:
            case PostOrPrefix.PostfixIncrement:
               return oldval;
            case PostOrPrefix.PrefixDecrement:
            case PostOrPrefix.PrefixIncrement:
               return newval;
            default:
              throw new JScriptException(JSError.InternalError, this.context);
          }
        }catch(JScriptException e){
          if (e.context == null)
            e.context = this.context;
          throw e;
        }catch(Exception e){
          throw new JScriptException(e, this.context);
        }catch{
          throw new JScriptException(JSError.NonClsException, this.context);
        }
      }