Skip to content

Commit 4895752

Browse files
authored
Fix windows warning in TypeObject generated source code [21006] (#340)
* Refs #20424. Fix windows warning in TypeObject generated source code Signed-off-by: Ricardo González Moreno <[email protected]> * Refs #20424. Update submodule Signed-off-by: Ricardo González Moreno <[email protected]> --------- Signed-off-by: Ricardo González Moreno <[email protected]>
1 parent 0bafbd7 commit 4895752

File tree

2 files changed

+48
-70
lines changed

2 files changed

+48
-70
lines changed

src/main/java/com/eprosima/fastdds/idl/templates/XTypesTypeObjectSource.stg

+47-69
Original file line numberDiff line numberDiff line change
@@ -563,30 +563,28 @@ register_sequence_type(sequence, name) ::= <<
563563
$! TODO(jlbueno): annotated collections generate TypeObject instead of TypeIdentifier
564564
pending implementation of annotated collection support !$
565565
$plain_collection_header(type=sequence.contentTypeCode, message="Sequence element", name=name, collection_name=sequence_name(sequence))$
566-
std::string type_id_kind_$sequence_name(sequence)$("$sequence.typeIdentifier$");
567-
if (type_id_kind_$sequence_name(sequence)$ == "TI_PLAIN_SEQUENCE_SMALL")
568566
{
569-
SBound bound = $if (sequence.unbound)$0$else$static_cast<SBound>($sequence.evaluatedMaxsize$)$endif$;
570-
PlainSequenceSElemDefn seq_sdefn = TypeObjectUtils::build_plain_sequence_s_elem_defn(header_$sequence_name(sequence)$, bound,
567+
$if(sequence.isTypeIdentifierKindLarge)$
568+
LBound bound = $sequence.evaluatedMaxsize$;
569+
PlainSequenceLElemDefn seq_ldefn = TypeObjectUtils::build_plain_sequence_l_elem_defn(header_$sequence_name(sequence)$, bound,
571570
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$sequence_name(sequence)$));
572571
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
573-
TypeObjectUtils::build_and_register_s_sequence_type_identifier(seq_sdefn, "$sequence_name(sequence)$"))
572+
TypeObjectUtils::build_and_register_l_sequence_type_identifier(seq_ldefn, "$sequence_name(sequence)$"))
574573
{
575574
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
576575
"$sequence_name(sequence)$ already registered in TypeObjectRegistry for a different type.");
577576
}
578-
}
579-
else
580-
{
581-
LBound bound = $sequence.evaluatedMaxsize$;
582-
PlainSequenceLElemDefn seq_ldefn = TypeObjectUtils::build_plain_sequence_l_elem_defn(header_$sequence_name(sequence)$, bound,
577+
$else$
578+
SBound bound = $if (sequence.unbound)$0$else$static_cast<SBound>($sequence.evaluatedMaxsize$)$endif$;
579+
PlainSequenceSElemDefn seq_sdefn = TypeObjectUtils::build_plain_sequence_s_elem_defn(header_$sequence_name(sequence)$, bound,
583580
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$sequence_name(sequence)$));
584581
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
585-
TypeObjectUtils::build_and_register_l_sequence_type_identifier(seq_ldefn, "$sequence_name(sequence)$"))
582+
TypeObjectUtils::build_and_register_s_sequence_type_identifier(seq_sdefn, "$sequence_name(sequence)$"))
586583
{
587584
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
588585
"$sequence_name(sequence)$ already registered in TypeObjectRegistry for a different type.");
589586
}
587+
$endif$
590588
}
591589
$get_type_identifier_registry(typename=sequence_name(sequence), name=name)$
592590
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -601,36 +599,34 @@ register_array_type(array, name) ::= <<
601599
$! TODO(jlbueno): annotated collections generate TypeObject instead of TypeIdentifier
602600
pending implementation of annotated collection support !$
603601
$plain_collection_header(type=array.contentTypeCode, message="Array element", name=name, collection_name=array_name(array))$
604-
std::string type_id_kind_$array_name(array)$("$array.typeIdentifier$");
605-
if (type_id_kind_$array_name(array)$ == "TI_PLAIN_ARRAY_SMALL")
606602
{
607-
SBoundSeq array_bound_seq;
603+
$if(array.isTypeIdentifierKindLarge)$
604+
LBoundSeq array_bound_seq;
608605
$array.evaluatedDimensions: { dimension |
609-
TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<SBound>($dimension$));
606+
TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<LBound>($dimension$));
610607
}; separator="\n"$
611-
PlainArraySElemDefn array_sdefn = TypeObjectUtils::build_plain_array_s_elem_defn(header_$array_name(array)$, array_bound_seq,
608+
PlainArrayLElemDefn array_ldefn = TypeObjectUtils::build_plain_array_l_elem_defn(header_$array_name(array)$, array_bound_seq,
612609
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$array_name(array)$));
613610
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
614-
TypeObjectUtils::build_and_register_s_array_type_identifier(array_sdefn, "$array_name(array)$"))
611+
TypeObjectUtils::build_and_register_l_array_type_identifier(array_ldefn, "$array_name(array)$"))
615612
{
616613
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
617614
"$array_name(array)$ already registered in TypeObjectRegistry for a different type.");
618615
}
619-
}
620-
else
621-
{
622-
LBoundSeq array_bound_seq;
616+
$else$
617+
SBoundSeq array_bound_seq;
623618
$array.evaluatedDimensions: { dimension |
624-
TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<LBound>($dimension$));
619+
TypeObjectUtils::add_array_dimension(array_bound_seq, static_cast<SBound>($dimension$));
625620
}; separator="\n"$
626-
PlainArrayLElemDefn array_ldefn = TypeObjectUtils::build_plain_array_l_elem_defn(header_$array_name(array)$, array_bound_seq,
621+
PlainArraySElemDefn array_sdefn = TypeObjectUtils::build_plain_array_s_elem_defn(header_$array_name(array)$, array_bound_seq,
627622
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$array_name(array)$));
628623
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
629-
TypeObjectUtils::build_and_register_l_array_type_identifier(array_ldefn, "$array_name(array)$"))
624+
TypeObjectUtils::build_and_register_s_array_type_identifier(array_sdefn, "$array_name(array)$"))
630625
{
631626
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
632627
"$array_name(array)$ already registered in TypeObjectRegistry for a different type.");
633628
}
629+
$endif$
634630
}
635631
$get_type_identifier_registry(typename=array_name(array), name=name)$
636632
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -693,32 +689,30 @@ $! TODO(jlbueno) Annotated collections not yet supported !$
693689
CollectionElementFlag element_flags_$map_name(map)$ = 0;
694690
CollectionElementFlag key_flags_$map_name(map)$ = 0;
695691
PlainCollectionHeader header_$map_name(map)$ = TypeObjectUtils::build_plain_collection_header(equiv_kind_$map_name(map)$, element_flags_$map_name(map)$);
696-
std::string type_id_kind_$map_name(map)$("$map.typeIdentifier$");
697-
if (type_id_kind_$map_name(map)$ == "TI_PLAIN_MAP_SMALL")
698692
{
699-
SBound bound = $if (map.unbound)$0$else$static_cast<SBound>($map.evaluatedMaxsize$)$endif$;
700-
PlainMapSTypeDefn map_sdefn = TypeObjectUtils::build_plain_map_s_type_defn(header_$map_name(map)$, bound,
693+
$if(map.isTypeIdentifierKindLarge)$
694+
LBound bound = $map.evaluatedMaxsize$;
695+
PlainMapLTypeDefn map_ldefn = TypeObjectUtils::build_plain_map_l_type_defn(header_$map_name(map)$, bound,
701696
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$map_name(map)$), key_flags_$map_name(map)$,
702697
eprosima::fastcdr::external<TypeIdentifier>(key_identifier_$map_name(map)$));
703698
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
704-
TypeObjectUtils::build_and_register_s_map_type_identifier(map_sdefn, "$map_name(map)$"))
699+
TypeObjectUtils::build_and_register_l_map_type_identifier(map_ldefn, "$map_name(map)$"))
705700
{
706701
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
707702
"$map_name(map)$ already registered in TypeObjectRegistry for a different type.");
708703
}
709-
}
710-
else
711-
{
712-
LBound bound = $map.evaluatedMaxsize$;
713-
PlainMapLTypeDefn map_ldefn = TypeObjectUtils::build_plain_map_l_type_defn(header_$map_name(map)$, bound,
704+
$else$
705+
SBound bound = $if (map.unbound)$0$else$static_cast<SBound>($map.evaluatedMaxsize$)$endif$;
706+
PlainMapSTypeDefn map_sdefn = TypeObjectUtils::build_plain_map_s_type_defn(header_$map_name(map)$, bound,
714707
eprosima::fastcdr::external<TypeIdentifier>(element_identifier_$map_name(map)$), key_flags_$map_name(map)$,
715708
eprosima::fastcdr::external<TypeIdentifier>(key_identifier_$map_name(map)$));
716709
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
717-
TypeObjectUtils::build_and_register_l_map_type_identifier(map_ldefn, "$map_name(map)$"))
710+
TypeObjectUtils::build_and_register_s_map_type_identifier(map_sdefn, "$map_name(map)$"))
718711
{
719712
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
720713
"$map_name(map)$ already registered in TypeObjectRegistry for a different type.");
721714
}
715+
$endif$
722716
}
723717
$get_type_identifier_registry(typename=map_name(map), name=name)$
724718
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -800,36 +794,28 @@ bitflag_member(bitflag, parent, name) ::= <<
800794
>>
801795

