Example #1
0
 public bool Parse(JSImplGuid.Format format, out JSImplGuid guid)
 {
     if (format == JSImplGuid.Format.X)
     {
         return(this.TryParseX(out guid));
     }
     return(this.TryParseNDBP(format, out guid));
 }
Example #2
0
            private static bool HasHyphen(JSImplGuid.Format format)
            {
                switch (format)
                {
                case JSImplGuid.Format.D:
                case JSImplGuid.Format.B:
                case JSImplGuid.Format.P:
                    return(true);

                default:
                    return(false);
                }
            }
Example #3
0
            private bool TryParseNDBP(JSImplGuid.Format format, out JSImplGuid guid)
            {
                guid = default(JSImplGuid);
                if (format == JSImplGuid.Format.B && !this.ParseChar('{'))
                {
                    return(false);
                }
                if (format == JSImplGuid.Format.P && !this.ParseChar('('))
                {
                    return(false);
                }
                ulong num;

                if (!this.ParseHex(8, true, out num))
                {
                    return(false);
                }
                bool flag = JSImplGuid.GuidParser.HasHyphen(format);

                if (flag && !this.ParseChar('-'))
                {
                    return(false);
                }
                ulong num2;

                if (!this.ParseHex(4, true, out num2))
                {
                    return(false);
                }
                if (flag && !this.ParseChar('-'))
                {
                    return(false);
                }
                ulong num3;

                if (!this.ParseHex(4, true, out num3))
                {
                    return(false);
                }
                if (flag && !this.ParseChar('-'))
                {
                    return(false);
                }
                byte[] array = new byte[8];
                for (int i = 0; i < array.Length; i++)
                {
                    ulong num4;
                    if (!this.ParseHex(2, true, out num4))
                    {
                        return(false);
                    }
                    if (i == 1 && flag && !this.ParseChar('-'))
                    {
                        return(false);
                    }
                    array[i] = (byte)num4;
                }
                if (format == JSImplGuid.Format.B && !this.ParseChar('}'))
                {
                    return(false);
                }
                if (format == JSImplGuid.Format.P && !this.ParseChar(')'))
                {
                    return(false);
                }
                if (!this.Eof)
                {
                    return(false);
                }
                guid = new JSImplGuid((int)num, (short)num2, (short)num3, array);
                return(true);
            }