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);
}
}