802796
register_wstring_type(wstring, name) ::= <<
803-
std::string type_id_kind_$wstring_name(wstring)$("$wstring.typeIdentifier$");
804-
if (type_id_kind_$wstring_name(wstring)$ == "TI_STRING16_SMALL")
805797
{
806-
SBound bound = $if (!wstring.isBounded)$0$else$static_cast<SBound>($wstring.evaluatedMaxsize$)$endif$;
807-
StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
798+
$if(wstring.isTypeIdentifierKindLarge)$
799+
LBound bound = $wstring.evaluatedMaxsize$;
800+
StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
808801
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
809-
TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn,
802+
TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn,
810803
"$wstring_name(wstring)$", true))
811804
{
812805
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
813806
"$wstring_name(wstring)$ already registered in TypeObjectRegistry for a different type.");
814807
}
815-
}
816-
else if (type_id_kind_$wstring_name(wstring)$ == "TI_STRING16_LARGE")
817-
{
818-
LBound bound = $wstring.evaluatedMaxsize$;
819-
StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
808+
$else$
809+
SBound bound = $if (!wstring.isBounded)$0$else$static_cast<SBound>($wstring.evaluatedMaxsize$)$endif$;
810+
StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
820811
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
821-
TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn,
812+
TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn,
822813
"$wstring_name(wstring)$", true))
823814
{
824815
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
825816
"$wstring_name(wstring)$ already registered in TypeObjectRegistry for a different type.");
826817
}
827-
}
828-
else
829-
{
830-
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
831-
"$wstring_name(wstring)$: Unknown WString kind.");
832-
return;
818+
$endif$
833819
}
834820
$get_type_identifier_registry(typename=wstring_name(wstring), name=name)$
835821
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
@@ -841,36 +827,28 @@ if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)
841827
>>
842828

