6526d1676b
Pos objects are somewhat wasteful as they duplicate the origin file name and input type for each object. on files that produce more than one Pos when parsed this a sizeable waste of memory (one pointer per Pos). the same goes for ptr<Pos> on 64 bit machines: parsing enough source to require 8 bytes to locate a position would need at least 8GB of input and 64GB of expression memory. it's not likely that we'll hit that any time soon, so we can use a uint32_t index to locate positions instead.
14 lines
251 B
C++
14 lines
251 B
C++
#pragma once
|
|
|
|
#include "nixexpr.hh"
|
|
#include "eval.hh"
|
|
|
|
#include <string>
|
|
#include <map>
|
|
|
|
namespace nix {
|
|
|
|
void printValueAsXML(EvalState & state, bool strict, bool location,
|
|
Value & v, std::ostream & out, PathSet & context, const PosIdx pos);
|
|
|
|
}
|