Boo.Lang.Compiler.Steps.EmitAssembly.EmitAssignmentToSingleDimensionalArrayElement C# (CSharp) Метод

EmitAssignmentToSingleDimensionalArrayElement() приватный Метод

private EmitAssignmentToSingleDimensionalArrayElement ( IArrayType arrayType, Boo.Lang.Compiler.Ast.SlicingExpression slice, Boo.Lang.Compiler.Ast.BinaryExpression node ) : void
arrayType IArrayType
slice Boo.Lang.Compiler.Ast.SlicingExpression
node Boo.Lang.Compiler.Ast.BinaryExpression
Результат void
        private void EmitAssignmentToSingleDimensionalArrayElement(IArrayType arrayType, SlicingExpression slice, BinaryExpression node)
        {
            var elementType = arrayType.ElementType;

            var index = slice.Indices[0];
            EmitNormalizedArrayIndex(slice, index.Begin);

            var opcode = GetStoreEntityOpCode(elementType);
            bool stobj = IsStobj(opcode);
            if (stobj) _il.Emit(OpCodes.Ldelema, GetSystemType(elementType));

            var temp = LoadAssignmentOperand(elementType, node);

            if (stobj)
                _il.Emit(opcode, GetSystemType(elementType));
            else
                _il.Emit(opcode);

            FlushAssignmentOperand(elementType, temp);
        }
EmitAssembly