Les instructions Pragma sont utilisées pour décider si le code source doit être pris en compte dans l'analyse de code.
Les listes de blocage, elles, permettent d'exclure des éléments une fois l'analyse exécutée. L'effet obtenu est identique.
Avec des instructions Pragma, vous pouvez :
marquer les éléments du code source (fonctions, programmes, blocs fonction, variables, etc.) à ignorer lors de l'analyse du code (cas d'utilisation 1) ;
marquer les éléments du code source qui seront filtrés dans les résultats du
/ ou dans la (cas d'utilisation 2).Voir également le chapitre BlockList.
Le code qui ne doit pas être analysé peut être marqué à l'aide de l'instruction Pragma ignore
. Les éléments ainsi marqués ne sont pas inclus dans le modèle de données d'analyse.
Attribut |
Description |
---|---|
|
|
|
|
Le code non modifiable qui apparaît dans les résultats associés aux conventions et/ou aux métriques peut être marqué afin d'être masqué dans ces listes.
Attribut |
Description |
---|---|
|
|
|
|
|
|
|
|
Ignorer une variable publique
METHOD PUBLIC PublicMethod
VAR_INPUT
{attribute 'code_analyzer' := 'ignore'}
i_iPublicButIgnoredVar: INT;
i_iPublicVar2: INT;
END_VAR
VAR
iPrivateVar2: INT;
END_VAR
Tenir compte des éléments publics uniquement
{attribute 'code_analyzer' := 'public_only'}
FUNCTION_BLOCK FB_PublicOnlyTest1
VAR_INPUT
i_iPublicVar: INT;
END_VAR
VAR
iPrivateVar: INT;
END_VAR
Filtrer (un POU) dans les résultats
{attribute 'code_analysis_ui' := 'filter_in_results'}
PROGRAM SR_FilterInResultsTest1
VAR
END_VAR
Filtrer (une variable) dans les résultats associés aux métriques et/ou aux conventions
PROGRAM SR_FilterVars
VAR
{attribute 'code_analysis_ui' := 'filter_in_metrics'}
iTestVar1: INT;
{attribute 'code_analysis_ui' := 'filter_in_results'}
iTestVar2: INT;
{attribute 'code_analysis_ui' := 'filter_in_conventions'}
FAILED_iTestVar3: INT;
END_VAR