diff options
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/eval.hh | 14 | ||||
-rw-r--r-- | src/libexpr/nixexpr.hh | 3 | ||||
-rw-r--r-- | src/libexpr/parser.y | 2 | ||||
-rw-r--r-- | src/libexpr/value.hh | 4 |
4 files changed, 11 insertions, 12 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh index 45ab423c1..5ae5a1e3c 100644 --- a/src/libexpr/eval.hh +++ b/src/libexpr/eval.hh @@ -82,8 +82,6 @@ void copyContext(const Value & v, PathSet & context); paths. */ typedef std::map<Path, Path> SrcToStore; -struct EvalState; - std::ostream & operator << (std::ostream & str, const Value & v); @@ -216,9 +214,9 @@ private: inline Value * lookupVar(Env * env, const ExprVar & var, bool noEval); - friend class ExprVar; - friend class ExprAttrs; - friend class ExprLet; + friend struct ExprVar; + friend struct ExprAttrs; + friend struct ExprLet; Expr * parse(const char * text, const Path & path, const Path & basePath, StaticEnv & staticEnv); @@ -278,9 +276,9 @@ private: typedef std::map<Pos, unsigned int> AttrSelects; AttrSelects attrSelects; - friend class ExprOpUpdate; - friend class ExprOpConcatLists; - friend class ExprSelect; + friend struct ExprOpUpdate; + friend struct ExprOpConcatLists; + friend struct ExprSelect; friend void prim_getAttr(EvalState & state, Value * * args, Value & v); }; diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh index bc6993477..7586fffb8 100644 --- a/src/libexpr/nixexpr.hh +++ b/src/libexpr/nixexpr.hh @@ -48,7 +48,7 @@ std::ostream & operator << (std::ostream & str, const Pos & pos); struct Env; struct Value; -struct EvalState; +class EvalState; struct StaticEnv; struct Expr; @@ -71,6 +71,7 @@ string showAttrPath(const AttrPath & attrPath); struct Expr { + virtual ~Expr() { }; virtual void show(std::ostream & str); virtual void bindVars(const StaticEnv & env); virtual void eval(EvalState & state, Env & env, Value & v); diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index d89d92c7a..8a084fea0 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -252,7 +252,7 @@ void yyerror(YYLTYPE * loc, yyscan_t scanner, ParseData * data, const char * err nix::Formals * formals; nix::Formal * formal; nix::NixInt n; - char * id; // !!! -> Symbol + const char * id; // !!! -> Symbol char * path; char * uri; std::vector<nix::AttrName> * attrNames; diff --git a/src/libexpr/value.hh b/src/libexpr/value.hh index 982582793..2feb2f949 100644 --- a/src/libexpr/value.hh +++ b/src/libexpr/value.hh @@ -22,13 +22,13 @@ typedef enum { } ValueType; -struct Bindings; +class Bindings; struct Env; struct Expr; struct ExprLambda; struct PrimOp; struct PrimOp; -struct Symbol; +class Symbol; typedef long NixInt; |