Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XTypes v1.3 refactor #130

Merged
merged 17 commits into from
Apr 8, 2024
Merged

XTypes v1.3 refactor #130

merged 17 commits into from
Apr 8, 2024

Conversation

JLBuenoLopez
Copy link
Contributor

This PR includes changes required to generate the XTypes v1.3 IDL files and the code to register the associated TypeObjects defined in the specification. Specifically, this PR includes:

  • New -genapi option that prepends to the OMG IDL module names the eprosima::fastdds namespace (developer option).
  • Remove -cdr option because from this point onward only Fast CDR v2 is going to be supported.
  • New -default-container-prealloc-size option to select how many elements to preallocate in the generated code for unbounded collections.
  • New -no-typeobject-support option to disable the TypeObject code generation.
  • Infrastructure to add tests for TypeObject generated code.
  • Several refactors for typecodes:
    • Unions: discriminator and default value.
    • C++ enum class
    • New MemberAppliedAnnotations class to apply annotations to collection elements (partially supported. Collection element annotations are not yet parsed in the grammar and added to the element).
    • Correctly register builtin annotations defined in IDL v4.2 and XTypes v1.3 specifications. Add API to access and check builtin annotations.
    • Fix collections API to return correct TypeIdentifier discriminator depending on the bound size.
    • Extend primitive Typecode API to check primitive kind.
    • API to return collection's size.
  • STGroup template configuration
  • Improve documentation

@JLBuenoLopez JLBuenoLopez changed the base branch from master to 4.0.x-devel April 4, 2024 07:54
src/main/java/com/eprosima/idl/parser/tree/Annotation.java Outdated Show resolved Hide resolved
{
return m_members.size();
}

