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

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

private StoreEntity ( OpCode opcode, int index, Expression value, IType elementType ) : void
opcode OpCode
index int
value Expression
elementType IType
Результат void
        void StoreEntity(OpCode opcode, int index, Expression value, IType elementType)
        {
            // array reference
            Dup();
            EmitLoadLiteral(index); // element index

            bool stobj = IsStobj(opcode); // value type sequence?
            if (stobj)
            {
                Type systemType = GetSystemType(elementType);
                _il.Emit(OpCodes.Ldelema, systemType);
                LoadExpressionWithType(elementType, value);	// might need to cast to decimal
                _il.Emit(opcode, systemType);
            }
            else
            {
                LoadExpressionWithType(elementType, value);
                _il.Emit(opcode);
            }
        }
EmitAssembly