Exemple #1
0
        public Com.Daml.Ledger.Api.V1.Enum ToProtoEnum()
        {
            var val = new Com.Daml.Ledger.Api.V1.Enum {
                Constructor = Constructor
            };

            EnumId.IfPresent(identifier => val.EnumId = identifier.ToProto());
            return(val);
        }
Exemple #2
0
        private void CheckKeyword()
        {
            Id = EnumId.IDEN;
            switch (Buffer[0])
            {
            case 'a':
                if (Buffer != "align")
                {
                    break;
                }

                Id = EnumId.ALIGN;
                return;

            case 'c':
                if (Buffer == "const")
                {
                    throw new CTFException();     // Unsupported Id = id.CONST;
                }
                else if (Buffer == "char")
                {
                    throw new CTFException();     // Unsupported Id = id.CHAR;
                }
                else if (Buffer == "clock")
                {
                    Id = EnumId.CLOCK;
                }
                else
                {
                    break;
                }

                return;

            case 'd':
                if (Buffer != "double")
                {
                    break;
                }

                throw new CTFException();     // Unsupported Id = id.DOUBLE;

            case 'e':
                if (Buffer == "enum")
                {
                    Id = EnumId.ENUM;
                }
                else if (Buffer == "event")
                {
                    Id = EnumId.EVENT;
                }
                else if (Buffer == "env")
                {
                    Id = EnumId.ENV;
                }
                else
                {
                    break;
                }

                return;

            case 'f':
                if (Buffer == "floating_point")
                {
                    Id = EnumId.FLOATING_POINT;
                }
                else if (Buffer == "float")
                {
                    throw new CTFException();     // Unsupported Id = id.FLOAT;
                }
                else
                {
                    break;
                }

                return;

            case 'i':
                if (Buffer == "integer")
                {
                    Id = EnumId.INTEGER;
                }
                else if (Buffer == "int")
                {
                    throw new CTFException();     // Unsupported Id = id.INT;
                }
                else
                {
                    break;
                }

                return;

            case 'l':
                if (Buffer != "long")
                {
                    break;
                }

                Id = EnumId.LONG;
                return;

            case 's':
                if (Buffer == "short")
                {
                    Id = EnumId.SHORT;
                }
                else if (Buffer == "signed")
                {
                    Id = EnumId.SIGNED;
                }
                else if (Buffer == "stream")
                {
                    Id = EnumId.STREAM;
                }
                else if (Buffer == "string")
                {
                    Id = EnumId.STRING;
                }
                else if (Buffer == "struct")
                {
                    Id = EnumId.STRUCT;
                }
                else
                {
                    break;
                }

                return;

            case 't':
                if (Buffer == "trace")
                {
                    Id = EnumId.TRACE;
                }
                else if (Buffer == "typealias")
                {
                    Id = EnumId.TYPEALIAS;
                }
                else if (Buffer == "typedef")
                {
                    throw new CTFException();     // Unsupported Id
                }
                else
                {
                    break;
                }

                return;

            case 'u':
                if (Buffer != "unsigned")
                {
                    break;
                }

                Id = EnumId.UNSIGNED;
                return;

            case 'v':
                if (Buffer == "variant")
                {
                    Id = EnumId.VARIANT;
                }
                else if (Buffer == "void")
                {
                    throw new CTFException();     // Unsupported Id = id.VOID;
                }
                else
                {
                    break;
                }

                return;

            case '_':
                if (Buffer == "_Bool")
                {
                    throw new CTFException();     // Unsupported Id = id.BOOL;
                }
                else if (Buffer == "_Complex")
                {
                    throw new CTFException();     // Unsupported Id = id.COMPLEX;
                }
                else if (Buffer == "_Imaginary")
                {
                    throw new CTFException();     // Unsupported Id = id.IMAGINARY;
                }
                else
                {
                    break;
                }

            default:
                break;
            }
        }
Exemple #3
0
 public Token(EnumId Id, string buffer)
 {
     this.Id = Id; this.Buffer = buffer;
 }