souffle  2.0.2-371-g6315b36
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes
souffle::ast::analysis::FunctorAnalysis Class Reference

#include <Functor.h>

Inheritance diagram for souffle::ast::analysis::FunctorAnalysis:
Inheritance graph
Collaboration diagram for souffle::ast::analysis::FunctorAnalysis:
Collaboration graph

Public Member Functions

 FunctorAnalysis ()
 
TypeAttribute getArgType (const Functor *functor, const size_t idx) const
 Return argument type of functor. More...
 
const std::vector< TypeAttribute > & getArgTypes (const UserDefinedFunctor &udf) const
 
TypeAttribute getReturnType (const Functor *functor) const
 Return return type of functor. More...
 
bool isStateful (const UserDefinedFunctor *udf) const
 Return whether a UDF is stateful. More...
 
void print (std::ostream &) const override
 print the analysis result in HTML format More...
 
void run (const TranslationUnit &translationUnit) override
 run analysis for a Ast translation unit More...
 
- Public Member Functions inherited from souffle::ast::analysis::Analysis
 Analysis (std::string identifier)
 
virtual const std::string & getName () const
 get name of the analysis More...
 
virtual ~Analysis ()=default
 

Static Public Member Functions

static bool isMultiResult (const Functor &functor)
 

Static Public Attributes

static constexpr const char * name = "functor-analysis"
 

Private Attributes

const TypeAnalysistypeAnalysis = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from souffle::ast::analysis::Analysis
const std::string identifier
 

Detailed Description

Definition at line 39 of file Functor.h.

Constructor & Destructor Documentation

◆ FunctorAnalysis()

souffle::ast::analysis::FunctorAnalysis::FunctorAnalysis ( )
inline

Definition at line 43 of file Functor.h.

Member Function Documentation

◆ getArgType()

TypeAttribute souffle::ast::analysis::FunctorAnalysis::getArgType ( const Functor functor,
const size_t  idx 
) const

Return argument type of functor.

Definition at line 49 of file Functor.cpp.

◆ getArgTypes()

const std::vector< TypeAttribute > & souffle::ast::analysis::FunctorAnalysis::getArgTypes ( const UserDefinedFunctor udf) const

Definition at line 44 of file Functor.cpp.

◆ getReturnType()

TypeAttribute souffle::ast::analysis::FunctorAnalysis::getReturnType ( const Functor functor) const

Return return type of functor.

Definition at line 40 of file Functor.cpp.

◆ isMultiResult()

bool souffle::ast::analysis::FunctorAnalysis::isMultiResult ( const Functor functor)
static

Definition at line 53 of file Functor.cpp.

◆ isStateful()

bool souffle::ast::analysis::FunctorAnalysis::isStateful ( const UserDefinedFunctor udf) const

Return whether a UDF is stateful.

Definition at line 36 of file Functor.cpp.

38  {

◆ print()

void souffle::ast::analysis::FunctorAnalysis::print ( std::ostream &  ) const
inlineoverridevirtual

print the analysis result in HTML format

Reimplemented from souffle::ast::analysis::Analysis.

Definition at line 47 of file Functor.h.

◆ run()

void souffle::ast::analysis::FunctorAnalysis::run ( const TranslationUnit )
overridevirtual

run analysis for a Ast translation unit

Implements souffle::ast::analysis::Analysis.

Definition at line 32 of file Functor.cpp.

34  {

Field Documentation

◆ name

constexpr const char* souffle::ast::analysis::FunctorAnalysis::name = "functor-analysis"
staticconstexpr

Definition at line 41 of file Functor.h.

◆ typeAnalysis

const TypeAnalysis* souffle::ast::analysis::FunctorAnalysis::typeAnalysis = nullptr
private

Definition at line 63 of file Functor.h.


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