Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-666

Reserve class namespace for RPC definitions

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Medium Medium
    • 8.0.0
    • None
    • Binding codegen

      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: 

      • a Foo, representing the grouping
      • FooInput and FooOutput for RPC's input and output

      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'.

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: