Polly 20.0.0git
|
Public Member Functions | |
class_printer (const specialization &instance, const specialization_printer &instance_printer, bool is_declaration) | |
void | print_return_type (const Method &method, const Kind &kind) const |
void | print_method_template_arguments (const Signature &sig) |
void | print_method_header (const Method &method, const Signature &sig) |
bool | print_special_method (const Method &method, const infix_map_map &special_methods) |
void | print_static_method (const Method &method) |
void | print_constructor (const Method &method) |
bool | is_return_kind (const Method &method, const Kind &return_kind) |
void | add_specialization (const Kind &kind) |
bool | print_matching_method (const Method &method, const Signature &sig, const Kind &match_arg) |
bool | print_matching_method (const Method &method, const Signature &sig) |
void | print_matching_method (const Method &method, const std::vector< Signature > &signatures) |
void | print_at_method (const Method &method) |
bool | print_special_member_method (const Method &method) |
bool | print_type_named_member_method (const Method &method) |
bool | print_member_method_with_name (const Method &method, const std::string &name) |
void | print_member_method (const Method &method) |
void | print_any_method (const Method &method) |
virtual void | print_method (const Method &method) override |
virtual void | print_method (const ConversionMethod &method) override |
virtual void | print_method_sig (const Method &method, const Signature &sig, bool deleted)=0 |
virtual bool | want_descendent_overloads (const function_set &methods) override |
void | print_all_methods () |
Public Member Functions inherited from cpp_generator::class_printer | |
class_printer (std::ostream &os, const isl_class &clazz, cpp_generator &generator, bool declarations) | |
void | print_constructors () |
void | print_methods () |
bool | next_variant (FunctionDecl *fd, std::vector< bool > &convert) |
void | print_method_variants (FunctionDecl *fd, const std::string &name) |
virtual bool | want_descendent_overloads (const function_set &methods)=0 |
void | print_descendent_overloads (FunctionDecl *fd, const std::string &name) |
void | print_method_group (const function_set &methods, const std::string &name) |
virtual void | print_method (const Method &method)=0 |
virtual void | print_method (const ConversionMethod &method)=0 |
virtual void | print_get_method (FunctionDecl *fd)=0 |
void | print_set_enums (FunctionDecl *fd) |
void | print_set_enums () |
ParmVarDecl * | get_param (FunctionDecl *fd, int pos, const std::vector< bool > &convert) |
void | print_method_header (const Method &method, const cpp_type_printer &type_printer) |
Public Attributes | |
const specialization & | instance |
template_cpp_generator & | generator |
Public Attributes inherited from cpp_generator::class_printer | |
std::ostream & | os |
const isl_class & | clazz |
const std::string | cppstring |
cpp_generator & | generator |
const bool | declarations |
Definition at line 1310 of file template_cpp.cc.
template_cpp_generator::class_printer::class_printer | ( | const specialization & | instance, |
const specialization_printer & | instance_printer, | ||
bool | is_declaration | ||
) |
Definition at line 1357 of file template_cpp.cc.
void template_cpp_generator::class_printer::add_specialization | ( | const Kind & | kind | ) |
Definition at line 2344 of file template_cpp.cc.
References unify().
bool template_cpp_generator::class_printer::is_return_kind | ( | const Method & | method, |
const Kind & | return_kind | ||
) |
Definition at line 2152 of file template_cpp.cc.
References has_kind(), Kind::params(), plain_return_type(), and template_cpp_generator::template_classes.
void template_cpp_generator::class_printer::print_all_methods | ( | ) |
Definition at line 1571 of file template_cpp.cc.
Referenced by template_cpp_generator::class_decl_printer::print_class(), and template_cpp_generator::class_impl_printer::print_class().
void template_cpp_generator::class_printer::print_any_method | ( | const Method & | method | ) |
Definition at line 2723 of file template_cpp.cc.
References Method::constructor, Method::kind, Method::member_method, and Method::static_method.
void template_cpp_generator::class_printer::print_at_method | ( | const Method & | method | ) |
Definition at line 2559 of file template_cpp.cc.
References at_keep, at_select, and plain_return_type().
void template_cpp_generator::class_printer::print_constructor | ( | const Method & | method | ) |
Definition at line 1947 of file template_cpp.cc.
References constructor_sig, Method::name, and special_constructors.
bool template_cpp_generator::class_printer::print_matching_method | ( | const Method & | method, |
const Signature & | sig | ||
) |
Definition at line 2496 of file template_cpp.cc.
References Signature::args, first_arg_is_ctx(), first_kind_is_ctx(), matching_kind(), and total_params().
bool template_cpp_generator::class_printer::print_matching_method | ( | const Method & | method, |
const Signature & | sig, | ||
const Kind & | match_arg | ||
) |
Definition at line 2447 of file template_cpp.cc.
References Signature::apply(), Kind::apply(), Method::kind, shared_param_renamer(), specialize_anonymous_args(), and specializer().
void template_cpp_generator::class_printer::print_matching_method | ( | const Method & | method, |
const std::vector< Signature > & | signatures | ||
) |
Definition at line 2519 of file template_cpp.cc.
References any(), and instance_sig().
void template_cpp_generator::class_printer::print_member_method | ( | const Method & | method | ) |
Definition at line 2704 of file template_cpp.cc.
References callback_name(), Method::name, and name_without_return().
bool template_cpp_generator::class_printer::print_member_method_with_name | ( | const Method & | method, |
const std::string & | name | ||
) |
Definition at line 2632 of file template_cpp.cc.
References member_methods, and name.
|
overridevirtual |
Implements cpp_generator::class_printer.
Definition at line 2753 of file template_cpp.cc.
|
overridevirtual |
Implements cpp_generator::class_printer.
Definition at line 2743 of file template_cpp.cc.
void template_cpp_generator::class_printer::print_method_header | ( | const Method & | method, |
const Signature & | sig | ||
) |
Definition at line 1544 of file template_cpp.cc.
References cpp_generator::class_printer::print_method_header().
|
pure virtual |
Implemented in template_cpp_generator::method_decl_printer, and template_cpp_generator::method_impl_printer.
void template_cpp_generator::class_printer::print_method_template_arguments | ( | const Signature & | sig | ) |
Definition at line 1520 of file template_cpp.cc.
References combine(), drop_initial(), Signature::params(), and print_template().
void template_cpp_generator::class_printer::print_return_type | ( | const Method & | method, |
const Kind & | kind | ||
) | const |
Definition at line 1494 of file template_cpp.cc.
References cpp_type_printer::return_type().
bool template_cpp_generator::class_printer::print_special_member_method | ( | const Method & | method | ) |
Definition at line 2608 of file template_cpp.cc.
References special_member_methods.
bool template_cpp_generator::class_printer::print_special_method | ( | const Method & | method, |
const infix_map_map & | special_methods | ||
) |
Definition at line 2588 of file template_cpp.cc.
References contains(), and Method::name.
void template_cpp_generator::class_printer::print_static_method | ( | const Method & | method | ) |
Definition at line 1881 of file template_cpp.cc.
References static_methods.
bool template_cpp_generator::class_printer::print_type_named_member_method | ( | const Method & | method | ) |
Definition at line 2617 of file template_cpp.cc.
References constructor_sig, and Method::name.
|
overridevirtual |
Implements cpp_generator::class_printer.
Definition at line 1562 of file template_cpp.cc.
template_cpp_generator& template_cpp_generator::class_printer::generator |
Definition at line 1347 of file template_cpp.cc.
const specialization& template_cpp_generator::class_printer::instance |
Definition at line 1346 of file template_cpp.cc.