[ https://issues.apache.org/jira/browse/THRIFT-4228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III updated THRIFT-4228: --------------------------------------- Summary: Generated java service code emits a few dead local stores (was: Generated java service code emits a dead local store) > Generated java service code emits a few dead local stores > --------------------------------------------------------- > > Key: THRIFT-4228 > URL: https://issues.apache.org/jira/browse/THRIFT-4228 > Project: Thrift > Issue Type: Bug > Components: Java - Compiler > Affects Versions: 0.10.0 > Reporter: James E. King, III > Priority: Trivial > > I created a simple service: > {noformat} > namespace java org.apache.thrift.test > service DeadLocalStore > { > void doNothing(); > } > {noformat} > I compiled it with {{thrift --gen java}}. The resulting generated code has > some dead local stores that are unnecessary: > {noformat} > public static class doNothing_call extends > org.apache.thrift.async.TAsyncMethodCall<Void> { > public doNothing_call(org.apache.thrift.async.AsyncMethodCallback<Void> > resultHandler, org.apache.thrift.async.TAsyncClient client, > org.apache.thrift.protocol.TProtocolFactory protocolFactory, > org.apache.thrift.transport.TNonblockingTransport transport) throws > org.apache.thrift.TException { > super(client, protocolFactory, transport, resultHandler, false); > } > public void write_args(org.apache.thrift.protocol.TProtocol prot) > throws org.apache.thrift.TException { > prot.writeMessageBegin(new > org.apache.thrift.protocol.TMessage("doNothing", > org.apache.thrift.protocol.TMessageType.CALL, 0)); > doNothing_args args = new doNothing_args(); > args.write(prot); > prot.writeMessageEnd(); > } > public Void getResult() throws org.apache.thrift.TException { > if (getState() != > org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { > throw new java.lang.IllegalStateException("Method call not > finished!"); > } > org.apache.thrift.transport.TMemoryInputTransport memoryTransport = > new > org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); > org.apache.thrift.protocol.TProtocol prot = > client.getProtocolFactory().getProtocol(memoryTransport); > return null; > } > } > {noformat} > Above, memoryTransport and prot are unnecessary. > {noformat} > private static class doNothing_argsTupleScheme extends > org.apache.thrift.scheme.TupleScheme<doNothing_args> { > @Override > public void write(org.apache.thrift.protocol.TProtocol prot, > doNothing_args struct) throws org.apache.thrift.TException { > org.apache.thrift.protocol.TTupleProtocol oprot = > (org.apache.thrift.protocol.TTupleProtocol) prot; > } > @Override > public void read(org.apache.thrift.protocol.TProtocol prot, > doNothing_args struct) throws org.apache.thrift.TException { > org.apache.thrift.protocol.TTupleProtocol iprot = > (org.apache.thrift.protocol.TTupleProtocol) prot; > } > } > {noformat} > Above, iprot and oprot are unnecessary. > {noformat} > public void onError(java.lang.Exception e) { > byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; > org.apache.thrift.TSerializable msg; > doNothing_result result = new doNothing_result(); > if (e instanceof org.apache.thrift.transport.TTransportException) > { > _LOGGER.error("TTransportException inside handler", e); > fb.close(); > return; > } else if (e instanceof org.apache.thrift.TApplicationException) { > _LOGGER.error("TApplicationException inside handler", e); > msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; > msg = (org.apache.thrift.TApplicationException)e; > } else { > _LOGGER.error("Exception inside handler", e); > msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; > msg = new > org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, > e.getMessage()); > } > try { > fcall.sendResponse(fb,msg,msgType,seqid); > } catch (java.lang.Exception ex) { > _LOGGER.error("Exception writing to internal frame buffer", ex); > fb.close(); > } > } > {noformat} > Above, result is unnecessary. -- This message was sent by Atlassian JIRA (v6.4.14#64029)