Example #1
0
void PtgElfColSV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
	PtgExtraElfPtr range;
	Log::message("PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!!");
	if(extra_data.empty() && !(range = boost::dynamic_pointer_cast<PtgExtraElf>(extra_data.front())))
	{
		Log::error("PtgExtraElf must follow the corresponding PtgElfColS.");
		ptg_stack.push(L"#REF!");
		return;
	}
	ptg_stack.push(range->toColumnsSet());
	extra_data.pop();
}
Example #2
0
void PtgArray::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{
	std::wstring array_string;

	PtgExtraArrayPtr extra_array;

	if(!extra_data.empty() && (extra_array = boost::dynamic_pointer_cast<PtgExtraArray>(extra_data.front())))
	{
		array_string = L"{" + extra_array->toString() + L"}";
		extra_data.pop();
	}

	ptg_stack.push(array_string);
}
Example #3
0
void PtgRefErr3d::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())))
	{
		Log::info("PtgRefErr3d struct for revisions is not assemble.");

		ptg_stack.push(L"");
		extra_data.pop();
		return;
	}

	if (ixti != 0xffff)
	{
		std::wstring link = global_info->arXti_External[ixti].link;
		if (!link.empty()) 
			link += L"!";
		
		ptg_stack.push(link + L"#REF!"); // full_ref ???
	}
}