private void generateComposite(final List<Token> tokens) throws IOException { final String compositeName = CSharpUtil.formatClassName(tokens.get(0).applicableTypeName()); try (Writer out = outputManager.createOutput(compositeName)) { out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(compositeName)); out.append(generateFixedFlyweightCode(tokens.get(0).encodedLength())); out.append(generateCompositePropertyElements(tokens.subList(1, tokens.size() - 1), BASE_INDENT)); out.append(INDENT + "}\n"); out.append("}\n"); } }
out.append(generateClassDeclaration(className)); out.append(generateMessageFlyweightCode(className, msgToken, BASE_INDENT));
private void generateComposite(final List<Token> tokens) throws IOException { final String compositeName = CSharpUtil.formatClassName(tokens.get(0).applicableTypeName()); try (Writer out = outputManager.createOutput(compositeName)) { out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(compositeName)); out.append(generateFixedFlyweightCode(tokens.get(0).encodedLength())); out.append(generateCompositePropertyElements(tokens.subList(1, tokens.size() - 1), BASE_INDENT)); out.append(INDENT + "}\n"); out.append("}\n"); } }
private void generateComposite(final List<Token> tokens) throws IOException { final String compositeName = CSharpUtil.formatClassName(tokens.get(0).applicableTypeName()); try (Writer out = outputManager.createOutput(compositeName)) { out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(compositeName)); out.append(generateFixedFlyweightCode(tokens.get(0).encodedLength())); out.append(generateCompositePropertyElements(tokens.subList(1, tokens.size() - 1), BASE_INDENT)); out.append(INDENT + "}\n"); out.append("}\n"); } }
private void generateComposite(final List<Token> tokens) throws IOException { final String compositeName = CSharpUtil.formatClassName(tokens.get(0).name()); try (final Writer out = outputManager.createOutput(compositeName)) { out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(compositeName)); out.append(generateFixedFlyweightCode(tokens.get(0).encodedLength())); out.append(generatePrimitivePropertyEncodings(tokens.subList(1, tokens.size() - 1), BASE_INDENT)); out.append(" }\n"); out.append("}\n"); } }
public void generateMessageHeaderStub() throws IOException { try (final Writer out = outputManager.createOutput(MESSAGE_HEADER_ENCODER_TYPE)) { final List<Token> tokens = ir.headerStructure().tokens(); out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(MESSAGE_HEADER_ENCODER_TYPE)); out.append(generateFixedFlyweightCode(tokens.get(0).encodedLength())); out.append(generatePrimitivePropertyEncodings(tokens.subList(1, tokens.size() - 1), BASE_INDENT)); out.append(" }\n"); out.append("}\n"); } }
public void generate() throws IOException { generateMessageHeaderStub(); generateTypeStubs(); for (final List<Token> tokens : ir.messages()) { final Token msgToken = tokens.get(0); final String className = formatClassName(msgToken.name()); try (final Writer out = outputManager.createOutput(className)) { out.append(generateFileHeader(ir.applicableNamespace())); out.append(generateClassDeclaration(className)); out.append(generateMessageFlyweightCode(className, msgToken)); final List<Token> messageBody = tokens.subList(1, tokens.size() - 1); int offset = 0; final List<Token> rootFields = new ArrayList<>(); offset = collectRootFields(messageBody, offset, rootFields); out.append(generateFields(rootFields, BASE_INDENT)); final List<Token> groups = new ArrayList<>(); offset = collectGroups(messageBody, offset, groups); final StringBuilder sb = new StringBuilder(); generateGroups(sb, className, groups, 0, BASE_INDENT); out.append(sb); final List<Token> varData = messageBody.subList(offset, messageBody.size()); out.append(generateVarData(varData)); out.append(" }\n"); out.append("}\n"); } } }
out.append(generateClassDeclaration(className)); out.append(generateMessageFlyweightCode(className, msgToken, BASE_INDENT));
out.append(generateClassDeclaration(className)); out.append(generateMessageFlyweightCode(className, msgToken, BASE_INDENT));