Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-5234

Fix a number of js/ts generation issues

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.14.0
    • Component/s: JavaScript - Compiler
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      The following text stems from the original PR by Phil Price:

       

      Fix a number of js/ts generation issues:

      • [js] Missing class name for generated services and processors; this makes instrumentation of outbound calls (e.g. which service are we calling in to) difficult. Generating a class name for es6 enables x.constructor.name to get generated name.
      • [js] Fix case where services have a method with an argument named "params", generated code generates an identifier in the "send_XXX" body named "params" which conflicts with the argument. Ensure the identifier in the body is uniquely named.
      • [js] Ensure that derived services (extends XYZService) correctly call super() in their constructor.
      • [ts] Ensure that derived services (extends XYZSerice) correctly specify the base class Client and Processor name
      • [js] Ensure that derived service clients do not redefine private fields (output, pClass, _seqId, _reqs) and call super();
      • [ts] Ensure derived service clients and processors do not redefine private fields in declaration.
      • [js] Missing class name for generated services and processors; this makes instrumentation of outbound calls (e.g. which service are we calling in to) difficult. Generating a class name for es6 enables x.constructor.name to get generated name.
      • [js] Fix case where services have a method with an argument named "params", generated code generates an identifier in the "send_XXX" body named "params" which conflicts with the argument. Ensure the identifier in the body is uniquely named.
      • [js] Ensure that derived services (extends XYZService) correctly call super() in their constructor.
      • [ts] Ensure that derived services (extends XYZSerice) correctly specify the base class Client and Processor name
      • [js] Ensure that derived service clients do not redefine private fields (output, pClass, _seqId, _reqs) and call super();
      • [ts] Ensure derived service clients and processors do not redefine private fields in declaration.

        Attachments

          Activity

            People

            • Assignee:
              jensg Jens Geyer
              Reporter:
              jensg Jens Geyer
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m