Merge remote-tracking branch 'origin/master' into windows
[scilab.git] / scilab / modules / slint / includes / checkers / GlobalKeywordChecker.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2015 - Scilab Enterprises - Calixte DENIZET
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #ifndef __SLINT_GLOBAL_KEYWORD_CHECKER_HXX__
17 #define __SLINT_GLOBAL_KEYWORD_CHECKER_HXX__
18
19 #include "SLintChecker.hxx"
20
21 namespace slint
22 {
23
24 /**
25  * Check for global keyword
26  */
27 class GlobalKeywordChecker : public SLintChecker
28 {
29
30 public:
31
32     GlobalKeywordChecker(const std::string & checkerId) : SLintChecker(checkerId) { }
33     ~GlobalKeywordChecker() { }
34
35     void preCheckNode(const ast::Exp & e, SLintContext & context, SLintResult & result);
36     void postCheckNode(const ast::Exp & e, SLintContext & context, SLintResult & result);
37     const std::string getName() const;
38
39     virtual const std::vector<ast::Exp::ExpType> getAstNodes() const
40     {
41         return { ast::Exp::CALLEXP };
42     }
43
44 };
45
46 } // namespace slint
47
48 #endif // __SLINT_GLOBAL_KEYWORD_CHECKER_HXX__