================ @@ -833,13 +885,207 @@ class AnnotatingParser { Left->setType(TT_ArrayInitializerLSquare); } FormatToken *Tok = CurrentToken; + if (Style.isTableGen()) { + if (CurrentToken->isOneOf(tok::comma, tok::minus, tok::ellipsis)) { + // '-' and '...' appears as a separator in slice. + next(); + } else { + // In TableGen there must be a list of Values in square brackets. + // It must be ValueList or SliceElements. + if (!parseTableGenValue()) + return false; + } + updateParameterCount(Left, Tok); + continue; + } if (!consumeToken()) return false; updateParameterCount(Left, Tok); } return false; } + void nextTableGenNonComment() { + next(); + while (CurrentToken && CurrentToken->is(tok::comment)) + next(); + } + + bool parseTableGenValue(bool ParseNameMode = false) { ---------------- HazardyKnusperkeks wrote:
But it is still not clear what the meaning of the return value is. If the function was called `tryToParseTableGenValue` that would be different. https://github.com/llvm/llvm-project/pull/80299 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits