forked from enlightenment/efl
cxx: Add header guards for manual definitions
This will be used for things like efl_del efl_part was a lucky case where the entire class was to be implemented manually, thus the global header guard was sufficient.
This commit is contained in:
parent
9d14b4cfe8
commit
cb7f2d0dd5
|
@ -44,6 +44,11 @@ struct function_declaration_generator
|
|||
.generate(sink, std::make_tuple(_klass_name.namespaces, _klass_name.eolian_name, suffix), add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
if(!as_generator
|
||||
("#ifndef EOLIAN_CXX_" << string << "_DECLARATION\n")
|
||||
.generate(sink, f.c_name, add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
std::string template_statement(f.template_statement());
|
||||
if (!template_statement.empty() &&
|
||||
!as_generator(template_statement << " ")
|
||||
|
@ -58,9 +63,17 @@ struct function_declaration_generator
|
|||
<< string << "(" << (parameter % ", ") << ")" << const_flag << ";\n")
|
||||
.generate(sink, std::make_tuple(f.return_type, escape_keyword(f.name), f.parameters), ctx))
|
||||
return false;
|
||||
|
||||
if(!as_generator
|
||||
("#else\n" << scope_tab << "EOLIAN_CXX_" << string << "_DECLARATION\n"
|
||||
"#endif\n")
|
||||
.generate(sink, f.c_name, add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
if(f.is_beta &&
|
||||
!as_generator("#endif\n").generate(sink, attributes::unused, ctx))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,6 +54,11 @@ struct function_definition_generator
|
|||
.generate(sink, std::make_tuple(_klass_name.namespaces, _klass_name.eolian_name), add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
if(!as_generator
|
||||
("#ifndef EOLIAN_CXX_" << string << "_IMPLEMENTATION\n")
|
||||
.generate(sink, f.c_name, add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
std::string template_statement(f.template_statement());
|
||||
if (!template_statement.empty() &&
|
||||
!as_generator(template_statement << "\n")
|
||||
|
@ -161,6 +166,12 @@ struct function_definition_generator
|
|||
if(!as_generator("}\n").generate(sink, attributes::unused, ctx))
|
||||
return false;
|
||||
|
||||
if(!as_generator
|
||||
("#else\n" << scope_tab << "EOLIAN_CXX_" << string << "_IMPLEMENTATION\n"
|
||||
"#endif\n")
|
||||
.generate(sink, f.c_name, add_upper_case_context(ctx)))
|
||||
return false;
|
||||
|
||||
if(f.is_beta &&
|
||||
!as_generator("#endif\n").generate(sink, attributes::unused, ctx))
|
||||
return false;
|
||||
|
|
Loading…
Reference in New Issue