Ejemplo n.º 1
0
 protected CharSequence _generateDeserializationStatementForUserType(
     final ResponseBlock response, final UserType type, final ComplexTypeDeclaration declaration) {
   StringConcatenation _builder = new StringConcatenation();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(true);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("this.");
   String _signature = ModelExtensions.signature(type);
   String _camelize = Strings.camelize(_signature);
   _builder.append(_camelize, "\t\t");
   _builder.append(" = new ");
   String _signature_1 = ModelExtensions.signature(type);
   _builder.append(_signature_1, "\t\t");
   _builder.append("();");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("provider.get(");
   String _signature_2 = ModelExtensions.signature(type);
   _builder.append(_signature_2, "\t\t");
   _builder.append(".class).read(reader, this.");
   String _signature_3 = ModelExtensions.signature(type);
   String _camelize_1 = Strings.camelize(_signature_3);
   _builder.append(_camelize_1, "\t\t");
   _builder.append(");");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(true);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 2
0
 protected CharSequence _generateDeserializationStatementForUserType(
     final ResponseBlock response, final UserType type, final EnumTypeDeclaration declaration) {
   StringConcatenation _builder = new StringConcatenation();
   this.imports.addImport("com.robotoworks.mechanoid.util.Streams");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(false);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("String source = Streams.readAllText(inStream);");
   _builder.newLine();
   _builder.append("\t\t");
   _builder.append("this.");
   String _signature = ModelExtensions.signature(type);
   String _camelize = Strings.camelize(_signature);
   _builder.append(_camelize, "\t\t");
   _builder.append(" = ");
   String _signature_1 = ModelExtensions.signature(type);
   _builder.append(_signature_1, "\t\t");
   _builder.append(".fromValue(source);");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(false);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 3
0
 protected CharSequence _generateFieldForType(final GenericListType type) {
   StringConcatenation _builder = new StringConcatenation();
   {
     Type _elementType = type.getElementType();
     if ((_elementType instanceof IntrinsicType)) {
       _builder.append("private ");
       String _signature = ModelExtensions.signature(type);
       _builder.append(_signature, "");
       _builder.append(" values;");
       _builder.newLineIfNotEmpty();
     } else {
       _builder.append("private ");
       String _signature_1 = ModelExtensions.signature(type);
       _builder.append(_signature_1, "");
       _builder.append(" ");
       String _innerSignature = ModelExtensions.innerSignature(type);
       String _camelize = Strings.camelize(_innerSignature);
       String _pluralize = Strings.pluralize(_camelize);
       _builder.append(_pluralize, "");
       _builder.append(";");
       _builder.newLineIfNotEmpty();
     }
   }
   return _builder;
 }
Ejemplo n.º 4
0
 protected CharSequence _generateFieldForMember(final TypedMember member) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("private ");
   Type _type = member.getType();
   String _signature = ModelExtensions.signature(_type);
   _builder.append(_signature, "");
   _builder.append(" ");
   String _identifier = ModelExtensions.toIdentifier(member);
   _builder.append(_identifier, "");
   _builder.append(";");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 5
0
 protected CharSequence _generateFieldForType(final UserType type) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("private ");
   String _signature = ModelExtensions.signature(type);
   _builder.append(_signature, "");
   _builder.append(" ");
   String _signature_1 = ModelExtensions.signature(type);
   String _camelize = Strings.camelize(_signature_1);
   String _escapeReserved = ModelExtensions.escapeReserved(_camelize);
   _builder.append(_escapeReserved, "");
   _builder.append(";");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 6
0
 protected CharSequence _generateDeserializationStatementForType(
     final ResponseBlock response, final IntrinsicType type) {
   StringConcatenation _builder = new StringConcatenation();
   this.imports.addImport("com.robotoworks.mechanoid.util.Streams");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(false);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("String source = Streams.readAllText(inStream);");
   _builder.newLine();
   _builder.append("\t\t");
   _builder.newLine();
   _builder.append("\t\t");
   _builder.append("this.value = ");
   String _boxedTypeSignature = ModelExtensions.getBoxedTypeSignature(type);
   _builder.append(_boxedTypeSignature, "\t\t");
   _builder.append(".valueOf(source);");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(false);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 7
0
 protected CharSequence _generateFieldForType(final IntrinsicType type) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("private ");
   String _signature = ModelExtensions.signature(type);
   _builder.append(_signature, "");
   _builder.append(" value;\t");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 8
0
 protected CharSequence _generateDeserializationStatementForUserTypeGenericList(
     final ResponseBlock response,
     final GenericListType type,
     final UserType genericType,
     final ComplexTypeDeclaration declaration) {
   StringConcatenation _builder = new StringConcatenation();
   this.imports.addImport("java.util.List");
   _builder.newLineIfNotEmpty();
   this.imports.addImport("java.util.ArrayList");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(true);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("this.");
   String _innerSignature = ModelExtensions.innerSignature(type);
   String _camelize = Strings.camelize(_innerSignature);
   String _pluralize = Strings.pluralize(_camelize);
   _builder.append(_pluralize, "\t\t");
   _builder.append(" = new ArrayList<");
   String _innerSignature_1 = ModelExtensions.innerSignature(type);
   _builder.append(_innerSignature_1, "\t\t");
   _builder.append(">();");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("provider.get(");
   String _innerSignature_2 = ModelExtensions.innerSignature(type);
   _builder.append(_innerSignature_2, "\t\t");
   _builder.append(".class).readList(reader, this.");
   String _innerSignature_3 = ModelExtensions.innerSignature(type);
   String _camelize_1 = Strings.camelize(_innerSignature_3);
   String _pluralize_1 = Strings.pluralize(_camelize_1);
   _builder.append(_pluralize_1, "\t\t");
   _builder.append(");");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(true);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 9
0
 protected CharSequence _generateGetterForType(final GenericListType type) {
   StringConcatenation _builder = new StringConcatenation();
   {
     Type _elementType = type.getElementType();
     if ((_elementType instanceof IntrinsicType)) {
       _builder.append("public ");
       String _signature = ModelExtensions.signature(type);
       _builder.append(_signature, "");
       _builder.append(" getValues(){");
       _builder.newLineIfNotEmpty();
       _builder.append("\t");
       _builder.append("return this.values;");
       _builder.newLine();
       _builder.append("}");
       _builder.newLine();
     } else {
       _builder.append("public ");
       String _signature_1 = ModelExtensions.signature(type);
       _builder.append(_signature_1, "");
       _builder.append(" get");
       String _innerSignature = ModelExtensions.innerSignature(type);
       String _pascalize = Strings.pascalize(_innerSignature);
       String _pluralize = Strings.pluralize(_pascalize);
       _builder.append(_pluralize, "");
       _builder.append("(){");
       _builder.newLineIfNotEmpty();
       _builder.append("\t");
       _builder.append("return this.");
       String _innerSignature_1 = ModelExtensions.innerSignature(type);
       String _camelize = Strings.camelize(_innerSignature_1);
       String _pluralize_1 = Strings.pluralize(_camelize);
       _builder.append(_pluralize_1, "\t");
       _builder.append(";");
       _builder.newLineIfNotEmpty();
       _builder.append("}");
       _builder.newLine();
     }
   }
   return _builder;
 }
Ejemplo n.º 10
0
 protected CharSequence _generateGetterForType(final UserType type) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("public ");
   String _signature = ModelExtensions.signature(type);
   _builder.append(_signature, "");
   _builder.append(" get");
   String _signature_1 = ModelExtensions.signature(type);
   String _pascalize = Strings.pascalize(_signature_1);
   _builder.append(_pascalize, "");
   _builder.append("(){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("return this.");
   String _signature_2 = ModelExtensions.signature(type);
   String _camelize = Strings.camelize(_signature_2);
   String _escapeReserved = ModelExtensions.escapeReserved(_camelize);
   _builder.append(_escapeReserved, "\t");
   _builder.append(";");
   _builder.newLineIfNotEmpty();
   _builder.append("}");
   _builder.newLine();
   return _builder;
 }
Ejemplo n.º 11
0
 protected CharSequence _generateGetterForType(final IntrinsicType type) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("public ");
   String _signature = ModelExtensions.signature(type);
   _builder.append(_signature, "");
   _builder.append(" getValue(){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("return this.value;");
   _builder.newLine();
   _builder.append("}");
   _builder.newLine();
   return _builder;
 }
Ejemplo n.º 12
0
 protected CharSequence _generateDeserializationStatementForGenericListType(
     final ResponseBlock response, final GenericListType type, final IntrinsicType genericType) {
   StringConcatenation _builder = new StringConcatenation();
   this.imports.addImport("com.robotoworks.mechanoid.internal.util.JsonUtil");
   _builder.newLineIfNotEmpty();
   this.imports.addImport("java.util.List");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(true);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("this.values = JsonUtil.read");
   String _boxedTypeSignature = ModelExtensions.getBoxedTypeSignature(genericType);
   _builder.append(_boxedTypeSignature, "\t\t");
   _builder.append("List(reader);");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(true);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 13
0
 protected CharSequence _generateBaseAccessor(final TypedMember member) {
   StringConcatenation _builder = new StringConcatenation();
   {
     Type _type = member.getType();
     if ((_type instanceof GenericListType)) {
       this.imports.addImport("java.util.List");
     }
   }
   _builder.newLineIfNotEmpty();
   _builder.append("public ");
   Type _type_1 = member.getType();
   String _signature = ModelExtensions.signature(_type_1);
   _builder.append(_signature, "");
   _builder.append(" ");
   String _getMethodName = ModelExtensions.toGetMethodName(member);
   _builder.append(_getMethodName, "");
   _builder.append("(){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("return base.");
   String _getMethodName_1 = ModelExtensions.toGetMethodName(member);
   _builder.append(_getMethodName_1, "\t");
   _builder.append("();");
   _builder.newLineIfNotEmpty();
   _builder.append("}");
   _builder.newLine();
   _builder.append("public void ");
   String _setMethodName = ModelExtensions.toSetMethodName(member);
   _builder.append(_setMethodName, "");
   _builder.append("(");
   Type _type_2 = member.getType();
   String _signature_1 = ModelExtensions.signature(_type_2);
   _builder.append(_signature_1, "");
   _builder.append(" value){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("base.");
   String _setMethodName_1 = ModelExtensions.toSetMethodName(member);
   _builder.append(_setMethodName_1, "\t");
   _builder.append("(value);");
   _builder.newLineIfNotEmpty();
   _builder.append("}");
   _builder.newLine();
   return _builder;
 }
Ejemplo n.º 14
0
 protected CharSequence _generateGetter(final TypedMember member) {
   StringConcatenation _builder = new StringConcatenation();
   _builder.append("public ");
   Type _type = member.getType();
   String _signature = ModelExtensions.signature(_type);
   _builder.append(_signature, "");
   _builder.append(" ");
   String _getMethodName = ModelExtensions.toGetMethodName(member);
   _builder.append(_getMethodName, "");
   _builder.append("(){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("return this.");
   String _identifier = ModelExtensions.toIdentifier(member);
   _builder.append(_identifier, "\t");
   _builder.append(";");
   _builder.newLineIfNotEmpty();
   _builder.append("}");
   _builder.newLine();
   _builder.append("public void ");
   String _setMethodName = ModelExtensions.toSetMethodName(member);
   _builder.append(_setMethodName, "");
   _builder.append("(");
   Type _type_1 = member.getType();
   String _signature_1 = ModelExtensions.signature(_type_1);
   _builder.append(_signature_1, "");
   _builder.append(" value){");
   _builder.newLineIfNotEmpty();
   _builder.append("\t");
   _builder.append("this.");
   String _identifier_1 = ModelExtensions.toIdentifier(member);
   _builder.append(_identifier_1, "\t");
   _builder.append(" = value;");
   _builder.newLineIfNotEmpty();
   _builder.append("}");
   _builder.newLine();
   return _builder;
 }
Ejemplo n.º 15
0
 protected CharSequence _generateDeserializationStatementForUserTypeGenericList(
     final ResponseBlock response,
     final GenericListType type,
     final UserType genericType,
     final EnumTypeDeclaration declaration) {
   StringConcatenation _builder = new StringConcatenation();
   this.imports.addImport("com.robotoworks.mechanoid.internal.util.JsonToken");
   _builder.newLineIfNotEmpty();
   this.imports.addImport("java.util.ArrayList");
   _builder.newLineIfNotEmpty();
   this.imports.addImport("java.util.List");
   _builder.newLineIfNotEmpty();
   CharSequence _generateDeserializationStatementHeader =
       this.generateDeserializationStatementHeader(true);
   _builder.append(_generateDeserializationStatementHeader, "");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.append("this.");
   String _innerSignature = ModelExtensions.innerSignature(type);
   String _camelize = Strings.camelize(_innerSignature);
   String _pluralize = Strings.pluralize(_camelize);
   _builder.append(_pluralize, "\t\t");
   _builder.append(" = new Array");
   String _signature = ModelExtensions.signature(type);
   _builder.append(_signature, "\t\t");
   _builder.append("();");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t");
   _builder.newLine();
   _builder.append("\t\t");
   _builder.append("if(reader.peek() != JsonToken.NULL) {");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.append("reader.beginArray();");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.append("while(reader.hasNext()) {");
   _builder.newLine();
   _builder.append("\t\t\t\t");
   String _innerSignature_1 = ModelExtensions.innerSignature(type);
   _builder.append(_innerSignature_1, "\t\t\t\t");
   _builder.append(" element = ");
   String _innerSignature_2 = ModelExtensions.innerSignature(type);
   _builder.append(_innerSignature_2, "\t\t\t\t");
   _builder.append(".fromValue(reader.");
   String _resolveJsonReaderMethodName = ModelExtensions.resolveJsonReaderMethodName(declaration);
   _builder.append(_resolveJsonReaderMethodName, "\t\t\t\t");
   _builder.append("());");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t\t\t");
   _builder.append("this.");
   String _innerSignature_3 = ModelExtensions.innerSignature(type);
   String _camelize_1 = Strings.camelize(_innerSignature_3);
   String _pluralize_1 = Strings.pluralize(_camelize_1);
   _builder.append(_pluralize_1, "\t\t\t\t");
   _builder.append(".add(element);");
   _builder.newLineIfNotEmpty();
   _builder.append("\t\t\t");
   _builder.append("}");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.newLine();
   _builder.append("\t\t\t");
   _builder.append("reader.endArray();");
   _builder.newLine();
   _builder.append("\t\t");
   _builder.append("}");
   _builder.newLine();
   CharSequence _generateDeserializationStatementFooter =
       this.generateDeserializationStatementFooter(true);
   _builder.append(_generateDeserializationStatementFooter, "");
   _builder.newLineIfNotEmpty();
   return _builder;
 }
Ejemplo n.º 16
0
 public CharSequence generateResponseClass(
     final HttpMethod method, final Model module, final Client client) {
   StringConcatenation _builder = new StringConcatenation();
   final ResponseBlock responseBlock = ModelExtensions.getResponseBlock(method);
   _builder.newLineIfNotEmpty();
   _builder.append("public class ");
   String _name = method.getName();
   String _pascalize = Strings.pascalize(_name);
   _builder.append(_pascalize, "");
   _builder.append("Result extends ServiceResult {");
   _builder.newLineIfNotEmpty();
   {
     BlockType _type = null;
     if (responseBlock != null) {
       _type = responseBlock.getType();
     }
     boolean _notEquals = (!Objects.equal(_type, null));
     if (_notEquals) {
       _builder.append("\t");
       BlockType _type_1 = responseBlock.getType();
       CharSequence _generateFieldForType = this.generateFieldForType(_type_1);
       _builder.append(_generateFieldForType, "\t");
       _builder.append("\t");
       _builder.newLineIfNotEmpty();
       _builder.append("\t");
       BlockType _type_2 = responseBlock.getType();
       CharSequence _generateGetterForType = this.generateGetterForType(_type_2);
       _builder.append(_generateGetterForType, "\t");
       _builder.append("\t");
       _builder.newLineIfNotEmpty();
     }
   }
   {
     ComplexTypeDeclaration _superType = null;
     if (responseBlock != null) {
       _superType = responseBlock.getSuperType();
     }
     boolean _notEquals_1 = (!Objects.equal(_superType, null));
     if (_notEquals_1) {
       _builder.append("\t");
       _builder.append("private ");
       ComplexTypeDeclaration _superType_1 = responseBlock.getSuperType();
       String _name_1 = _superType_1.getName();
       String _pascalize_1 = Strings.pascalize(_name_1);
       _builder.append(_pascalize_1, "\t");
       _builder.append(" base;");
       _builder.newLineIfNotEmpty();
       _builder.append("\t");
       ComplexTypeDeclaration _superType_2 = responseBlock.getSuperType();
       ComplexTypeLiteral _literal = _superType_2.getLiteral();
       EList<Member> _members = _literal.getMembers();
       final Function1<Member, Boolean> _function =
           new Function1<Member, Boolean>() {
             @Override
             public Boolean apply(final Member superMember) {
               BlockType _type = null;
               if (responseBlock != null) {
                 _type = responseBlock.getType();
               }
               if ((_type instanceof ComplexTypeLiteral)) {
                 BlockType _type_1 = responseBlock.getType();
                 EList<Member> _members = ((ComplexTypeLiteral) _type_1).getMembers();
                 final Function1<Member, Boolean> _function =
                     new Function1<Member, Boolean>() {
                       @Override
                       public Boolean apply(final Member member) {
                         String _name = superMember.getName();
                         String _name_1 = member.getName();
                         return Boolean.valueOf(_name.equals(_name_1));
                       }
                     };
                 Member _findFirst = IterableExtensions.<Member>findFirst(_members, _function);
                 return Boolean.valueOf(Objects.equal(_findFirst, null));
               }
               return Boolean.valueOf(true);
             }
           };
       Iterable<Member> _filter = IterableExtensions.<Member>filter(_members, _function);
       CharSequence _generateBaseAccessors = this.generateBaseAccessors(_filter);
       _builder.append(_generateBaseAccessors, "\t");
       _builder.newLineIfNotEmpty();
     }
   }
   _builder.append("\t");
   _builder.newLine();
   _builder.append("\t");
   _builder.append("public ");
   String _name_2 = method.getName();
   String _pascalize_2 = Strings.pascalize(_name_2);
   _builder.append(_pascalize_2, "\t");
   _builder.append(
       "Result(JsonEntityReaderProvider provider, InputStream inStream) throws IOException {");
   _builder.newLineIfNotEmpty();
   {
     boolean _notEquals_2 = (!Objects.equal(responseBlock, null));
     if (_notEquals_2) {
       {
         boolean _or = false;
         BlockType _type_3 = responseBlock.getType();
         if ((_type_3 instanceof ComplexTypeLiteral)) {
           _or = true;
         } else {
           ComplexTypeDeclaration _superType_3 = responseBlock.getSuperType();
           boolean _notEquals_3 = (!Objects.equal(_superType_3, null));
           _or = _notEquals_3;
         }
         if (_or) {
           _builder.append("\t");
           CharSequence _generateDeserializationStatementHeader =
               this.generateDeserializationStatementHeader(true);
           _builder.append(_generateDeserializationStatementHeader, "\t");
           _builder.newLineIfNotEmpty();
           {
             ComplexTypeDeclaration _superType_4 = responseBlock.getSuperType();
             boolean _notEquals_4 = (!Objects.equal(_superType_4, null));
             if (_notEquals_4) {
               _builder.append("\t");
               _builder.append("\t");
               _builder.append("this.base = new ");
               ComplexTypeDeclaration _superType_5 = responseBlock.getSuperType();
               String _name_3 = _superType_5.getName();
               String _pascalize_3 = Strings.pascalize(_name_3);
               _builder.append(_pascalize_3, "\t\t");
               _builder.append("();");
               _builder.newLineIfNotEmpty();
             }
           }
           {
             BlockType _type_4 = responseBlock.getType();
             if ((_type_4 instanceof ComplexTypeLiteral)) {
               _builder.append("\t");
               _builder.append("\t");
               String _name_4 = method.getName();
               String _pascalize_4 = Strings.pascalize(_name_4);
               _builder.append(_pascalize_4, "\t\t");
               _builder.append("Result subject = this;");
               _builder.newLineIfNotEmpty();
               _builder.append("\t");
               _builder.append("\t");
               BlockType _type_5 = responseBlock.getType();
               ComplexTypeDeclaration _superType_6 = null;
               if (responseBlock != null) {
                 _superType_6 = responseBlock.getSuperType();
               }
               ComplexTypeLiteral _literal_1 = null;
               if (_superType_6 != null) {
                 _literal_1 = _superType_6.getLiteral();
               }
               EList<Member> _mergeMembers =
                   this.mergeMembers(((ComplexTypeLiteral) _type_5), _literal_1);
               CharSequence _genReadComplexTypeLiteralForMembers =
                   this.jsonReaderGenerator.genReadComplexTypeLiteralForMembers(_mergeMembers);
               _builder.append(_genReadComplexTypeLiteralForMembers, "\t\t");
               _builder.newLineIfNotEmpty();
             }
           }
           _builder.append("\t");
           CharSequence _generateDeserializationStatementFooter =
               this.generateDeserializationStatementFooter(true);
           _builder.append(_generateDeserializationStatementFooter, "\t");
           _builder.newLineIfNotEmpty();
         } else {
           _builder.append("\t");
           BlockType _type_6 = responseBlock.getType();
           CharSequence _generateDeserializationStatementForType =
               this.generateDeserializationStatementForType(responseBlock, ((Type) _type_6));
           _builder.append(_generateDeserializationStatementForType, "\t");
           _builder.newLineIfNotEmpty();
         }
       }
     } else {
       _builder.append("\t");
       _builder.append("Closeables.closeSilently(inStream);");
       _builder.newLine();
     }
   }
   _builder.append("\t");
   _builder.append("}");
   _builder.newLine();
   _builder.append("}");
   _builder.newLine();
   return _builder;
 }