Exemplo n.º 1
0
        // -----------------------------------------------------------------
        //
        //   Private Methods
        //
        // -----------------------------------------------------------------

        #region Private Methods

        /// <summary>
        /// Prepends a field to this padded command. Alignment is not updated.
        /// </summary>
        /// <remarks>
        ///
        /// </remarks>
        private void PrependField(McgField field)
        {
            Helpers.CodeGenHelpers.AlignmentEntry entry =
                new Helpers.CodeGenHelpers.AlignmentEntry(field, false, false);

            List <Helpers.CodeGenHelpers.AlignmentEntry> entries =
                new List <Helpers.CodeGenHelpers.AlignmentEntry>(m_paddedStructData.AlignmentEntries);


            //
            // Update the existing field offsets
            //

            foreach (Helpers.CodeGenHelpers.AlignmentEntry existingEntry in entries)
            {
                existingEntry.Offset += field.Type.UnpaddedSize;
            }


            //
            // Prepend the new entry and write back the result
            //

            entries.Insert(0, entry);

            m_paddedStructData.AlignmentEntries =
                entries.ToArray();

            m_paddedStructData.PaddedSize += field.Type.UnpaddedSize;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Appends a field to this padded command. Alignment is not updated.
        /// </summary>
        /// <remarks>
        ///
        /// </remarks>
        private void AppendField(McgField field)
        {
            Helpers.CodeGenHelpers.AlignmentEntry entry =
                new Helpers.CodeGenHelpers.AlignmentEntry(field, false, false);

            List <Helpers.CodeGenHelpers.AlignmentEntry> entries =
                new List <Helpers.CodeGenHelpers.AlignmentEntry>(m_paddedStructData.AlignmentEntries);

            entries.Add(entry);

            m_paddedStructData.AlignmentEntries =
                entries.ToArray();

            m_paddedStructData.PaddedSize += field.Type.UnpaddedSize;
        }