214 lines
5.6 KiB
C#
214 lines
5.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using Google.Protobuf.Collections;
|
|
using Google.Protobuf.Reflection;
|
|
|
|
namespace Google.Protobuf.WellKnownTypes
|
|
{
|
|
// Token: 0x02000024 RID: 36
|
|
public sealed class FieldMask : IMessage<FieldMask>, IMessage, IEquatable<FieldMask>, IDeepCloneable<FieldMask>, ICustomDiagnosticMessage
|
|
{
|
|
// Token: 0x17000054 RID: 84
|
|
// (get) Token: 0x060001E9 RID: 489 RVA: 0x0000958F File Offset: 0x0000778F
|
|
[DebuggerNonUserCode]
|
|
public static MessageParser<FieldMask> Parser
|
|
{
|
|
get
|
|
{
|
|
return FieldMask._parser;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000055 RID: 85
|
|
// (get) Token: 0x060001EA RID: 490 RVA: 0x00009596 File Offset: 0x00007796
|
|
[DebuggerNonUserCode]
|
|
public static MessageDescriptor Descriptor
|
|
{
|
|
get
|
|
{
|
|
return FieldMaskReflection.Descriptor.MessageTypes[0];
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000056 RID: 86
|
|
// (get) Token: 0x060001EB RID: 491 RVA: 0x000095A8 File Offset: 0x000077A8
|
|
[DebuggerNonUserCode]
|
|
MessageDescriptor IMessage.Descriptor
|
|
{
|
|
get
|
|
{
|
|
return FieldMask.Descriptor;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060001EC RID: 492 RVA: 0x000095AF File Offset: 0x000077AF
|
|
[DebuggerNonUserCode]
|
|
public FieldMask()
|
|
{
|
|
}
|
|
|
|
// Token: 0x060001ED RID: 493 RVA: 0x000095C2 File Offset: 0x000077C2
|
|
[DebuggerNonUserCode]
|
|
public FieldMask(FieldMask other)
|
|
: this()
|
|
{
|
|
this.paths_ = other.paths_.Clone();
|
|
}
|
|
|
|
// Token: 0x060001EE RID: 494 RVA: 0x000095DB File Offset: 0x000077DB
|
|
[DebuggerNonUserCode]
|
|
public FieldMask Clone()
|
|
{
|
|
return new FieldMask(this);
|
|
}
|
|
|
|
// Token: 0x17000057 RID: 87
|
|
// (get) Token: 0x060001EF RID: 495 RVA: 0x000095E3 File Offset: 0x000077E3
|
|
[DebuggerNonUserCode]
|
|
public RepeatedField<string> Paths
|
|
{
|
|
get
|
|
{
|
|
return this.paths_;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060001F0 RID: 496 RVA: 0x000095EB File Offset: 0x000077EB
|
|
[DebuggerNonUserCode]
|
|
public override bool Equals(object other)
|
|
{
|
|
return this.Equals(other as FieldMask);
|
|
}
|
|
|
|
// Token: 0x060001F1 RID: 497 RVA: 0x000095F9 File Offset: 0x000077F9
|
|
[DebuggerNonUserCode]
|
|
public bool Equals(FieldMask other)
|
|
{
|
|
return other != null && (other == this || this.paths_.Equals(other.paths_));
|
|
}
|
|
|
|
// Token: 0x060001F2 RID: 498 RVA: 0x0000961C File Offset: 0x0000781C
|
|
[DebuggerNonUserCode]
|
|
public override int GetHashCode()
|
|
{
|
|
return 1 ^ this.paths_.GetHashCode();
|
|
}
|
|
|
|
// Token: 0x060001F3 RID: 499 RVA: 0x00007C02 File Offset: 0x00005E02
|
|
[DebuggerNonUserCode]
|
|
public override string ToString()
|
|
{
|
|
return JsonFormatter.ToDiagnosticString(this);
|
|
}
|
|
|
|
// Token: 0x060001F4 RID: 500 RVA: 0x0000962B File Offset: 0x0000782B
|
|
[DebuggerNonUserCode]
|
|
public void WriteTo(CodedOutputStream output)
|
|
{
|
|
this.paths_.WriteTo(output, FieldMask._repeated_paths_codec);
|
|
}
|
|
|
|
// Token: 0x060001F5 RID: 501 RVA: 0x0000963E File Offset: 0x0000783E
|
|
[DebuggerNonUserCode]
|
|
public int CalculateSize()
|
|
{
|
|
return 0 + this.paths_.CalculateSize(FieldMask._repeated_paths_codec);
|
|
}
|
|
|
|
// Token: 0x060001F6 RID: 502 RVA: 0x00009652 File Offset: 0x00007852
|
|
[DebuggerNonUserCode]
|
|
public void MergeFrom(FieldMask other)
|
|
{
|
|
if (other == null)
|
|
{
|
|
return;
|
|
}
|
|
this.paths_.Add(other.paths_);
|
|
}
|
|
|
|
// Token: 0x060001F7 RID: 503 RVA: 0x0000966C File Offset: 0x0000786C
|
|
[DebuggerNonUserCode]
|
|
public void MergeFrom(CodedInputStream input)
|
|
{
|
|
uint num;
|
|
while ((num = input.ReadTag()) != 0U)
|
|
{
|
|
if (num != 10U)
|
|
{
|
|
input.SkipLastField();
|
|
}
|
|
else
|
|
{
|
|
this.paths_.AddEntriesFrom(input, FieldMask._repeated_paths_codec);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060001F8 RID: 504 RVA: 0x000096A4 File Offset: 0x000078A4
|
|
internal static string ToJson(IList<string> paths, bool diagnosticOnly)
|
|
{
|
|
string text = paths.FirstOrDefault((string p) => !FieldMask.ValidatePath(p));
|
|
if (text == null)
|
|
{
|
|
StringWriter stringWriter = new StringWriter();
|
|
IEnumerable<string> enumerable = paths.Select(new Func<string, string>(JsonFormatter.ToCamelCase));
|
|
JsonFormatter.WriteString(stringWriter, string.Join(",", enumerable.ToArray<string>()));
|
|
return stringWriter.ToString();
|
|
}
|
|
if (diagnosticOnly)
|
|
{
|
|
StringWriter stringWriter2 = new StringWriter();
|
|
stringWriter2.Write("{ \"@warning\": \"Invalid FieldMask\", \"paths\": ");
|
|
JsonFormatter.Default.WriteList(stringWriter2, (IList)paths);
|
|
stringWriter2.Write(" }");
|
|
return stringWriter2.ToString();
|
|
}
|
|
throw new InvalidOperationException(string.Format("Invalid field mask to be converted to JSON: {0}", text));
|
|
}
|
|
|
|
// Token: 0x060001F9 RID: 505 RVA: 0x00009758 File Offset: 0x00007958
|
|
private static bool ValidatePath(string input)
|
|
{
|
|
for (int i = 0; i < input.Length; i++)
|
|
{
|
|
char c = input[i];
|
|
if (c >= 'A' && c <= 'Z')
|
|
{
|
|
return false;
|
|
}
|
|
if (c == '_' && i < input.Length - 1)
|
|
{
|
|
char c2 = input[i + 1];
|
|
if (c2 < 'a' || c2 > 'z')
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x060001FA RID: 506 RVA: 0x000097B1 File Offset: 0x000079B1
|
|
public string ToDiagnosticString()
|
|
{
|
|
return FieldMask.ToJson(this.Paths, true);
|
|
}
|
|
|
|
// Token: 0x0400008C RID: 140
|
|
private static readonly MessageParser<FieldMask> _parser = new MessageParser<FieldMask>(() => new FieldMask());
|
|
|
|
// Token: 0x0400008D RID: 141
|
|
public const int PathsFieldNumber = 1;
|
|
|
|
// Token: 0x0400008E RID: 142
|
|
private static readonly FieldCodec<string> _repeated_paths_codec = FieldCodec.ForString(10U);
|
|
|
|
// Token: 0x0400008F RID: 143
|
|
private readonly RepeatedField<string> paths_ = new RepeatedField<string>();
|
|
}
|
|
}
|