GPL + CeCILL Header change
[scilab.git] / scilab / modules / ast / src / cpp / analysis / VisitVarDec.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  * === LICENSE_END ===
14  *
15  */
16
17 #include "AnalysisVisitor.hxx"
18
19 namespace analysis
20 {
21
22 void AnalysisVisitor::visit(ast::VarDec & e)
23 {
24     // VarDec is only used in For loop for iterator declaration
25     logger.log(L"VarDec", e.getLocation());
26     const symbol::Symbol & sym = e.getSymbol();
27     if (e.getInit().isListExp())
28     {
29         ast::ListExp & le = static_cast<ast::ListExp &>(e.getInit());
30         //e.setListInfo(ForList64());
31         le.accept(*this);
32         Result & res = getResult();
33         Info & info = dm.define(sym, res.getType(), res.isAnInt(), &e);
34         info.setRange(res.getRange());
35         e.getDecorator().res = res;
36     }
37 }
38
39 } // namespace analysis