26 lines
603 B
C#
26 lines
603 B
C#
|
namespace tlang
|
||
|
{
|
||
|
public class PostfixDecrementVariableNode : Node
|
||
|
{
|
||
|
public GetVariableValue Node {get;set;}
|
||
|
|
||
|
public PostfixDecrementVariableNode(GetVariableValue ret)
|
||
|
{
|
||
|
Node = ret;
|
||
|
}
|
||
|
|
||
|
public override TObject Execute(IScopeEnvironment nodeEnv)
|
||
|
{
|
||
|
|
||
|
var obj=Node.Execute(nodeEnv);
|
||
|
|
||
|
var newVal=new SubtractNode(new ConstNode(obj),new ConstNode(new TNumber(1))).Execute(nodeEnv);
|
||
|
|
||
|
Node.SetValue(nodeEnv,newVal);
|
||
|
|
||
|
|
||
|
|
||
|
return obj;
|
||
|
}
|
||
|
}
|
||
|
}
|