コード例 #1
0
ファイル: UpdateExpression.cs プロジェクト: Diullei/Shion
        public dynamic Invoke(Scope scope)
        {
            switch (Operator)
            {
                case "++":
                    if(Argument is MemberExpression)
                    {
                        if (((MemberExpression)Argument).Object is ThisExpression)
                        {
                            var val = ((IOperation) Argument).Invoke(scope);
                            return scope.Handle(
                                    ((Identifier)((MemberExpression) Argument).Property).Id,
                                    true,
                                    HandleHelp(val));
                        }
                        else
                            return new NaN();
                    }
                    break;
                default:

                    throw new Exception("Invalid operator: " + Operator);
            }
            return new Undefined();
        }