-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Description
Description
PBJ treats document comments (/**...*/) as the start of a token (because it wants to make them Javadoc), and if the comment is not followed by a field or message, that next item (be it a keyword like reserved or the end of a block }) is treated as a field or message, so it would look for a message type reserved or hoist a oneof to a field (both of which will fail). In some cases that will even cause a message to be processed completely incorrectly, but still appear to compile, so it's another subtly concerning bug.
How to Reproduce
Compile the following protobuf:
message DocumentCommentTest {
/**
* This will fail "cannot find type [reserved]".
*/
reserved 5;
/**
* This is fine.
*/
uint32 number = 1;
/**
* oneof with a commented field; this will fail compilation
* "OneofFieldContext.fieldNumber is null"
*/
oneof sample {
/**
* A text field
*/
string text = 2;
/**
* A flag indicating FCOJ futures bids are enabled.
*/
// removed for now.
// bool futures_enabled = 3;
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels