예제 #1
0
        /// <summary>
        /// Reads a data segment from the given WebAssembly reader.
        /// </summary>
        /// <param name="Reader">The WebAssembly reader.</param>
        /// <returns>The data segment that was read from the reader.</returns>
        public static DataSegment ReadFrom(BinaryWasmReader Reader)
        {
            var index      = Reader.ReadVarUInt32();
            var offset     = InitializerExpression.ReadFrom(Reader);
            var dataLength = Reader.ReadVarUInt32();
            var data       = Reader.ReadBytes((int)dataLength);

            return(new DataSegment(index, offset, data));
        }
예제 #2
0
 /// <summary>
 /// Reads an unknown name entry's payload.
 /// </summary>
 /// <param name="Reader">The reader to read the name entry payload from.</param>
 /// <param name="Kind">The kind of name entry to read.</param>
 /// <param name="Length">The length of the name entry's payload, in bytes.</param>
 /// <returns>An unknown name entry.</returns>
 public static UnknownNameEntry ReadPayload(BinaryWasmReader Reader, NameEntryKind Kind, uint Length)
 {
     return(new UnknownNameEntry(Kind, Reader.ReadBytes((int)Length)));
 }
예제 #3
0
 /// <summary>
 /// Reads an unknown name entry's payload.
 /// </summary>
 /// <param name="reader">The reader to read the name entry payload from.</param>
 /// <param name="kind">The kind of name entry to read.</param>
 /// <param name="length">The length of the name entry's payload, in bytes.</param>
 /// <returns>An unknown name entry.</returns>
 public static UnknownNameEntry ReadPayload(BinaryWasmReader reader, NameEntryKind kind, uint length)
 {
     return(new UnknownNameEntry(kind, reader.ReadBytes((int)length)));
 }