nixd
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
nixf::Definition Class Reference

Represents a definition. More...

#include <VariableLookup.h>

Public Types

enum  DefinitionSource {
  DS_With , DS_Let , DS_LambdaArg , DS_LambdaNoArg_Formal ,
  DS_LambdaWithArg_Arg , DS_LambdaWithArg_Formal , DS_Rec , DS_Builtin
}
 "Source" information so we can know where the def comes from. More...
 

Public Member Functions

 Definition (const Node *Syntax, DefinitionSource Source)
 
 Definition (std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)
 
const Nodesyntax () const
 
const std::vector< const ExprVar * > & uses () const
 
DefinitionSource source () const
 
void usedBy (const ExprVar &User)
 
bool isBuiltin () const
 

Detailed Description

Represents a definition.

Definition at line 26 of file VariableLookup.h.

Member Enumeration Documentation

◆ DefinitionSource

"Source" information so we can know where the def comes from.

Enumerator
DS_With 

From with <expr>;.

DS_Let 

From let ... in ...

DS_LambdaArg 

From ambda arg e.g. a: a + 1.

DS_LambdaNoArg_Formal 

From lambda (noarg) formal, e.g. { a }: a + 1.

DS_LambdaWithArg_Arg 

From lambda (with @arg) arg, e.g. a in { foo }@a: foo + 1

DS_LambdaWithArg_Formal 

From lambda (with @arg) formal, e.g. foo in { foo }@a: foo + 1

DS_Rec 

From recursive attribute set. e.g. rec { }.

DS_Builtin 

Builtin names.

Definition at line 29 of file VariableLookup.h.

Constructor & Destructor Documentation

◆ Definition() [1/2]

nixf::Definition::Definition ( const Node * Syntax,
DefinitionSource Source )
inline

Definition at line 63 of file VariableLookup.h.

◆ Definition() [2/2]

nixf::Definition::Definition ( std::vector< const ExprVar * > Uses,
const Node * Syntax,
DefinitionSource Source )
inline

Definition at line 65 of file VariableLookup.h.

Member Function Documentation

◆ isBuiltin()

bool nixf::Definition::isBuiltin ( ) const
inline

Definition at line 79 of file VariableLookup.h.

References DS_Builtin.

◆ source()

DefinitionSource nixf::Definition::source ( ) const
inline

Definition at line 75 of file VariableLookup.h.

◆ syntax()

const Node * nixf::Definition::syntax ( ) const
inline

Definition at line 69 of file VariableLookup.h.

Referenced by nixd::idioms::mkVarSelector().

◆ usedBy()

void nixf::Definition::usedBy ( const ExprVar & User)
inline

Definition at line 77 of file VariableLookup.h.

◆ uses()

const std::vector< const ExprVar * > & nixf::Definition::uses ( ) const
inline

Definition at line 71 of file VariableLookup.h.


The documentation for this class was generated from the following file: