AGS.CScript.Compiler.CodeBlockCompiler.GenerateCodeForAssignmentOperator C# (CSharp) Method

GenerateCodeForAssignmentOperator() private method

private GenerateCodeForAssignmentOperator ( AGS.CScript.Compiler.SplitExpression expression ) : void
expression AGS.CScript.Compiler.SplitExpression
return void
        private void GenerateCodeForAssignmentOperator(SplitExpression expression)
        {
            KeywordToken theOperator = expression.Operator as KeywordToken;
            if ((theOperator == null) || (!theOperator.IsModificationOperator))
            {
                throw new CompilerMessage(ErrorCode.InternalError, "GenerateCodeForAssignmentOperator called without KeywordToken");
            }

            if (expression.LeftHandSide.Count < 1)
            {
                throw new CompilerMessage(ErrorCode.OperatorExpectsLeftHandSide, "Expected expression before '" + expression.Operator.Name + "'");
            }

            if ((theOperator.SymbolType != PredefinedSymbol.PlusPlus) &&
                (theOperator.SymbolType != PredefinedSymbol.MinusMinus))
            {
                GenerateCodeForExpression(expression.RightHandSide);
            }

            if (theOperator.SymbolType != PredefinedSymbol.SetEqual)
            {
                GenerateCodeForExpression(expression.LeftHandSide);
            }

            // TODO: Apply operator

            //TODO: GenerateCodeToWriteNewVariableValue
        }