about summary refs log blame commit diff
path: root/third_party/nix/src/libexpr/common-eval-args.hh
blob: 5e0e8af79cbe83c4c0df08db6bda0b0412dba046 (plain) (tree)
1
2
3
4
5
6
7
8
9

            
                          




                
               
 

                                              

                                   
 
                                                          
 
                     
 
         
                                                                    

  
                                                    
 
                   
#pragma once

#include "libutil/args.hh"

namespace nix {

class Store;
class EvalState;
class Bindings;

enum ArgType { kArgTypeString, kArgTypeExpr };

struct MixEvalArgs : virtual Args {
  MixEvalArgs();

  std::unique_ptr<Bindings> getAutoArgs(EvalState& state);

  Strings searchPath;

 private:
  std::map<std::string, std::pair<ArgType, std::string>> auto_args_;
};

Path lookupFileArg(EvalState& state, std::string s);

}  // namespace nix