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

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

private LoadSingleDimensionalArrayElement ( Boo.Lang.Compiler.Ast.SlicingExpression node, IType arrayType ) : void
node Boo.Lang.Compiler.Ast.SlicingExpression
arrayType IType
Результат void
        private void LoadSingleDimensionalArrayElement(SlicingExpression node, IType arrayType)
        {
            EmitNormalizedArrayIndex(node, node.Indices[0].Begin);

            var elementType = arrayType.ElementType;
            var opcode = GetLoadEntityOpCode(elementType);
            if (OpCodes.Ldelema.Value == opcode.Value)
            {
                var systemType = GetSystemType(elementType);
                _il.Emit(opcode, systemType);
                if (!IsByAddress(elementType))
                    _il.Emit(OpCodes.Ldobj, systemType);
            }
            else if (OpCodes.Ldelem.Value == opcode.Value)
                _il.Emit(opcode, GetSystemType(elementType));
            else
                _il.Emit(opcode);
        }
EmitAssembly