2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2014 - Scilab Enterpprises - Cedric Delamarre
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
13 #ifndef __EXPHISTORY_HXX__
14 #define __EXPHISTORY_HXX__
20 #include "simplevar.hxx"
26 ExpHistory(ExpHistory*, ast::SimpleVar*);
27 ExpHistory(ExpHistory*, types::typed_list*);
28 ExpHistory(ExpHistory*, ast::SimpleVar*, types::typed_list*, int, bool, types::InternalType*);
33 void setExp(ast::SimpleVar*);
34 ast::SimpleVar* getExp();
35 std::wstring getExpAsString();
37 // arguments x of a(x)
38 void setArgs(types::typed_list*);
39 types::typed_list* getArgs();
40 int getSizeFromArgs();
42 int* getArgsDimsArray();
45 void setArgsOwner(bool);
46 void setExpOwner(bool);
48 // current InternalType a
49 bool setCurrent(types::InternalType*);
50 types::InternalType* getCurrent();
53 ExpHistory* getParent();
55 // use to know if we have to reinsert current in there parent and where
56 void setReinsertion();
57 void resetReinsertion();
59 int getWhereReinsert();
60 void setWhereReinsert(int);
62 // use to know where we are in expression
66 // management of expression a(x) or a{x}
74 types::typed_list* m_pArgs;
75 int* m_piArgsDimsArray;
78 ast::SimpleVar* m_pExp;
79 ExpHistory* m_pParent;
80 types::InternalType* m_pITCurrent;
91 #endif /* __EXPHISTORY_HXX__ */