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

TAO IDL: Interface Annotations #967

Merged
merged 11 commits into from
Oct 11, 2019

Conversation

iguessthislldo
Copy link
Member

@iguessthislldo iguessthislldo commented Oct 5, 2019

Updated tao_idl to support annotations on interfaces, operations, and attributes.

Also Updated annotations.md With:

  • a list of what can be annotated
  • how to extend annotation support in the future
  • other minor fixes

TODO

  • Build TAO and OpenDDS with this to make sure I didn't break interfaces
  • Run Annotation Test with Memory Checks
  • Update TAO NEWS File

Used bison 3.4, but the generated code doesn't look very different.

Also Updated annotations.md with:
- a list of what can be annotated
- how to extend annotation support in the future
- other minor fixes
@iguessthislldo iguessthislldo changed the title tao_idl: annotations on interfaces and operations TAO IDL: Interfaces Annotations Oct 5, 2019
@iguessthislldo iguessthislldo changed the title TAO IDL: Interfaces Annotations TAO IDL: Interface Annotations Oct 5, 2019
@iguessthislldo
Copy link
Member Author

So the fuzz has a check for #include <...>. I want to know if I can disable this check, because I don't think this convention is right since it forces the compiler to check the current directory for the header is definitely not there. fuzz.pl just says:

This check is suggested by Don Hinton to force user to use # " " instead of <> to avoid confict with Doxygen.

What kind of conflict was it and will it still happen? Regardless this sounds like Doxygen was/is being configured incorrectly to me.

@iguessthislldo iguessthislldo marked this pull request as ready for review October 7, 2019 23:47
@@ -345,11 +375,11 @@ these lines would also need to be added:
if (document)
{
const char *comment =
AST_Annotation_Member::narrow_from_decl ((*document)["comment"])->
dynamic_cast<AST_Annotation_Member *> ((*document)["comment"])->
Copy link
Contributor

Choose a reason for hiding this comment

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

Out of curiosity, why do you use dynamic_cast instead of narrow_from_decl?

Copy link
Member Author

Choose a reason for hiding this comment

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

narrow_from_decl is defined in include/idl_narrow.h where it's just a dyanmic_cast. It's a left over from an old narrowing system from the original pre C++98 compiler when they didn't apparently have dynamic_cast.

Copy link
Member Author

Choose a reason for hiding this comment

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

I guess I should also say that we should prefer standard C++ over pre-standard stuff whenever it's possible to.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe make a todo to make this a global change in TAO_IDL to simplify the code overall

@mitza-oci mitza-oci mentioned this pull request Oct 10, 2019
@knutpett
Copy link
Contributor

BE_post_init() in TAO/tests/IDLv4/annotations/be_init.cpp is quite long. Maybe split it in helper functions?

@iguessthislldo
Copy link
Member Author

Sure, it's something I thought about doing when I originally created it, but never quite go around to doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

4 participants