Kaydet (Commit) a1c61eb1 authored tarafından Luboš Luňák's avatar Luboš Luňák

move documentation of plugins to the .cxx files

It's mostly there already anyway, no need to duplicate it.

Change-Id: I5b066f90725a064fb0746e1411900e835e3f66c3
üst c6ffe176
...@@ -18,10 +18,12 @@ are found or explicitly using --enable-compiler-plugins. ...@@ -18,10 +18,12 @@ are found or explicitly using --enable-compiler-plugins.
== Functionality == == Functionality ==
There are two kinds of modules: There are two kinds of plugin actions:
- compile checks - these are run during normal compilation - compile checks - these are run during normal compilation
- rewriters - these must be run manually and modify source files - rewriters - these must be run manually and modify source files
Each source has a comment saying whether it's compile check or a rewriter
and description of functionality.
=== Compile checks === === Compile checks ===
...@@ -29,42 +31,13 @@ Used during normal compilation to perform additional checks. ...@@ -29,42 +31,13 @@ Used during normal compilation to perform additional checks.
All warnings and errors are marked '[loplugin]' in the message. All warnings and errors are marked '[loplugin]' in the message.
==== Unused variable check ====
- unused parameter 'foo' [loplugin]
- unused variable 'foo' [loplugin]
Additional check for unused variables.
==== Body of if/while/for not in {} ====
- statement aligned as second statement in if/while/for body but not in a statement block [loplugin]
Warn about the following construct:
if( a != 0 )
b = 2;
c = 3;
Here either both statements should be inside {} or the second statement in indented wrong.
==== Sal log areas ====
- unknown log area 'foo' (check or extend sal/inc/sal/log-areas.dox) [loplugin]
Check area used in SAL_INFO/SAL_WARN macros against the list in sal/inc/sal/log-areas.dox and
report if the area is not listed there. The fix is either use a proper area or add it to the list
if appropriate.
=== Rewriters === === Rewriters ===
Rewriters analyse and possibly modify given source files. Rewriters analyse and possibly modify given source files.
Usage: make COMPILER_PLUGIN_TOOL=<rewriter_name> Usage: make COMPILER_PLUGIN_TOOL=<rewriter_name>
Modifications will be written directly to the source files. Modifications will be written directly to the source files.
== Code documentation / howtos == == Code documentation / howtos ==
TBD TBD
...@@ -21,6 +21,14 @@ This is a compile check. ...@@ -21,6 +21,14 @@ This is a compile check.
Check for two statements that are both indented to look like a body of if/while/for Check for two statements that are both indented to look like a body of if/while/for
but are not inside a compound statement and thus the second one is unrelated. but are not inside a compound statement and thus the second one is unrelated.
For example:
if( a != 0 )
b = 2;
c = 3;
Here either both statements should be inside {} or the second statement in indented wrong.
*/ */
BodyNotInBlock::BodyNotInBlock( ASTContext& context ) BodyNotInBlock::BodyNotInBlock( ASTContext& context )
......
...@@ -15,6 +15,9 @@ ...@@ -15,6 +15,9 @@
#include "pluginhandler.hxx" #include "pluginhandler.hxx"
/*
Base classes for plugin actions.
*/
namespace loplugin namespace loplugin
{ {
......
...@@ -16,6 +16,10 @@ ...@@ -16,6 +16,10 @@
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
/*
This source file manages all plugin actions. It is not necessary to modify this
file when adding new actions.
*/
namespace loplugin namespace loplugin
{ {
......
...@@ -13,6 +13,12 @@ ...@@ -13,6 +13,12 @@
#include <clang/AST/ASTContext.h> #include <clang/AST/ASTContext.h>
#include <clang/Basic/SourceManager.h> #include <clang/Basic/SourceManager.h>
/*
This is a rewriter.
Change all postfix ++ operators of non-trivial types to prefix if possible.
*/
namespace loplugin namespace loplugin
{ {
......
...@@ -22,7 +22,9 @@ namespace loplugin ...@@ -22,7 +22,9 @@ namespace loplugin
/* /*
This is a compile check. This is a compile check.
Check that areas used in SAL_LOG/SAL_WARN are listed in sal/inc/sal/log-areas.dox . Check area used in SAL_INFO/SAL_WARN macros against the list in sal/inc/sal/log-areas.dox and
report if the area is not listed there. The fix is either use a proper area or add it to the list
if appropriate.
*/ */
SalLogAreas::SalLogAreas( ASTContext& context ) SalLogAreas::SalLogAreas( ASTContext& context )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment