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

Add IDL4 map support to TAO #1842

Merged
merged 108 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from 104 commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
c9384eb
Added a test for maps
tmayoff May 21, 2022
3c34706
Fixed test.idl
tmayoff May 23, 2022
6e4f5bb
Added AST for map
tmayoff May 23, 2022
1ff3a93
Updated flex and bison
tmayoff May 23, 2022
067a851
Merge branch 'DOCGroup:master' into maps
tmayoff May 23, 2022
f99f460
More ast
tmayoff May 23, 2022
6e51d10
Merge branch 'maps' of github.com:tmayoff/ACE_TAO into maps
tmayoff May 23, 2022
2686e77
Added functions for ast_visitor
tmayoff May 23, 2022
fc6f206
Removed blank lines
tmayoff May 23, 2022
8a7f735
ifr_visitor
tmayoff May 25, 2022
9c69228
Adding bounds to bison
tmayoff May 26, 2022
8a9729e
Simplified bison
tmayoff May 26, 2022
f154d18
removed whitespace
tmayoff May 26, 2022
78a6345
trailing whitespace
tmayoff May 26, 2022
d6d2bab
cleaned up
tmayoff Jun 2, 2022
06a0959
fixes based on the code review
tmayoff Jun 3, 2022
ed7e91b
Removed MPC submodule
tmayoff Jun 3, 2022
17a670a
key_type + value_type code, and cleanup
tmayoff Jun 4, 2022
42c8ff7
Updated bison, pushing null scope
tmayoff Jun 4, 2022
00099e6
Updated idl for null scope
tmayoff Jun 4, 2022
aa6f53e
removed whitespace
tmayoff Jun 4, 2022
3cbb2c8
fixed whitespace
tmayoff Jun 4, 2022
b4e0d4b
Fixed typo
tmayoff Jun 4, 2022
e677ed0
added map_head rules to parser, for proper null scope
tmayoff Jun 8, 2022
fd1f1ba
Added maps in the idl_features
tmayoff Jun 11, 2022
cbe7b95
Merge branch 'DOCGroup:master' into maps
tmayoff Jun 14, 2022
7b4251e
maps almost being generated via code, still very messy
tmayoff Jun 17, 2022
67ec6ba
Removed whitespaces
tmayoff Jun 17, 2022
facd12c
Fixed fuzz
tmayoff Jun 17, 2022
ad0d7dc
Cleaned up some be_map functions
tmayoff Jun 18, 2022
52939b7
updated include
tmayoff Jun 18, 2022
fb88c10
remove whitespace
tmayoff Jun 18, 2022
7a016b6
Fixed fuzzing
tmayoff Jun 18, 2022
8a730f9
Cleaned up CDR progress
tmayoff Jun 19, 2022
db2924b
Updated test, and stubbed stream operators
tmayoff Jun 20, 2022
26b45ba
Merge branch 'DOCGroup:master' into maps
tmayoff Jun 20, 2022
ba4c116
Fixed fuzzing
tmayoff Jun 23, 2022
30848dd
code generation working properly
tmayoff Jun 24, 2022
2b7f3b4
more cleanup of stubbed code
tmayoff Jun 24, 2022
db20a3a
Fixed static analysis
tmayoff Jun 24, 2022
53a9c6a
Merge branch 'master' into maps
tmayoff Jun 24, 2022
0a2d7a4
removed whitespace
tmayoff Jun 24, 2022
243b738
generating typedefs + maps with maps as values
tmayoff Jun 24, 2022
e5df304
Finished test
tmayoff Jun 24, 2022
95b7517
whitespace
tmayoff Jun 24, 2022
53d65da
whitespace
tmayoff Jun 24, 2022
94eecfc
generating <map> include conditionally
tmayoff Jun 24, 2022
11077a8
Should silence the codacy check
tmayoff Jun 24, 2022
4cff930
used the wrong vars for the check
tmayoff Jun 24, 2022
3af0ed4
Merge branch 'master' into maps
tmayoff Jun 24, 2022
922bc3f
cleaned up some warnings
tmayoff Jun 24, 2022
51b71fd
No more generated warnings and fixed the last codacy warning
tmayoff Jun 25, 2022
51ad46b
added ast_map.h to ast.h
tmayoff Jun 26, 2022
3b736f5
Cleaned up the maps test
tmayoff Jun 27, 2022
cbedd95
Fixed double free error
tmayoff Jun 27, 2022
af034d4
Cleaned up some final comments and stubbed code and fixed formatting
tmayoff Jun 29, 2022
f8e8e5d
cleaned up default destructors + using is_empty
tmayoff Jul 6, 2022
1cb036a
Fixed TAO_IDL_IDL_VERSION macro
tmayoff Jul 7, 2022
508cb95
Fixed formatting
tmayoff Jul 7, 2022
d1bf737
Removed comments
tmayoff Jul 7, 2022
90f9feb
Fixed error messaging in ifr_adding_visitor
tmayoff Jul 12, 2022
b6de86b
Formatted
tmayoff Jul 22, 2022
23700ef
fixed some things, switched to std::strcmp
tmayoff Jul 22, 2022
f55d0fb
Started on some more testing
tmayoff Jul 22, 2022
e06ccf4
Fixed issue with names
tmayoff Aug 4, 2022
0c31804
typos
tmayoff Aug 6, 2022
3eac499
Created recursive example that fails
tmayoff Aug 6, 2022
38dfb73
Updated comments / author notes
tmayoff Aug 12, 2022
da15886
cleaned test file
tmayoff Aug 12, 2022
025d75a
cleaned up old comments
tmayoff Aug 12, 2022
9caa9c9
fixed whitespace
tmayoff Aug 12, 2022
73e4e12
comment
tmayoff Aug 13, 2022
4dfa447
regenerated after changes
tmayoff Aug 13, 2022
d947751
Fixed recursion check
tmayoff Aug 13, 2022
f223c82
Fixed recursive type test
tmayoff Aug 13, 2022
f4789ac
Switched to std::snprintf
tmayoff Aug 13, 2022
42df71b
another switch
tmayoff Aug 13, 2022
4a3d7ed
Typo
tmayoff Aug 20, 2022
8954164
Merge branch 'master' into maps
tmayoff Sep 6, 2022
9b3324c
Update TAO/TAO_IDL/include/idl_global.h
tmayoff Sep 30, 2022
2d311a5
Update TAO/TAO_IDL/include/ast_visitor_tmpl_module_inst.h
tmayoff Sep 30, 2022
cfc7584
Update TAO/TAO_IDL/include/ast_visitor_reifying.h
tmayoff Sep 30, 2022
45dbc23
Update TAO/TAO_IDL/include/ast_generator.h
tmayoff Sep 30, 2022
36a3d4e
Merge branch 'master' into maps
jwillemsen Oct 5, 2022
37b7fba
Merge branch 'master' into maps
jwillemsen Oct 13, 2022
300a3a1
Added tests/IDLv4 to github actions
tmayoff Oct 13, 2022
be18a08
Merge branch 'maps' of https://github.com/tmayoff/ACE_TAO into maps
tmayoff Oct 13, 2022
f3aff9b
added shell to CI
tmayoff Oct 13, 2022
6ceaada
cleaned up some generated code
tmayoff Oct 13, 2022
4d1b3d3
fixed comments, removed unused
tmayoff Oct 18, 2022
bdc650d
Almost working stream operators
tmayoff Oct 22, 2022
6f8fce1
removed support for bounded maps
tmayoff Oct 22, 2022
c9d754c
fixed cdr op
tmayoff Oct 22, 2022
e271555
remove bounded maps
tmayoff Oct 22, 2022
7ccbd1c
proper map key/val type code gen
tmayoff Oct 22, 2022
735ad05
fixed warnings
tmayoff Oct 22, 2022
8a1a7ba
added map to node_type_to_string
tmayoff Oct 22, 2022
17cee1b
whitespace
tmayoff Oct 22, 2022
c41ff8c
Merge branch 'master' into maps
tmayoff Oct 22, 2022
73bdce4
switched typedef to using
tmayoff Oct 22, 2022
00c4af2
Merge branch 'maps' of https://github.com/tmayoff/ACE_TAO into maps
tmayoff Oct 22, 2022
197dc29
Merge branch 'master' into maps
jwillemsen Jan 31, 2023
69a160c
C++ sometimes struggles with structs as map keys
tmayoff Mar 21, 2023
a0a132a
Merge branch 'master' into maps
tmayoff Mar 21, 2023
061d692
Merge branch 'master' into maps
tmayoff Apr 24, 2023
43d328e
Merge branch 'master' into maps
tmayoff Aug 8, 2023
2564f45
Update TAO/TAO_IDL/be/be_visitor_map/map_cs.cpp
tmayoff Aug 18, 2023
bbf82d1
Update TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp
tmayoff Aug 18, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,10 @@ jobs:
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4
shell: pwsh
- name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4
shell: pwsh
- name: Build TAO_ACE workspace
run: |
make -j 6 -C ${env:TAO_ROOT}
Expand All @@ -243,6 +247,10 @@ jobs:
make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test
shell: pwsh
if: matrix.feature != 'CORBA/e micro'
- name: Build TAO/tests/IDLv4 project
run: |
make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4
shell: pwsh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
if: matrix.feature == 'CodeQL'
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/macosx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ jobs:
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDL_Test -workers 4
shell: pwsh
- name: Run mwc.pl on $(TAO_ROOT)/tests/IDLv4
run: |
perl ${env:ACE_ROOT}/bin/mwc.pl -type gnuace ${env:TAO_ROOT}/tests/IDLv4 -workers 4
shell: pwsh
- name: Build TAO_ACE project
run: |
make -j 6 -C ${env:TAO_ROOT}
Expand All @@ -73,3 +77,8 @@ jobs:
run: |
make -j 6 -C ${env:TAO_ROOT}/tests/IDL_Test
shell: pwsh
- name: Build TAO/tests/IDLv4/maps project
run: |
make -j 6 -C ${env:TAO_ROOT}/tests/IDLv4
shell: pwsh

3 changes: 3 additions & 0 deletions TAO/TAO_IDL/ast/ast_decl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,9 @@ AST_Decl::node_type_to_string (NodeType nt)
case NT_sequence:
return "sequence";

case NT_map:
return "map";

case NT_typedef:
return "typedef";

Expand Down
22 changes: 22 additions & 0 deletions TAO/TAO_IDL/ast/ast_generator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_enum_val.h"
#include "ast_array.h"
#include "ast_sequence.h"
#include "ast_map.h"
#include "ast_string.h"
#include "ast_structure_fwd.h"
#include "ast_typedef.h"
Expand Down Expand Up @@ -867,6 +868,27 @@ AST_Generator::create_sequence (AST_Expression *ms,
return retval;
}

AST_Map *
AST_Generator::create_map (AST_Expression *ms,
AST_Type *key_bt,
AST_Type *val_bt,
UTL_ScopedName *n,
bool is_local,
bool is_abstract)
{
AST_Map *retval = nullptr;
ACE_NEW_RETURN (retval,
AST_Map (ms,
key_bt,
val_bt,
n,
is_local,
is_abstract),
nullptr);

return retval;
}

AST_String *
AST_Generator::create_string (AST_Expression *ms)
{
Expand Down
Loading