Files
tubestation/build/clang-plugin/tests/TestNoPrincipalGetUri.cpp
Mike Hommey 36b7a13510 Bug 1779346 - Fix NoPrincipalGetURI matchers. r=andi
A change in LLVM trunk (that was backed out but will reland later on trunk)
unveiled a longstanding issue in the NoPrincipalGetURI matcher, which
would make it fail to catch issues under some conditions.

Differential Revision: https://phabricator.services.mozilla.com/D152359
2022-07-22 07:59:35 +00:00

32 lines
768 B
C++

class nsIPrincipal {
public:
void GetURI(int foo){};
};
class SomePrincipal : public nsIPrincipal {
public:
void GetURI(int foo) {}
};
class NullPrincipal : public SomePrincipal {};
class SomeURI {
public:
void GetURI(int foo) {}
};
void f() {
nsIPrincipal *a = new SomePrincipal();
a->GetURI(0); // expected-error {{Principal->GetURI is deprecated and will be removed soon. Please consider using the new helper functions of nsIPrincipal}}
::nsIPrincipal *b = new NullPrincipal();
b->GetURI(0); // expected-error {{Principal->GetURI is deprecated and will be removed soon. Please consider using the new helper functions of nsIPrincipal}}
SomeURI *c = new SomeURI();
c->GetURI(0);
SomePrincipal *d = new SomePrincipal();
d->GetURI(0);
}