Clang import: Fix Variable::isReference
This commit is contained in:
parent
0ac4de2a5e
commit
970beaa79a
|
@ -1349,7 +1349,7 @@ Token * clangimport::AstNode::createTokensVarDecl(TokenList *tokenList)
|
|||
}
|
||||
Token *vartok1 = addtoken(tokenList, name);
|
||||
Scope *scope = const_cast<Scope *>(tokenList->back()->scope());
|
||||
scope->varlist.push_back(Variable(vartok1, type, startToken, vartok1->previous(), 0, scope->defaultAccess(), recordType, scope));
|
||||
scope->varlist.push_back(Variable(vartok1, unquote(type), startToken, vartok1->previous(), 0, scope->defaultAccess(), recordType, scope));
|
||||
mData->varDecl(addr, vartok1, &scope->varlist.back());
|
||||
if (mExtTokens.back() == "cinit" && !children.empty()) {
|
||||
Token *eq = addtoken(tokenList, "=");
|
||||
|
|
|
@ -107,6 +107,7 @@ private:
|
|||
TEST_CASE(symbolDatabaseFunction2);
|
||||
TEST_CASE(symbolDatabaseFunction3);
|
||||
TEST_CASE(symbolDatabaseFunctionConst);
|
||||
TEST_CASE(symbolDatabaseVariableRef);
|
||||
TEST_CASE(symbolDatabaseNodeType1);
|
||||
|
||||
TEST_CASE(valueFlow1);
|
||||
|
@ -1058,6 +1059,19 @@ private:
|
|||
ASSERT(func.isConst());
|
||||
}
|
||||
|
||||
void symbolDatabaseVariableRef() {
|
||||
const char clang[] = "`-FunctionDecl 0x1593df0 <3.cpp:1:1, line:4:1> line:1:6 foo 'void ()'\n"
|
||||
" `-CompoundStmt 0x15940b0 <col:12, line:4:1>\n"
|
||||
" |-DeclStmt 0x1593f58 <line:2:3, col:8>\n"
|
||||
" | `-VarDecl 0x1593ef0 <col:3, col:7> col:7 used x 'int'\n"
|
||||
" `-DeclStmt 0x1594098 <line:3:3, col:15>\n"
|
||||
" `-VarDecl 0x1593fb8 <col:3, col:14> col:8 ref 'int &' cinit\n"
|
||||
" `-DeclRefExpr 0x1594020 <col:14> 'int' lvalue Var 0x1593ef0 'x' 'int'";
|
||||
GET_SYMBOL_DB(clang);
|
||||
const Variable *refVar = db->variableList().back();
|
||||
ASSERT(refVar->isReference());
|
||||
}
|
||||
|
||||
void symbolDatabaseNodeType1() {
|
||||
const char clang[] = "`-FunctionDecl 0x32438c0 <line:5:1, line:7:1> line:5:6 foo 'a::b (a::b)'\n"
|
||||
" |-ParmVarDecl 0x32437b0 <col:10, col:15> col:15 used i 'a::b':'long'\n"
|
||||
|
|
Loading…
Reference in New Issue