public boolean addMember(
Member member) throws ParseException
{
// Check annotations.
if (member.isAnnotationOptional() && Kind.KIND_STRUCT != getKind())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sort alphabetically by annotation name

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in d0f6d82

Copy link
Contributor Author

@JLBuenoLopez JLBuenoLopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM though I have left a small nitpick. Nevertheless, if the CI is green, this could be merge.

{
throw new ParseException(null, "Error in member " + member.getName() +
": @" + Annotation.optional_str +" annotations only supported for structure's members.");
": @bit_bound annotations only supported for enumeration's members or bitmask's members.");
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: Now that every builtin annotation has its name defined in a variable, maybe we can use it in these methods. Some of them are using the variables and some others not.

richiware and others added 17 commits April 8, 2024 12:43
* Refs #19944. Context uses TemplateManager

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19944. Fix setting scope

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
* Refs #19932: fix union discriminator

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19932: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
…ns API (#107)

* Refs #19968: refactor Member and ContainerTypeCode to use common applied member annotations API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19968: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
* Refs #19960. Support to have config by STGroup

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Fix conding style.

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
* Refs #20063. Support C++ enum class

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Fix bitmasks

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Accessing through Context

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
* Changes to run typeobject tests  (#103)

* Refs #19115: include method to check if type is boolean

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: accesors to primitive types and enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add scoped name to annotation declarations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add API to check verbatim annotation. Sanity check to ensure that given enumeration value is valid

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove quotes from annotation value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: discriminate builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: API for max and min annotation values (@range)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: expose scoped name in Annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: include XTypes v1.3 builtin annotations and fix IDL v4.2 builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: throw exception if annotation is not previously defined

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove isIsEnumType defined twice (after rebase)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: try_construct implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: type system only supports single inheritance

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Added TypeObject tests flag.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* change run() method to work with different types of tests.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* Refs #19595: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: revert changes: -typeobject option will be used to generate legacy TypeObject code

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: try_construct annotation implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check @id and @hashid builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: API to get number of members

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add getBitBound API to enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check if an annotation is builtin

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check number of applicable labels

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: refactor array_type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add array API to check bound sequence size

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: remove non-necessary template attribute

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: include API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion: use new scopedname strategy

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Fix API for TypeObject code generation (#110)

* Refs #19595: code style

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: return annotation default value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add Alias API for container types aliased

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix typos in primitive API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: explictly override

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fix TypeCode::isAnnotationAutoidHash function

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier kind

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct type identifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: unbounded collections use small TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for arrays

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for maps

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: non applied extensibility and try_construct annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: get main project API (generate TypeObject tests only for the main project)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix Annotation Autoid hash return value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: add getFirstMember API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset holder type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix collection TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: recursive types fail generating TypeObject

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: API to check if contained members are forwarded

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset bitfields

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: use variables instead of hardcoded strings

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: Adrian del Campo <107918259+adriancampo@users.noreply.github.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
* Refs #19451. Fix find and set default value for unions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Remove unused functions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Rollback default discriminator

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
@richiware richiware force-pushed the feature/typeobject-tests-impl branch from 7da0118 to e38c14f Compare April 8, 2024 10:44
Copy link
Contributor Author

@JLBuenoLopez JLBuenoLopez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member

@richiware richiware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested in this CI job

@richiware richiware merged commit a5367e2 into 4.0.x-devel Apr 8, 2024
2 checks passed
@richiware richiware deleted the feature/typeobject-tests-impl branch April 8, 2024 11:58
richiware added a commit that referenced this pull request May 14, 2024
* Several changes to support fastddsgen -genapi [19957] (#105)

* Refs #19944. Context uses TemplateManager

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19944. Fix setting scope

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix union discriminator (#106)

* Refs #19932: fix union discriminator

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19932: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refactor Member and ContainerTypeCode to use common applied annotations API (#107)

* Refs #19968: refactor Member and ContainerTypeCode to use common applied member annotations API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19968: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Remove calling with option -cdr (#109)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Support to have configuration by STGroup (#108)

* Refs #19960. Support to have config by STGroup

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Fix conding style.

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Changeable max size for unbounded containers (#111)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Support for C++ enum class (#112)

* Refs #20063. Support C++ enum class

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Fix bitmasks

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Accessing through Context

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix missing function (#113)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Improve in code (#114)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix after rebase

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* New API and fixes for TypeObject generation (#119)

* Changes to run typeobject tests  (#103)

* Refs #19115: include method to check if type is boolean

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: accesors to primitive types and enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add scoped name to annotation declarations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add API to check verbatim annotation. Sanity check to ensure that given enumeration value is valid

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove quotes from annotation value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: discriminate builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: API for max and min annotation values (@range)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: expose scoped name in Annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: include XTypes v1.3 builtin annotations and fix IDL v4.2 builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: throw exception if annotation is not previously defined

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove isIsEnumType defined twice (after rebase)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: try_construct implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: type system only supports single inheritance

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Added TypeObject tests flag.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* change run() method to work with different types of tests.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* Refs #19595: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: revert changes: -typeobject option will be used to generate legacy TypeObject code

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: try_construct annotation implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check @id and @hashid builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: API to get number of members

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add getBitBound API to enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check if an annotation is builtin

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check number of applicable labels

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: refactor array_type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add array API to check bound sequence size

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: remove non-necessary template attribute

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: include API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion: use new scopedname strategy

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Fix API for TypeObject code generation (#110)

* Refs #19595: code style

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: return annotation default value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add Alias API for container types aliased

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix typos in primitive API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: explictly override

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fix TypeCode::isAnnotationAutoidHash function

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier kind

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct type identifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: unbounded collections use small TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for arrays

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for maps

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: non applied extensibility and try_construct annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: get main project API (generate TypeObject tests only for the main project)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix Annotation Autoid hash return value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: add getFirstMember API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset holder type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix collection TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: recursive types fail generating TypeObject

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: API to check if contained members are forwarded

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset bitfields

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: use variables instead of hardcoded strings

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: Adrian del Campo <107918259+adriancampo@users.noreply.github.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Hotfix: extend AliasTypeCode API: getCScopedname (#120)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Document isIsBounded and isUnbound API. Correctly use the API (#121)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fixes after rebase

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix find and set default value for unions [20587] (#124)

* Refs #19451. Fix find and set default value for unions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Remove unused functions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Rollback default discriminator

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Apply suggestions 2

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: Ricardo González <ricardo@richiware.dev>
Co-authored-by: Adrian del Campo <107918259+adriancampo@users.noreply.github.com>
EduPonz pushed a commit that referenced this pull request May 14, 2024
* Several changes to support fastddsgen -genapi [19957] (#105)

* Refs #19944. Context uses TemplateManager

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19944. Fix setting scope

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix union discriminator (#106)

* Refs #19932: fix union discriminator

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19932: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refactor Member and ContainerTypeCode to use common applied annotations API (#107)

* Refs #19968: refactor Member and ContainerTypeCode to use common applied member annotations API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19968: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Remove calling with option -cdr (#109)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Support to have configuration by STGroup (#108)

* Refs #19960. Support to have config by STGroup

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Fix conding style.

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19960. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Changeable max size for unbounded containers (#111)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Support for C++ enum class (#112)

* Refs #20063. Support C++ enum class

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Fix bitmasks

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #20063. Accessing through Context

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix missing function (#113)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Improve in code (#114)

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix after rebase

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* New API and fixes for TypeObject generation (#119)

* Changes to run typeobject tests  (#103)

* Refs #19115: include method to check if type is boolean

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: accesors to primitive types and enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add scoped name to annotation declarations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: add API to check verbatim annotation. Sanity check to ensure that given enumeration value is valid

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove quotes from annotation value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: discriminate builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: API for max and min annotation values (@range)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: expose scoped name in Annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: include XTypes v1.3 builtin annotations and fix IDL v4.2 builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: throw exception if annotation is not previously defined

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: remove isIsEnumType defined twice (after rebase)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: try_construct implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: type system only supports single inheritance

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19115: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Added TypeObject tests flag.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* change run() method to work with different types of tests.

Signed-off-by: adriancampo <adriancampo@eprosima.com>

* Refs #19595: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: revert changes: -typeobject option will be used to generate legacy TypeObject code

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: check autoid annotation API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: try_construct annotation implementation

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check @id and @hashid builtin annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: API to get number of members

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add getBitBound API to enum types

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check if an annotation is builtin

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add API to check number of applicable labels

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix merge conflicts

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: refactor array_type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add array API to check bound sequence size

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: remove non-necessary template attribute

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: include API to get number of annotation parameters

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion: use new scopedname strategy

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Fix API for TypeObject code generation (#110)

* Refs #19595: code style

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: return annotation default value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: add Alias API for container types aliased

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: fix typos in primitive API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19595: explictly override

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fix TypeCode::isAnnotationAutoidHash function

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier kind

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct type identifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: unbounded collections use small TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for arrays

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #19906: return correct TypeIdentifier for maps

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: non applied extensibility and try_construct annotations

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: get main project API (generate TypeObject tests only for the main project)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix Annotation Autoid hash return value

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: add getFirstMember API

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset holder type

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix collection TypeIdentifier

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: recursive types fail generating TypeObject

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: API to check if contained members are forwarded

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fix bitset bitfields

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: use variables instead of hardcoded strings

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: fixes after rebase

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #20129: apply review suggestions

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

---------

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: Adrian del Campo <107918259+adriancampo@users.noreply.github.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Hotfix: extend AliasTypeCode API: getCScopedname (#120)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Document isIsBounded and isUnbound API. Correctly use the API (#121)

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fixes after rebase

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Fix find and set default value for unions [20587] (#124)

* Refs #19451. Fix find and set default value for unions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Remove unused functions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Rollback default discriminator

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Refs #19451. Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Apply suggestions

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

* Apply suggestions 2

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>

---------

Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Signed-off-by: adriancampo <adriancampo@eprosima.com>
Co-authored-by: Ricardo González <ricardo@richiware.dev>
Co-authored-by: Adrian del Campo <107918259+adriancampo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants