fixed: compile error in item.h (in CacheFunctions)
fixed: Pattern::ClearCache() was missing git-svn-id: svn://ttmath.org/publicrep/ezc/trunk@973 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
00f8af232b
commit
ad2fb11a5c
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2007-2010, Tomasz Sowa
|
Copyright (c) 2007-2014, Tomasz Sowa
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -164,7 +164,10 @@ Item::~Item()
|
||||||
void Item::ClearCache()
|
void Item::ClearCache()
|
||||||
{
|
{
|
||||||
for(size_t f = 0; f < functions.size() ; ++f)
|
for(size_t f = 0; f < functions.size() ; ++f)
|
||||||
functions[f].fun_cache = 0;
|
{
|
||||||
|
functions[f].fun_cache = 0;
|
||||||
|
functions[f].item_block = 0;
|
||||||
|
}
|
||||||
|
|
||||||
for(size_t i = 0; i < item_tab.size() ; ++i)
|
for(size_t i = 0; i < item_tab.size() ; ++i)
|
||||||
item_tab[i]->ClearCache();
|
item_tab[i]->ClearCache();
|
||||||
|
|
11
src/item.h
11
src/item.h
|
@ -157,6 +157,10 @@ template<class StreamType>
|
||||||
void Item::CacheFunctions(Functions<StreamType> & fun)
|
void Item::CacheFunctions(Functions<StreamType> & fun)
|
||||||
{
|
{
|
||||||
// one exception (if_index is putting its argument on the functions stack)
|
// one exception (if_index is putting its argument on the functions stack)
|
||||||
|
/*
|
||||||
|
* IMPROVE ME
|
||||||
|
* and now we have [0] [1] too...
|
||||||
|
*/
|
||||||
if( type != Item::item_ifindex )
|
if( type != Item::item_ifindex )
|
||||||
{
|
{
|
||||||
for(size_t f=0; f < functions.size() ; ++f)
|
for(size_t f=0; f < functions.size() ; ++f)
|
||||||
|
@ -165,13 +169,14 @@ void Item::CacheFunctions(Functions<StreamType> & fun)
|
||||||
|
|
||||||
if( i != fun.End() )
|
if( i != fun.End() )
|
||||||
{
|
{
|
||||||
functions[f].fun_cache = i->second;
|
functions[f].fun_cache = &i->second;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
functions[f].fun_cache = 0;
|
functions[f].fun_cache = 0;
|
||||||
// teraz chyba nie trzeba tego logowac
|
// !! CHECK ME
|
||||||
// bo mamy zmienne i identyfikator moze byc znaleziony w runtime
|
// now probably we don't have to log these
|
||||||
|
// because we've got variables and an identifier can be found at runtime
|
||||||
// #ifdef EZC_USE_WINIX_LOGGER
|
// #ifdef EZC_USE_WINIX_LOGGER
|
||||||
// Winix::log << Winix::log1 << "Ezc: unknown function: " << item.functions[f].name << Winix::logend;
|
// Winix::log << Winix::log1 << "Ezc: unknown function: " << item.functions[f].name << Winix::logend;
|
||||||
// #endif
|
// #endif
|
||||||
|
|
|
@ -95,8 +95,6 @@ void Pattern::SetCommentary(const std::wstring & com_start, const std::wstring &
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Pattern::CreateMsg(std::wstring & out, const wchar_t * type, const wchar_t * arg)
|
void Pattern::CreateMsg(std::wstring & out, const wchar_t * type, const wchar_t * arg)
|
||||||
{
|
{
|
||||||
out = commentary_start;
|
out = commentary_start;
|
||||||
|
@ -114,7 +112,10 @@ void Pattern::CreateMsg(std::wstring & out, const wchar_t * type, const wchar_t
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Pattern::ClearCache()
|
||||||
|
{
|
||||||
|
item_root.ClearCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,13 +55,6 @@ public:
|
||||||
Pattern();
|
Pattern();
|
||||||
|
|
||||||
void Clear();
|
void Clear();
|
||||||
void ClearCache();
|
|
||||||
|
|
||||||
template<class StreamType>
|
|
||||||
void CacheFunctions(Functions<StreamType> & fun)
|
|
||||||
{
|
|
||||||
CacheFunctions(item_root, fun);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetCommentary(const char * com_start, const char * com_stop);
|
void SetCommentary(const char * com_start, const char * com_stop);
|
||||||
void SetCommentary(const std::string & com_start, const std::string & com_stop);
|
void SetCommentary(const std::string & com_start, const std::string & com_stop);
|
||||||
|
@ -70,22 +63,32 @@ public:
|
||||||
|
|
||||||
void CreateMsg(std::wstring & out, const wchar_t * type, const wchar_t * arg = 0);
|
void CreateMsg(std::wstring & out, const wchar_t * type, const wchar_t * arg = 0);
|
||||||
|
|
||||||
|
template<class StreamType>
|
||||||
|
void CacheFunctions(Functions<StreamType> & fun);
|
||||||
|
|
||||||
|
void ClearCache();
|
||||||
|
|
||||||
|
|
||||||
Item item_root;
|
Item item_root;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IMRPOVE ME
|
||||||
|
* they should be moved into PatternParser and Generator
|
||||||
|
*/
|
||||||
std::wstring commentary_start, commentary_stop;
|
std::wstring commentary_start, commentary_stop;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}; // class Pattern
|
}; // class Pattern
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template<class StreamType>
|
||||||
|
void Pattern::CacheFunctions(Functions<StreamType> & fun)
|
||||||
|
{
|
||||||
|
item_root.CacheFunctions(fun);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue