utf: module ast
[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  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 #include "AnalysisVisitor.hxx"
14
15 namespace analysis
16 {
17
18 void AnalysisVisitor::visit(ast::VarDec & e)
19 {
20     // VarDec is only used in For loop for iterator declaration
21     logger.log("VarDec", e.getLocation());
22     const symbol::Symbol & sym = e.getSymbol();
23     if (e.getInit().isListExp())
24     {
25         ast::ListExp & le = static_cast<ast::ListExp &>(e.getInit());
26         //e.setListInfo(ForList64());
27         le.accept(*this);
28         Result & res = getResult();
29         Info & info = dm.define(sym, res.getType(), res.isAnInt(), &e);
30         info.setRange(res.getRange());
31         e.getDecorator().res = res;
32     }
33 }
34
35 } // namespace analysis