Quero passar várias opções de valores de enumeração conforme abaixo dentro de um arquivo proto,
mas encontro erros de compilação ao especificar valores conforme (types) = [5,6]
o bloco de código abaixo:
extend google.protobuf.EnumValueOptions {
optional string name = 50001;
repeated int32 types = 50002;
}
enum FileDefinitionSubType {
UNKNOWN = 0;
MAIN = 1 [
(name) = "main",
(types) = [5,6] // Compilation error in this line
];
} here
Alguém pode sugerir como consertar esse problema? Abaixo está um enum de exemplo que tenho no meu código Java, que quero replicar no arquivo proto.
enum CarType {
UNKNOWN = 0;
NEW = 1 ("new", [MARUTI_ALTO, FORD_ECOSPORT]);
OLD = 2 ("old", [MARUTI_800, FORD_FIGO]);
MIDAGE = 3 ("midAge", []);
}
enum CarModel {
UNKNOWN = 0;
MARUTI_800 = 1;
MARUTI_ALTO = 2;
FORD_ECOSPORT = 3;
FORD_FIGO = 4;
}
Já tentei passar diferentes conjuntos de valores, mas nada funcionou.
De acordo com a especificação da linguagem :
O que significa isto:
Os valores separados serão coletados na lista repetida, como pode ser verificado por
protoc --decode
:Como alternativa, você pode colocar todas as suas opções dentro de uma submensagem e usar o "formato de texto dos buffers de protocolo" para fornecer os valores: