rizsotto / constantine Goto Github PK
View Code? Open in Web Editor NEWA plugin for Clang compiler
License: GNU General Public License v3.0
A plugin for Clang compiler
License: GNU General Public License v3.0
Currently can't reproduce the problem. It could be seen, when do checking it's own source code.
Konstantin
Constantin
Mecsek
look like that operator calls are not handling arguments properly
seems that not used variables are got blamed from headers which are included. one option could be to generate warning only on current module.
it generates false positive warnings
implement a method which returns the most const type of a declaration. this method could have a type declaration like this:
clang::QualType (*f)(clang::QualType declaration, std::set<clang::QualType> usages);
here is the related Clang documentation on types.
a member function can not be declared const if,
clang::DiagnosticsEngine::getCustomDiagID changed to accept string literals only.
to fix it, we might use clang::DiagnosticsEngine::Report(const StoredDiagnostic &) version, and find out the way to create StoredDiagnostic.
Here is an example where the above suggestion is raised as a false positive:
class Foo {
friend class Bar;
};
class Bar {
double m;
void bar() {
m = 0;
}
};
false positive detected when a constructor got non const reference, because of the parent class signature requires non const signature.
methods are recommended to be static, even they were accessing 'this' pointer.
analyzing free variables might be useful.
When a reference/pointer is used/modified but the one which was refereed might be not. This case none of these shall be reported as pseudo const.
false positive case when a member method looks like this
void T::foo() {
return const_method(non_const_method());
}
currently it does blame situation like this:
struct Base {
virtual void method(int &) { }
};
struct MyType : public Base {
void method(int & k) { int const j = k; }
};
this case MyType::method shall not blame to have non const argument
currently all attributes of a POD are reported pseudo constness
a member function can not be declared static if,
It would help to find when multiple declaration is omitted.
method analysis does not consider this
in function calls.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.