[MDSAL-666] Reserve class namespace for RPC definitions Created: 09/Jun/21 Updated: 04/Oct/22 Resolved: 10/Jun/21 |
|
| Status: | Resolved |
| Project: | mdsal |
| Component/s: | Binding codegen |
| Affects Version/s: | None |
| Fix Version/s: | 8.0.0 |
| Type: | Task | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
Integration of RFC7950 action statement has shown that generating a @FunctionalInterface definition for the invocation is nicely composable with lambdas – i.e. much better than the RpcService interface we are generating these days. As a first step towards a solution, reserve the SchemaTree identifier implied by rpc statement. This changes behaviour when we have:
grouping foo; rpc foo; Where we currently generate:
i.e. 'rpc foo' does not assert its entitlement to Foo as per being a schema tree statement – which means there is no conflict with the grouping. It does assert the corresponding package name (.foo.input), which is a potential secondary conflict. With this change we will generate a Foo$G for the grouping and nothing will be generated for Foo, as that name now belongs to 'rpc foo' instead of 'grouping foo'. |