parent
c085151eb0
commit
cb02628c7c
|
@ -12019,12 +12019,14 @@ void Tokenizer::simplifyNamespaceAliases()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tok2->str(tokNameStart->str());
|
if (tok2->strAt(1) == "::") {
|
||||||
Token * tok3 = tokNameStart;
|
tok2->str(tokNameStart->str());
|
||||||
while (tok3 != tokNameEnd) {
|
Token * tok3 = tokNameStart;
|
||||||
tok2->insertToken(tok3->next()->str());
|
while (tok3 != tokNameEnd) {
|
||||||
tok2 = tok2->next();
|
tok2->insertToken(tok3->next()->str());
|
||||||
tok3 = tok3->next();
|
tok2 = tok2->next();
|
||||||
|
tok3 = tok3->next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tok2 = tok2->next();
|
tok2 = tok2->next();
|
||||||
|
|
|
@ -4973,6 +4973,27 @@ private:
|
||||||
"}"
|
"}"
|
||||||
"namespace AB = A::B;" //duplicate declaration
|
"namespace AB = A::B;" //duplicate declaration
|
||||||
"}"));
|
"}"));
|
||||||
|
|
||||||
|
// variable and namespace alias with same name
|
||||||
|
ASSERT_EQUALS("namespace external { namespace ns { "
|
||||||
|
"class A { "
|
||||||
|
"public: "
|
||||||
|
"static void f ( const std :: string & json ) ; "
|
||||||
|
"} ; "
|
||||||
|
"} } "
|
||||||
|
"namespace external { namespace ns { "
|
||||||
|
"void A :: f ( const std :: string & json ) { } "
|
||||||
|
"} }",
|
||||||
|
tok("namespace external::ns {"
|
||||||
|
" class A {"
|
||||||
|
" public:"
|
||||||
|
" static void f(const std::string& json);"
|
||||||
|
" };"
|
||||||
|
"}"
|
||||||
|
"namespace json = rapidjson;"
|
||||||
|
"namespace external::ns {"
|
||||||
|
" void A::f(const std::string& json) { }"
|
||||||
|
"}"));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue