327{
329 {
330 return;
331 }
333 struct yyguts_t *yyg = (
struct yyguts_t*)
g_yyscanner;
334
335#ifdef FLEX_DEBUG
337#endif
338
340 yyextra->inputString = decl.
data();
341
342 yyextra->inputPosition = 0;
343 yyextra->classTempListFound = false;
344 yyextra->funcTempListFound = false;
345 yyextra->insideObjC = lang==SrcLangExt::ObjC;
346 yyextra->insidePHP = lang==SrcLangExt::PHP;
347 yyextra->insidePython = lang==SrcLangExt::Python;
348 yyextra->scope.clear();
349 yyextra->className.clear();
350 yyextra->classTempList.clear();
351 yyextra->funcTempList.clear();
352 yyextra->name.clear();
353 yyextra->type.clear();
354 yyextra->args.clear();
355 yyextra->exceptionString.clear();
356
358 BEGIN( Start );
360
361
362
363
364 if (
size_t nb = yyextra->name.rfind(
'[') ; nb!=
DString::npos && yyextra->args.empty())
365 {
366 yyextra->args.prepend(yyextra->name.mid(nb));
367 yyextra->name=yyextra->name.left(nb);
368 }
369
370 cl=yyextra->scope;
372 size_t il=n.find('<'), ir=n.rfind('>');
374
375
376 {
378 n=n.left(il);
379 }
380
381
382
386
387 if (!t.empty() && !t.startsWith("decltype") && t.at(t.length()-1)==')')
388 {
389 a.prepend(")");
390 t=t.left(t.length()-1);
391 }
392
393
394
396 return;
397}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
static constexpr size_t npos
value used to indicate 'not found' or 'to the end of the string', matching std::string::npos
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
static bool isFlagSet(const DebugMask mask)
static yyscan_t g_yyscanner
static struct declinfoYY_state g_declinfo_extra
DString removeRedundantWhiteSpace(const DString &s)