Skip to content

Unable to parse oneof fields: Disabled token 'ONEOF' #152

Description

When I try to compile following proto file:

syntax = "proto3";

message SampleMessage {
  oneof test_oneof {
     string name = 4;
     int64 value = 7;
  }
}

pyrobuf fails with following stack trace:

Traceback (most recent call last):
  File "C:\dev\.venv\Scripts\pyrobuf-script.py", line 11, in <module>
    load_entry_point('pyrobuf==0.9.3', 'console_scripts', 'pyrobuf')()
  File "c:\dev\.venv\lib\site-packages\pyrobuf\__main__.py", line 6, in main
    compiler.compile()
  File "c:\dev\.venv\lib\site-packages\pyrobuf\compile.py", line 88, in compile
    self._compile_spec()
  File "c:\dev\.venv\lib\site-packages\pyrobuf\compile.py", line 119, in _compile_spec
    self._generate(spec)
  File "c:\dev\.venv\lib\site-packages\pyrobuf\compile.py", line 133, in _generate
    msg_def = self.parser.parse_from_filename(filename, self.includes)
  File "c:\dev\.venv\lib\site-packages\pyrobuf\parse_proto.py", line 264, in parse_from_filename
    raise e
  File "c:\dev\.venv\lib\site-packages\pyrobuf\parse_proto.py", line 261, in parse_from_filename
    return cls(s).parse(fname=fname, includes=includes, disabled_tokens=disabled_tokens)
  File "c:\dev\.venv\lib\site-packages\pyrobuf\parse_proto.py", line 225, in parse
    imported['enums']
  File "c:\dev\.venv\lib\site-packages\pyrobuf\parse_proto.py", line 326, in _parse_message
    for token in tokens:
  File "c:\dev\.venv\lib\site-packages\pyrobuf\parse_proto.py", line 157, in tokenize
    token_type, line + 1, self.lines[line])
AssertionError: Disabled token 'ONEOF' found on line 4:   oneof test_oneof {

It looks like oneofs should supported as of 0.9.2 (#147).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions