-
Notifications
You must be signed in to change notification settings - Fork 54
Open
Description
Description
I attempted to extract code metrics from a certain function, but the output turned out to be empty. I discovered that there are multiple nodes labeled as ERROR
in AST. Is it caused by this?
Steps to reproduce
The command I tried
$ rust-code-analysis-cli --paths foo.c -m
The code
static YYACTIONTYPE
yy_find_shift_action(YYCODETYPE iLookAhead, /* The look-ahead token */
YYACTIONTYPE stateno /* Current state number */
) {
int i;
if (stateno > YY_MAX_SHIFT)
return stateno;
assert(stateno <= YY_SHIFT_COUNT);
#if defined(YYCOVERAGE)
yycoverage[stateno][iLookAhead] = 1;
#endif
do {
i = yy_shift_ofst[stateno];
assert(i >= 0);
/* assert( i+YYNTOKEN<=(int)YY_NLOOKAHEAD ); */
assert(iLookAhead != YYNOCODE);
assert(iLookAhead < YYNTOKEN);
i += iLookAhead;
if (i >= YY_NLOOKAHEAD || yy_lookahead[i] != iLookAhead) {
#ifdef YYFALLBACK
YYCODETYPE iFallback; /* Fallback token */
if (iLookAhead < sizeof(yyFallback) / sizeof(yyFallback[0]) &&
(iFallback = yyFallback[iLookAhead]) != 0) {
#ifndef NDEBUG
if (yyTraceFILE) {
fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", yyTracePrompt,
yyTokenName[iLookAhead], yyTokenName[iFallback]);
}
#endif
assert(yyFallback[iFallback] == 0); /* Fallback loop must terminate */
iLookAhead = iFallback;
continue;
}
#endif
#ifdef YYWILDCARD
{
int j = i - iLookAhead + YYWILDCARD;
if (
#if YY_SHIFT_MIN + YYWILDCARD < 0
j >= 0 &&
#endif
#if YY_SHIFT_MAX + YYWILDCARD >= YY_ACTTAB_COUNT
j < YY_ACTTAB_COUNT &&
#endif
j < (int)(sizeof(yy_lookahead) / sizeof(yy_lookahead[0])) &&
yy_lookahead[j] == YYWILDCARD && iLookAhead > 0) {
#ifndef NDEBUG
if (yyTraceFILE) {
fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", yyTracePrompt,
yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]);
}
#endif /* NDEBUG */
return yy_action[j];
}
}
#endif /* YYWILDCARD */
return yy_default[stateno];
} else {
return yy_action[i];
}
} while (1);
}
Metadata
Metadata
Assignees
Labels
No labels