chigraph  master
Systems programming language written for beginners in LLVM
FunctionValidator.cpp File Reference
#include "chi/FunctionValidator.hpp"
#include "chi/DataType.hpp"
#include "chi/GraphFunction.hpp"
#include "chi/GraphModule.hpp"
#include "chi/NodeInstance.hpp"
#include "chi/NodeType.hpp"
#include "chi/Support/Result.hpp"
#include <unordered_map>
+ Include dependency graph for FunctionValidator.cpp:

Go to the source code of this file.

Namespaces

 chi
 The namespace where chigraph lives.
 

Functions

Function Validation

Functions for making sure that generated functions are valid (also usable as a linter tools)

Result chi::validateFunction (const GraphFunction &func)
 Validate that a function is compilable. More...
 
Result chi::validateFunctionConnectionsAreTwoWay (const GraphFunction &func)
 Make sure that connections connect back and that they have the same types. More...
 
Result chi::validateFunctionNodeInputs (const GraphFunction &func)
 Make sure that nodes are called before their outputs are used. More...
 
Result chi::validateFunctionExecOutputs (const GraphFunction &func)
 Make sure nodes have an output connection. More...
 
Result chi::validateFunctionEntryType (const GraphFunction &func)
 Make sure the function entry type aligns with the function type. More...
 
Result chi::validateFunctionExitTypes (const GraphFunction &func)
 Make sure the function exit types align with the function type. More...
 
Result chi::validateFunctionMainSignature (const GraphFunction &func)
 Make sure it's a valid signautre for a main function. More...