843829
register_string_type(string, name) ::= <<
844-
std::string type_id_kind_$string_name(string)$("$string.typeIdentifier$");
845-
if (type_id_kind_$string_name(string)$ == "TI_STRING8_SMALL")
846830
{
847-
SBound bound = $if (!string.isBounded)$0$else$static_cast<SBound>($string.evaluatedMaxsize$)$endif$;
848-
StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
831+
$if(string.isTypeIdentifierKindLarge)$
832+
LBound bound = $string.evaluatedMaxsize$;
833+
StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
849834
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
850-
TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn,
835+
TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn,
851836
"$string_name(string)$"))
852837
{
853838
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
854839
"$string_name(string)$ already registered in TypeObjectRegistry for a different type.");
855840
}
856-
}
857-
else if (type_id_kind_$string_name(string)$ == "TI_STRING8_LARGE")
858-
{
859-
LBound bound = $string.evaluatedMaxsize$;
860-
StringLTypeDefn string_ldefn = TypeObjectUtils::build_string_l_type_defn(bound);
841+
$else$
842+
SBound bound = $if (!string.isBounded)$0$else$static_cast<SBound>($string.evaluatedMaxsize$)$endif$;
843+
StringSTypeDefn string_sdefn = TypeObjectUtils::build_string_s_type_defn(bound);
861844
if (eprosima::fastdds::dds::RETCODE_BAD_PARAMETER ==
862-
TypeObjectUtils::build_and_register_l_string_type_identifier(string_ldefn,
845+
TypeObjectUtils::build_and_register_s_string_type_identifier(string_sdefn,
863846
"$string_name(string)$"))
864847
{
865848
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
866849
"$string_name(string)$ already registered in TypeObjectRegistry for a different type.");
867850
}
868-
}
869-
else
870-
{
871-
EPROSIMA_LOG_ERROR(XTYPES_TYPE_REPRESENTATION,
872-
"$string_name(string)$: Unknown String kind.");
873-
return;
851+
$endif$
874852
}
875853
$get_type_identifier_registry(typename=string_name(string), name=name)$
876854
if (return_code_$name$ != eprosima::fastdds::dds::RETCODE_OK)

0 commit comments

Comments
 (0)