@@ -53,17 +53,15 @@ bool RootSignatureParser::Parse() {
53
53
while (!ParseRootElement ()) {
54
54
if (Lexer.EndOfBuffer ())
55
55
return false ;
56
- if (ConsumeExpectedToken (TokenKind::pu_comma, diag::err_expected_either,
57
- " end of root signature string" ))
56
+ if (ConsumeExpectedToken (TokenKind::pu_comma))
58
57
return true ;
59
58
}
60
59
61
60
return true ;
62
61
}
63
62
64
63
bool RootSignatureParser::ParseRootElement () {
65
- if (ConsumeExpectedToken (TokenKind::kw_DescriptorTable,
66
- diag::err_hlsl_expected, " root element" ))
64
+ if (ConsumeExpectedToken (TokenKind::kw_DescriptorTable))
67
65
return true ;
68
66
69
67
// Dispatch onto the correct parse method
@@ -79,8 +77,7 @@ bool RootSignatureParser::ParseRootElement() {
79
77
bool RootSignatureParser::ParseDescriptorTable () {
80
78
DescriptorTable Table;
81
79
82
- if (ConsumeExpectedToken (TokenKind::pu_l_paren, diag::err_expected_after,
83
- " DescriptorTable" ))
80
+ if (ConsumeExpectedToken (TokenKind::pu_l_paren, diag::err_expected_after, CurToken.Kind ))
84
81
return true ;
85
82
86
83
// Empty case:
@@ -111,8 +108,7 @@ bool RootSignatureParser::ParseDescriptorTable() {
111
108
Table.NumClauses ++;
112
109
} while (TryConsumeExpectedToken (TokenKind::pu_comma));
113
110
114
- if (ConsumeExpectedToken (TokenKind::pu_r_paren, diag::err_expected_after,
115
- " descriptor table clauses" ))
111
+ if (ConsumeExpectedToken (TokenKind::pu_r_paren, diag::err_expected_after, CurToken.Kind ))
116
112
return true ;
117
113
118
114
Elements.push_back (Table);
@@ -121,8 +117,7 @@ bool RootSignatureParser::ParseDescriptorTable() {
121
117
122
118
bool RootSignatureParser::ParseDescriptorTableClause () {
123
119
if (ConsumeExpectedToken ({TokenKind::kw_CBV, TokenKind::kw_SRV,
124
- TokenKind::kw_UAV, TokenKind::kw_Sampler},
125
- diag::err_hlsl_expected, " descriptor table clause" ))
120
+ TokenKind::kw_UAV, TokenKind::kw_Sampler}))
126
121
return true ;
127
122
128
123
DescriptorTableClause Clause;
@@ -144,8 +139,7 @@ bool RootSignatureParser::ParseDescriptorTableClause() {
144
139
}
145
140
Clause.SetDefaultFlags ();
146
141
147
- if (ConsumeExpectedToken (TokenKind::pu_l_paren, diag::err_expected_after,
148
- FormatTokenKinds ({CurToken.Kind })))
142
+ if (ConsumeExpectedToken (TokenKind::pu_l_paren, diag::err_expected_after, CurToken.Kind ))
149
143
return true ;
150
144
151
145
// Consume mandatory Register paramater
@@ -162,8 +156,7 @@ bool RootSignatureParser::ParseDescriptorTableClause() {
162
156
if (ParseOptionalParams ({RefMap}))
163
157
return true ;
164
158
165
- if (ConsumeExpectedToken (TokenKind::pu_r_paren, diag::err_expected_after,
166
- " clause parameters" ))
159
+ if (ConsumeExpectedToken (TokenKind::pu_r_paren, diag::err_expected_after, CurToken.Kind ))
167
160
return true ;
168
161
169
162
Elements.push_back (Clause);
@@ -175,8 +168,7 @@ template <class... Ts> struct ParseMethods : Ts... { using Ts::operator()...; };
175
168
template <class ... Ts> ParseMethods (Ts...) -> ParseMethods<Ts...>;
176
169
177
170
bool RootSignatureParser::ParseParam (ParamType Ref) {
178
- if (ConsumeExpectedToken (TokenKind::pu_equal, diag::err_expected_after,
179
- FormatTokenKinds (CurToken.Kind )))
171
+ if (ConsumeExpectedToken (TokenKind::pu_equal, diag::err_expected_after, CurToken.Kind ))
180
172
return true ;
181
173
182
174
bool Error;
@@ -206,8 +198,7 @@ bool RootSignatureParser::ParseOptionalParams(
206
198
llvm::SmallDenseSet<TokenKind> Seen;
207
199
208
200
while (TryConsumeExpectedToken (TokenKind::pu_comma)) {
209
- if (ConsumeExpectedToken (ParamKeywords, diag::err_hlsl_expected,
210
- " optional parameter" ))
201
+ if (ConsumeExpectedToken (ParamKeywords))
211
202
return true ;
212
203
213
204
TokenKind ParamKind = CurToken.Kind ;
@@ -250,8 +241,7 @@ bool RootSignatureParser::HandleUIntLiteral(uint32_t &X) {
250
241
251
242
bool RootSignatureParser::ParseRegister (Register *Register) {
252
243
if (ConsumeExpectedToken (
253
- {TokenKind::bReg, TokenKind::tReg, TokenKind::uReg, TokenKind::sReg },
254
- diag::err_hlsl_expected, " a register" ))
244
+ {TokenKind::bReg, TokenKind::tReg, TokenKind::uReg, TokenKind::sReg }))
255
245
return true ;
256
246
257
247
switch (CurToken.Kind ) {
@@ -280,8 +270,7 @@ bool RootSignatureParser::ParseRegister(Register *Register) {
280
270
bool RootSignatureParser::ParseUInt (uint32_t *X) {
281
271
// Treat a postively signed integer as though it is unsigned to match DXC
282
272
TryConsumeExpectedToken (TokenKind::pu_plus);
283
- if (ConsumeExpectedToken (TokenKind::int_literal, diag::err_hlsl_expected,
284
- " unsigned integer" ))
273
+ if (ConsumeExpectedToken (TokenKind::int_literal))
285
274
return true ;
286
275
287
276
if (HandleUIntLiteral (*X))
@@ -292,8 +281,7 @@ bool RootSignatureParser::ParseUInt(uint32_t *X) {
292
281
293
282
bool RootSignatureParser::ParseDescriptorRangeOffset (DescriptorRangeOffset *X) {
294
283
if (ConsumeExpectedToken (
295
- {TokenKind::int_literal, TokenKind::en_DescriptorRangeOffsetAppend},
296
- diag::err_hlsl_expected, " descriptor range offset" ))
284
+ {TokenKind::int_literal, TokenKind::en_DescriptorRangeOffsetAppend}))
297
285
return true ;
298
286
299
287
// Edge case for the offset enum -> static value
@@ -319,8 +307,7 @@ bool RootSignatureParser::ParseEnum(
319
307
EnumToks.push_back (EnumPair.first );
320
308
321
309
// If invoked we expect to have an enum
322
- if (ConsumeExpectedToken (EnumToks, diag::err_hlsl_expected,
323
- " parameter value" ))
310
+ if (ConsumeExpectedToken (EnumToks))
324
311
return true ;
325
312
326
313
// Handle the edge case when '0' is used to specify None
@@ -406,13 +393,13 @@ bool RootSignatureParser::PeekExpectedToken(ArrayRef<TokenKind> AnyExpected) {
406
393
407
394
bool RootSignatureParser::ConsumeExpectedToken (TokenKind Expected,
408
395
unsigned DiagID,
409
- StringRef DiagMsg ) {
410
- return ConsumeExpectedToken (ArrayRef{Expected}, DiagID, DiagMsg );
396
+ TokenKind Context ) {
397
+ return ConsumeExpectedToken (ArrayRef{Expected}, DiagID, Context );
411
398
}
412
399
413
400
bool RootSignatureParser::ConsumeExpectedToken (ArrayRef<TokenKind> AnyExpected,
414
401
unsigned DiagID,
415
- StringRef DiagMsg ) {
402
+ TokenKind Context ) {
416
403
if (TryConsumeExpectedToken (AnyExpected))
417
404
return false ;
418
405
@@ -422,14 +409,11 @@ bool RootSignatureParser::ConsumeExpectedToken(ArrayRef<TokenKind> AnyExpected,
422
409
case diag::err_expected:
423
410
DB << FormatTokenKinds (AnyExpected);
424
411
break ;
425
- case diag::err_hlsl_expected:
426
412
case diag::err_expected_either:
427
413
case diag::err_expected_after:
428
- DB << FormatTokenKinds (AnyExpected) << DiagMsg;
429
- break ;
430
- default :
431
- DB << DiagMsg;
414
+ DB << FormatTokenKinds (AnyExpected) << FormatTokenKinds ({Context});
432
415
break ;
416
+ default : break ;
433
417
}
434
418
return true ;
435
419
}
0 commit comments