using System; using System.IO; namespace Google.Protobuf { // Token: 0x02000016 RID: 22 public sealed class MessageParser : MessageParser where T : IMessage { // Token: 0x06000145 RID: 325 RVA: 0x000078F4 File Offset: 0x00005AF4 public MessageParser(Func factory) : base(() => factory()) { this.factory = factory; } // Token: 0x06000146 RID: 326 RVA: 0x0000792C File Offset: 0x00005B2C internal new T CreateTemplate() { return this.factory(); } // Token: 0x06000147 RID: 327 RVA: 0x00007939 File Offset: 0x00005B39 public new T ParseFrom(byte[] data) { ProtoPreconditions.CheckNotNull(data, "data"); T t = this.factory(); t.MergeFrom(data); return t; } // Token: 0x06000148 RID: 328 RVA: 0x0000795E File Offset: 0x00005B5E public new T ParseFrom(ByteString data) { ProtoPreconditions.CheckNotNull(data, "data"); T t = this.factory(); t.MergeFrom(data); return t; } // Token: 0x06000149 RID: 329 RVA: 0x00007983 File Offset: 0x00005B83 public new T ParseFrom(Stream input) { T t = this.factory(); t.MergeFrom(input); return t; } // Token: 0x0600014A RID: 330 RVA: 0x0000799C File Offset: 0x00005B9C public new T ParseDelimitedFrom(Stream input) { T t = this.factory(); t.MergeDelimitedFrom(input); return t; } // Token: 0x0600014B RID: 331 RVA: 0x000079B8 File Offset: 0x00005BB8 public new T ParseFrom(CodedInputStream input) { T t = this.factory(); t.MergeFrom(input); return t; } // Token: 0x0600014C RID: 332 RVA: 0x000079E0 File Offset: 0x00005BE0 public new T ParseJson(string json) { T t = this.factory(); JsonParser.Default.Merge(t, json); return t; } // Token: 0x0400004B RID: 75 private readonly Func factory; } }