* Bug 14946 fixed: slint() misworked about %s %z and home
[scilab.git] / scilab / modules / slint / src / cpp / SLintChecker.cpp
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 #include "checkers/SLintChecker.hxx"
17
18 namespace slint
19 {
20 std::unordered_set<std::wstring> SLintChecker::constants = SLintChecker::init();
21
22 std::unordered_set<std::wstring> SLintChecker::init()
23 {
24     std::unordered_set<std::wstring> _constants;
25     _constants.emplace(L"%pi");
26     _constants.emplace(L"%eps");
27     _constants.emplace(L"%e");
28     _constants.emplace(L"%i");
29     _constants.emplace(L"%nan");
30     _constants.emplace(L"%inf");
31     _constants.emplace(L"%s");
32     _constants.emplace(L"%z");
33     _constants.emplace(L"%t");
34     _constants.emplace(L"%f");
35     _constants.emplace(L"%T");
36     _constants.emplace(L"%F");
37     _constants.emplace(L"home");
38     _constants.emplace(L"SCI");
39     _constants.emplace(L"WSCI");
40     _constants.emplace(L"SCIHOME");
41     _constants.emplace(L"TMPDIR");
42
43     return _constants;
44 }
45
46 bool SLintChecker::isScilabConstant(const std::wstring & name)
47 {
48     return constants.find(name) != constants.end();
49 }
50
51 void SLintChecker::setData(void * _data)
52 {
53     data = _data;
54 }
55
56 void * SLintChecker::getData() const
57 {
58     return data;
59 }
60
61 bool SLintChecker::isFileChecker() const
62 {
63     return false;
64 }
65
66 void SLintChecker::preCheckFile(SLintContext & context, SLintResult & result)
67 {
68
69 }
70
71 void SLintChecker::postCheckFile(SLintContext & context, SLintResult & result)
72 {
73
74 }
75
76 const std::wstring & SLintChecker::getId() const
77 {
78     return checkerId;
79 }
80
81 const std::wstring SLintChecker::getId(const unsigned sub) const
82 {
83     return sub ? L"" : getId();
84 }
85     
86 }