Commit ad4907f3 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

XlsFormat - DefinedNames - анализ некорректных диапазонов, запись неверного...

XlsFormat - DefinedNames - анализ некорректных диапазонов, запись неверного (оригинального) значения в Comment DefineNames
Xlst - протащен DefineNames:Comment 

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@68937 954022d7-b5bf-4e40-9824-e11837661b57
parent 91e48f67
......@@ -642,7 +642,7 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita
return L"#REF!";
}
static boost::wregex correct_sheet_name(L"^\\'.+?\\'$");
static boost::wregex test_sheet_name(L"[\\s\\':.]+");
static boost::wregex test_sheet_name(L"[\\s\\':.-]+");
std::wstring sheet_first = tab2sheet_name(itabFirst, sheets_names);
if(!boost::regex_search(sheet_first.begin(), sheet_first.end(), correct_sheet_name))
......@@ -673,14 +673,17 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita
return sheet_first + sheet_last;
}
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed)
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed, bool full_ref)
{
std::wstring sheets_prefix = xti2sheets(ixti, xti_parsed);
if(L"#REF!" == sheets_prefix)
{
return sheets_prefix;
}
else if (!sheets_prefix.empty()) sheets_prefix += L"!";
else if (!sheets_prefix.empty()) sheets_prefix += L"!";
else if (sheets_prefix.empty() && full_ref) sheets_prefix += L"#REF!";
return sheets_prefix + cell_ref;
}
......
......@@ -67,7 +67,7 @@ namespace XMLSTUFF
// Makes a new tag and append it to parent (no attributes set)
//BiffStructurePtr createElement(const std::wstring & tag_name, BiffStructurePtr & parent);
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed);
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed, bool full_ref = false);
//const unsigned short sheetsnames2ixti(const std::wstring str, MSXML2::IXMLDOMDocumentPtr doc);
const std::wstring xti_indexes2sheet_name(const short itabFirst, const short itabLast, std::vector<std::wstring>& sheets_names);
......
......@@ -50,7 +50,7 @@ void ExtPtgArea3D::load(CFRecord& record)
}
void ExtPtgArea3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void ExtPtgArea3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
#pragma message("####################### ExtPtgArea3D record is not implemented")
Log::info("ExtPtgArea3D record is not implemented.");
......
......@@ -19,7 +19,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs;
RgceAreaRel area;
......
......@@ -44,7 +44,7 @@ void ExtPtgAreaErr3D::load(CFRecord& record)
}
void ExtPtgAreaErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void ExtPtgAreaErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
#pragma message("####################### ExtPtgAreaErr3D record is not implemented")
Log::info("ExtPtgAreaErr3D record is not implemented.");
......
......@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs;
};
......
......@@ -24,7 +24,7 @@ void ExtPtgErr::load(CFRecord& record)
}
void ExtPtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void ExtPtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(err.toString());
}
......
......@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
BErr err;
};
......
......@@ -29,7 +29,7 @@ void ExtPtgRef3D::load(CFRecord& record)
}
void ExtPtgRef3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void ExtPtgRef3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref )
{
#pragma message("####################### ExtPtgRef3D record is not implemented")
Log::info("ExtPtgRef3D record is not implemented.");
......
......@@ -18,7 +18,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs;
RgceLocRel loc;
......
......@@ -27,7 +27,7 @@ void ExtPtgRefErr3D::load(CFRecord& record)
}
void ExtPtgRefErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void ExtPtgRefErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
#pragma message("####################### ExtPtgRefErr3D record is not implemented")
Log::info("ExtPtgRefErr3D record is not implemented.");
......
......@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs;
};
......
......@@ -24,7 +24,7 @@ class BOperatorPtg_T: public OperatorPtg
public:
BOperatorPtg_T() : OperatorPtg(fixedPtgId) {};
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{
std::wstring operand2(ptg_stack.top());
ptg_stack.pop();
......@@ -41,7 +41,7 @@ class UOperatorPtg_T: public OperatorPtg
{
public:
UOperatorPtg_T() : OperatorPtg(fixedType) {};
void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{
ptg_stack.top() = T::getSymbols() + ptg_stack.top();
};
......@@ -302,7 +302,7 @@ public:
static const std::wstring symbols(L"%");
return symbols;
}
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{
ptg_stack.top() += getOperatorSymbols();
};
......
......@@ -40,7 +40,7 @@ const bool ParsedFormula::HasPtgTbl() const
}
const std::wstring ParsedFormula::getAssembledFormula() const
const std::wstring ParsedFormula::getAssembledFormula(bool full_ref) const
{
const PtgVector& ptgs = rgce.getPtgs();
if(ptgs.empty())
......@@ -51,7 +51,7 @@ const std::wstring ParsedFormula::getAssembledFormula() const
PtgQueue extra_data = rgcb.getPtgs();
for(PtgVectorIterator it = ptgs.begin(), itEnd = ptgs.end(); it != itEnd; ++it)
{
(*it)->assemble(ptg_stack, extra_data);
(*it)->assemble(ptg_stack, extra_data, full_ref);
}
if(1 != ptg_stack.size())
{
......
......@@ -19,7 +19,7 @@ public:
const bool HasPtgTbl() const;
const std::wstring getAssembledFormula() const;
const std::wstring getAssembledFormula(bool full_names = false) const;
static const ElementType type = typeParsedFormula;
......
#include "Ptg.h"
#include <Binary/CFRecord.h>
//#include <Exception/UnexpectedProgramPath.h>
namespace XLS
......@@ -11,43 +10,36 @@ Ptg::Ptg()
{
}
Ptg::Ptg(const unsigned short ptg_id_init)
: ptg_id(ptg_id_init)
{
}
const unsigned short Ptg::getPtgId() const
{
return ptg_id.get_value_or(0);
}
const size_t Ptg::getOffsetInRecord() const
{
return offset_in_record.get_value_or(0);
}
const size_t Ptg::getSizeOfStruct() const
{
return size_of_struct.get_value_or(0);
}
void Ptg::addFuncWrapper(AssemblerStack& ptg_stack, const std::wstring& func_name)
{
ptg_stack.top() = func_name + L'(' + ptg_stack.top() + L')';
}
void Ptg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void Ptg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
}
void Ptg::store(CFRecord& record)
{
offset_in_record = record.getDataSize();
......
......@@ -39,7 +39,7 @@ public:
const size_t getOffsetInRecord() const;
const size_t getSizeOfStruct() const;
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
_CP_OPT(unsigned short) ptg_id;
_CP_OPT(size_t) offset_in_record;
......
......@@ -44,7 +44,7 @@ void PtgArea::loadFields(CFRecord& record)
}
void PtgArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
RgceArea range(area);
if(!ptg_stack.empty())
......
......@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x05;
......
......@@ -46,7 +46,7 @@ void PtgArea3d::loadFields(CFRecord& record)
}
void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
......@@ -60,7 +60,7 @@ void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
std::wstring range_ref = area.toString();
ptg_stack.push(XMLSTUFF::make3dRef(ixti, range_ref, global_info->xti_parsed));
ptg_stack.push(XMLSTUFF::make3dRef(ixti, range_ref, global_info->xti_parsed, full_ref));
}
......
......@@ -21,7 +21,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1B;
unsigned short ixti;
......
......@@ -35,7 +35,7 @@ void PtgAreaErr::loadFields(CFRecord& record)
}
void PtgAreaErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAreaErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
if(!ptg_stack.empty() && 0 == ptg_stack.top().find(L"#PtgElfRadical"))
{
......
......@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
virtual const unsigned short getPtgId() const { return id_fixed | (static_cast<unsigned char>(data_type) << 5);}
......
......@@ -28,7 +28,7 @@ void PtgAreaErr3d::loadFields(CFRecord& record)
}
void PtgAreaErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAreaErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short ixti;
GlobalWorkbookInfoPtr global_info;
......
......@@ -27,13 +27,6 @@ BiffStructurePtr PtgAreaN::clone()
return BiffStructurePtr(new PtgAreaN(*this));
}
//void PtgAreaN::setXMLAttributes(BiffStructurePtr & xml_tag)
//{
// (area + cell_base_ref).toXML(xml_tag);
//}
void PtgAreaN::storeFields(CFRecord& record)
{
record << area;
......@@ -46,7 +39,7 @@ void PtgAreaN::loadFields(CFRecord& record)
}
void PtgAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push((area + cell_base_ref).toString());
}
......
......@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x0D;
......
......@@ -36,7 +36,7 @@ void PtgArray::loadFields(CFRecord& record)
}
void PtgArray::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgArray::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
std::wstring array_string;
......
......@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x00;
};
......
......@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrBaxcel::clone()
return BiffStructurePtr(new PtgAttrBaxcel(*this));
}
//
//void PtgAttrBaxcel::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"bitSemi", bitSemi);
//}
void PtgAttrBaxcel::storeFields(CFRecord& record)
{
record.reserveNunBytes(2); // unused
......@@ -31,7 +24,7 @@ void PtgAttrBaxcel::loadFields(CFRecord& record)
}
void PtgAttrBaxcel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_datat)
void PtgAttrBaxcel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// volatile property is not seen in the textual form
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
bool bitSemi;
};
......
......@@ -11,19 +11,6 @@ BiffStructurePtr PtgAttrChoose::clone()
return BiffStructurePtr(new PtgAttrChoose(*this));
}
//void PtgAttrChoose::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cOffset", cOffset);
//
// for(size_t i = 0; i < rgOffset.size(); ++i)
// {
// MSXML2::IXMLDOMElementPtr own_tag2 = XMLSTUFF::createElement(L"offset", xml_tag);
// own_tag2->Puttext(STR::int2str(rgOffset[i], 10).c_str());
// }
//}
void PtgAttrChoose::storeFields(CFRecord& record)
{
#pragma message("####################### PtgAttrChoose record has no BiffStructure::store() implemented")
......@@ -44,9 +31,8 @@ void PtgAttrChoose::loadFields(CFRecord& record)
}
void PtgAttrChoose::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrChoose::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// All control tokens shall be skipped
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short cOffset;
std::vector<unsigned short> rgOffset;
......
......@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrGoto::clone()
return BiffStructurePtr(new PtgAttrGoto(*this));
}
//void PtgAttrGoto::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"offset", offset);
//}
void PtgAttrGoto::storeFields(CFRecord& record)
{
record << offset;
......@@ -30,9 +23,8 @@ void PtgAttrGoto::loadFields(CFRecord& record)
}
void PtgAttrGoto::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrGoto::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// All control tokens shall be skipped
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short offset;
};
......
......@@ -11,12 +11,6 @@ BiffStructurePtr PtgAttrIf::clone()
return BiffStructurePtr(new PtgAttrIf(*this));
}
//
//void PtgAttrIf::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"offset", offset);
//}
void PtgAttrIf::storeFields(CFRecord& record)
{
......@@ -30,9 +24,8 @@ void PtgAttrIf::loadFields(CFRecord& record)
}
void PtgAttrIf::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrIf::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// All control tokens shall be skipped
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short offset;
};
......
......@@ -24,7 +24,7 @@ void PtgAttrSemi::loadFields(CFRecord& record)
}
void PtgAttrSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// volatile property is not seen in the textual form
}
......
......@@ -15,7 +15,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
......
......@@ -24,9 +24,8 @@ void PtgAttrSpace::loadFields(CFRecord& record)
}
void PtgAttrSpace::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrSpace::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// Display token, that shall be skipped
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
......
......@@ -24,9 +24,8 @@ void PtgAttrSpaceSemi::loadFields(CFRecord& record)
}
void PtgAttrSpaceSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrSpaceSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// Display token that shall be skipped
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
} // namespace XLS
......
......@@ -24,7 +24,7 @@ void PtgAttrSum::loadFields(CFRecord& record)
}
void PtgAttrSum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgAttrSum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
addFuncWrapper(ptg_stack, L"SUM");
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1019;
};
......
......@@ -58,7 +58,7 @@ void PtgBool::loadFields(CFRecord& record)
}
void PtgBool::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgBool::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(boolean_ ? L"TRUE" : L"FALSE");
}
......
......@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1D;
......
......@@ -31,7 +31,7 @@ void PtgElfCol::loadFields(CFRecord& record)
}
void PtgElfCol::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfCol::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString());
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
RgceElfLoc loc;
......
......@@ -25,7 +25,7 @@ void PtgElfColS::loadFields(CFRecord& record)
}
void PtgElfColS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfColS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
PtgExtraElfPtr range;
Log::message("PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!!");
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
......
......@@ -25,7 +25,7 @@ void PtgElfColSV::loadFields(CFRecord& record)
}
void PtgElfColSV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfColSV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
PtgExtraElfPtr range;
Log::message("PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!!");
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
......
......@@ -31,7 +31,7 @@ void PtgElfColV::loadFields(CFRecord& record)
}
void PtgElfColV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfColV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString());
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
RgceElfLoc loc;
......
......@@ -35,7 +35,7 @@ void PtgElfLel::loadFields(CFRecord& record)
}
void PtgElfLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(L"#NAME?"); // The best decision I think
}
......
......@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
Ilel ilel;
......
......@@ -31,7 +31,7 @@ void PtgElfRadical::loadFields(CFRecord& record)
}
void PtgElfRadical::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfRadical::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// The significant tag follows (PtgArea or PtgAreaErr)
PtgParam param(PtgParam::ptELF_RADICAL, L"");
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
RgceElfLoc loc;
......
......@@ -35,7 +35,7 @@ void PtgElfRadicalLel::loadFields(CFRecord& record)
}
void PtgElfRadicalLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfRadicalLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// The significant tag follows (PtgArea or PtgAreaErr)
}
......
......@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
Ilel ilel;
......
......@@ -24,7 +24,7 @@ void PtgElfRadicalS::loadFields(CFRecord& record)
}
void PtgElfRadicalS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfRadicalS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// The significant tag follows (PtgArea or PtgAreaErr)
}
......
......@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
};
......
......@@ -31,7 +31,7 @@ void PtgElfRw::loadFields(CFRecord& record)
}
void PtgElfRw::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfRw::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString());
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
RgceElfLoc loc;
......
......@@ -31,7 +31,7 @@ void PtgElfRwV::loadFields(CFRecord& record)
}
void PtgElfRwV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgElfRwV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString());
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
RgceElfLoc loc;
......
......@@ -42,7 +42,7 @@ void PtgErr::loadFields(CFRecord& record)
}
void PtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(err.toString());
}
......
......@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1C;
......
......@@ -18,21 +18,6 @@ BiffStructurePtr PtgExp::clone()
return BiffStructurePtr(new PtgExp(*this));
}
//
//void PtgExp::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"ref", RgceLoc(row, col, true, true).toString().c_str());
//}
//
//
//void PtgExp::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// std::wstring cell_ref = getStructAttribute(xml_tag, L"ref");
// RgceLoc location(cell_ref);
// row = static_cast<unsigned short>(location.getRow());
// col = static_cast<unsigned short>(location.getColumn());
//}
void PtgExp::storeFields(CFRecord& record)
{
......@@ -46,7 +31,7 @@ void PtgExp::loadFields(CFRecord& record)
}
void PtgExp::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgExp::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// The reference coordinates shall be obtained from row/column values.
// No textual form need but the empty line.
......
......@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x01;
......
......@@ -23,12 +23,6 @@ BiffStructurePtr PtgFunc::clone()
return BiffStructurePtr(new PtgFunc(*this));
}
//
//void PtgFunc::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// iftab.toXML(xml_tag);
//}
void PtgFunc::storeFields(CFRecord& record)
{
......@@ -42,7 +36,7 @@ void PtgFunc::loadFields(CFRecord& record)
}
void PtgFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
int num_params = iftab.getParamsNum();
std::wstring arguments;
......
......@@ -22,7 +22,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
const int getParametersNum() const;
......
......@@ -23,14 +23,6 @@ BiffStructurePtr PtgFuncVar::clone()
return BiffStructurePtr(new PtgFuncVar(*this));
}
//
//void PtgFuncVar::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cparams", cparams);
// xml_tag->setAttribute(L"fCeFunc", fCeFunc);
// tab.toXML(xml_tag);
//}
//
void PtgFuncVar::storeFields(CFRecord& record)
{
......@@ -47,7 +39,7 @@ void PtgFuncVar::loadFields(CFRecord& record)
}
void PtgFuncVar::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgFuncVar::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
std::wstring arguments;
std::wstring func_name = tab.getFuncName();
......
......@@ -23,7 +23,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
void setParamsNum(const unsigned char num);
......
......@@ -47,7 +47,7 @@ void PtgInt::loadFields(CFRecord& record)
}
void PtgInt::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgInt::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(STR::int2wstr(integer));
}
......
......@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1E;
......
......@@ -13,12 +13,6 @@ BiffStructurePtr PtgMemArea::clone()
}
//void PtgMemArea::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemArea::storeFields(CFRecord& record)
{
#pragma message("####################### PtgMemArea record has no BiffStructure::store() implemented")
......@@ -34,7 +28,7 @@ void PtgMemArea::loadFields(CFRecord& record)
}
void PtgMemArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
PtgExtraMemPtr range;
if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front())))
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
unsigned short cce;
......
......@@ -31,7 +31,7 @@ void PtgMemAreaN::loadFields(CFRecord& record)
}
void PtgMemAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
PtgExtraMemPtr range;
if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front())))
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
unsigned short cce;
......
......@@ -35,7 +35,7 @@ void PtgMemErr::loadFields(CFRecord& record)
}
void PtgMemErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
//ptg_stack.push("#CACHE(" + STR::int2str(getOffsetInRecord() + getSizeOfStruct() + cce, 10) + ")!" + err.toString());
}
......
......@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
BErr err;
......
......@@ -11,13 +11,6 @@ BiffStructurePtr PtgMemFunc::clone()
return BiffStructurePtr(new PtgMemFunc(*this));
}
//void PtgMemFunc::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemFunc::storeFields(CFRecord& record)
{
record << cce;
......@@ -30,7 +23,7 @@ void PtgMemFunc::loadFields(CFRecord& record)
}
void PtgMemFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// no textual form
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
unsigned short cce;
......
......@@ -12,12 +12,6 @@ BiffStructurePtr PtgMemNoMem::clone()
}
//void PtgMemNoMem::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemNoMem::storeFields(CFRecord& record)
{
record.reserveNunBytes(4); // unused
......@@ -32,9 +26,8 @@ void PtgMemNoMem::loadFields(CFRecord& record)
}
void PtgMemNoMem::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemNoMem::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// I assume it doesn't generate an error.
}
......
......@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
unsigned short cce;
......
......@@ -30,9 +30,8 @@ void PtgMemNoMemN::load(CFRecord& record)
}
void PtgMemNoMemN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMemNoMemN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
// I assume it doesn't generate an error.
}
......
......@@ -16,7 +16,7 @@ public:
virtual void load(CFRecord& record);
virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private:
unsigned char type1;
......
......@@ -18,7 +18,7 @@ BiffStructurePtr PtgMissArg::clone()
}
void PtgMissArg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgMissArg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(L"");
}
......
......@@ -12,7 +12,7 @@ public:
PtgMissArg();
BiffStructurePtr clone();
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x16;
};
......
......@@ -39,7 +39,7 @@ void PtgName::loadFields(CFRecord& record)
}
void PtgName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
RevNameTabidPtr tab_id;
if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevNameTabid>(extra_data.front())))
......
......@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x03;
......
......@@ -38,7 +38,7 @@ void PtgNameX::loadFields(CFRecord& record)
}
void PtgNameX::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgNameX::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
RevNamePtr tab_id;
if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevName>(extra_data.front())))
......
......@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x19;
......
......@@ -47,7 +47,7 @@ void PtgNum::loadFields(CFRecord& record)
}
void PtgNum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgNum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(STR::double2str(value_));
}
......
......@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1F;
......
......@@ -19,7 +19,7 @@ BiffStructurePtr PtgParen::clone()
}
void PtgParen::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgParen::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.top() = L'(' + ptg_stack.top() + L')';
}
......
......@@ -14,7 +14,7 @@ public:
PtgParen();
BiffStructurePtr clone();
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x15;
void incrementParametersNum();
......
......@@ -42,7 +42,7 @@ void PtgRef::loadFields(CFRecord& record)
record >> loc;
}
void PtgRef::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
void PtgRef::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
ptg_stack.push(loc.toString());
}
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment