Polly 20.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Method Struct Reference

#include <cpp.h>

Inheritance diagram for Method:
Inheritance graph
[legend]

Classes

struct  list_combiner
 

Public Types

enum  Kind { static_method , member_method , constructor }
 

Public Member Functions

 Method (const isl_class &clazz, FunctionDecl *fd, const std::string &name)
 
 Method (const isl_class &clazz, FunctionDecl *fd)
 
int c_num_params () const
 
virtual int num_params () const
 
virtual bool param_needs_copy (int pos) const
 
virtual clang::ParmVarDecl * get_param (int pos) const
 
virtual void print_param_use (ostream &os, int pos) const
 
bool is_subclass_mutator () const
 
void on_fd_arg_list (int start, int end, const list_combiner &combiner, const std::function< void(int i, int arg)> &on_arg) const
 
void print_fd_arg_list (std::ostream &os, int start, int end, const std::function< void(int i, int arg)> &print_arg) const
 
void on_cpp_arg_list (const list_combiner &combiner, const std::function< void(int i, int arg)> &on_arg) const
 
void on_cpp_arg_list (const std::function< void(int i, int arg)> &on_arg) const
 
void print_cpp_arg_list (std::ostream &os, const std::function< void(int i, int arg)> &print_arg) const
 

Static Public Member Functions

static list_combiner print_combiner (std::ostream &os)
 
static list_combiner empty_combiner ()
 
static void on_arg_list (int start, int end, const list_combiner &combiner, const std::function< bool(int i)> &on_arg_skip_next)
 
static void print_arg_list (std::ostream &os, int start, int end, const std::function< bool(int i)> &print_arg_skip_next)
 

Public Attributes

const isl_classclazz
 
FunctionDecl *const fd
 
const std::string name
 
enum Kind kind
 
const std::vector< ParmVarDecl * > callbacks
 

Detailed Description

Definition at line 19 of file cpp.h.

Member Enumeration Documentation

◆ Kind

Enumerator
static_method 
member_method 
constructor 

Definition at line 20 of file cpp.h.

Constructor & Destructor Documentation

◆ Method() [1/2]

Method::Method ( const isl_class clazz,
FunctionDecl *  fd,
const std::string &  name 
)

Definition at line 985 of file cpp.cc.

◆ Method() [2/2]

Method::Method ( const isl_class clazz,
FunctionDecl *  fd 
)

Definition at line 999 of file cpp.cc.

Member Function Documentation

◆ c_num_params()

int Method::c_num_params ( ) const

Definition at line 1010 of file cpp.cc.

References fd.

Referenced by num_params(), and plain_cpp_generator::impl_printer::print_method().

◆ empty_combiner()

Method::list_combiner Method::empty_combiner ( )
static

Definition at line 944 of file cpp.cc.

Referenced by on_cpp_arg_list().

◆ get_param()

clang::ParmVarDecl * Method::get_param ( int  pos) const
virtual

◆ is_subclass_mutator()

bool Method::is_subclass_mutator ( ) const

◆ num_params()

int Method::num_params ( ) const
virtual

◆ on_arg_list()

void Method::on_arg_list ( int  start,
int  end,
const list_combiner combiner,
const std::function< bool(int i)> &  on_arg_skip_next 
)
static

◆ on_cpp_arg_list() [1/2]

void Method::on_cpp_arg_list ( const list_combiner combiner,
const std::function< void(int i, int arg)> &  on_arg 
) const

◆ on_cpp_arg_list() [2/2]

void Method::on_cpp_arg_list ( const std::function< void(int i, int arg)> &  on_arg) const

Definition at line 1131 of file cpp.cc.

References empty_combiner(), and on_cpp_arg_list().

◆ on_fd_arg_list()

void Method::on_fd_arg_list ( int  start,
int  end,
const list_combiner combiner,
const std::function< void(int i, int arg)> &  on_arg 
) const

◆ param_needs_copy()

bool Method::param_needs_copy ( int  pos) const
virtual

◆ print_arg_list()

void Method::print_arg_list ( std::ostream &  os,
int  start,
int  end,
const std::function< bool(int i)> &  print_arg_skip_next 
)
static

Definition at line 1050 of file cpp.cc.

References on_arg_list(), and print_combiner().

Referenced by print_callback_args().

◆ print_combiner()

Method::list_combiner Method::print_combiner ( std::ostream &  os)
static

Definition at line 933 of file cpp.cc.

Referenced by print_arg_list(), print_cpp_arg_list(), and print_fd_arg_list().

◆ print_cpp_arg_list()

void Method::print_cpp_arg_list ( std::ostream &  os,
const std::function< void(int i, int arg)> &  print_arg 
) const

◆ print_fd_arg_list()

void Method::print_fd_arg_list ( std::ostream &  os,
int  start,
int  end,
const std::function< void(int i, int arg)> &  print_arg 
) const

Definition at line 1105 of file cpp.cc.

References on_fd_arg_list(), and print_combiner().

Referenced by plain_cpp_generator::impl_printer::print_method().

◆ print_param_use()

void Method::print_param_use ( ostream &  os,
int  pos 
) const
virtual

Member Data Documentation

◆ callbacks

const std::vector<ParmVarDecl *> Method::callbacks

◆ clazz

const isl_class& Method::clazz

◆ fd

FunctionDecl* const Method::fd

◆ kind

enum Kind Method::kind

◆ name

const std::string Method::name

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