private void acceptContainer(ProtoContainerElement container) { acceptMessages(container.getMessages()); acceptElems(container.getEnums()); }
@Visits void visit(ProtoContainerElement container) { namespaces.push(container.getFullName()); accept(container); namespaces.pop(); }
private <T> void recursivePutAttribute(ProtoContainerElement element, Key<T> key, T attribute) { element.putAttribute(key, attribute); for (ProtoContainerElement message : element.getMessages()) { recursivePutAttribute(message, key, attribute); } for (EnumType enumType : element.getEnums()) { enumType.putAttribute(key, attribute); } }
protected void buildChildren(List<DescriptorProto> messageList, List<EnumDescriptorProto> enumList, String path, int messageTypeNumber, int enumTypeNumber, ExtensionPool extensionPool) { // Build messages. ImmutableList.Builder<MessageType> messagesBuilder = ImmutableList.builder(); for (int i = 0; i < messageList.size(); i++) { String childPath = buildPath(path, messageTypeNumber, i); messagesBuilder.add(MessageType.create(this, messageList.get(i), childPath, extensionPool)); } messages = messagesBuilder.build(); // Build enums. ImmutableList.Builder<EnumType> enumsBuilder = ImmutableList.builder(); for (int i = 0; i < enumList.size(); i++) { String childPath = buildPath(path, enumTypeNumber, i); enumsBuilder.add(EnumType.create(this, enumList.get(i), childPath)); } enums = enumsBuilder.build(); } }
protected void buildChildren(List<DescriptorProto> messageList, List<EnumDescriptorProto> enumList, String path, int messageTypeNumber, int enumTypeNumber, ExtensionPool extensionPool) { // Build messages. ImmutableList.Builder<MessageType> messagesBuilder = ImmutableList.builder(); for (int i = 0; i < messageList.size(); i++) { String childPath = buildPath(path, messageTypeNumber, i); messagesBuilder.add(MessageType.create(this, messageList.get(i), childPath, extensionPool)); } messages = messagesBuilder.build(); // Build enums. ImmutableList.Builder<EnumType> enumsBuilder = ImmutableList.builder(); for (int i = 0; i < enumList.size(); i++) { String childPath = buildPath(path, enumTypeNumber, i); enumsBuilder.add(EnumType.create(this, enumList.get(i), childPath)); } enums = enumsBuilder.build(); } }
private void acceptContainer(ProtoContainerElement container) { acceptMessages(container.getMessages()); acceptElems(container.getEnums()); }
private <T> void recursivePutAttribute(ProtoContainerElement element, Key<T> key, T attribute) { element.putAttribute(key, attribute); for (ProtoContainerElement message : element.getMessages()) { recursivePutAttribute(message, key, attribute); } for (EnumType enumType : element.getEnums()) { enumType.putAttribute(key, attribute); } }
@Visits void visit(ProtoContainerElement container) { namespaces.push(container.getFullName()); accept(container); namespaces.pop(); }
public List<GrpcElementDocView> generateElementDocs( GapicProductConfig productConfig, ModelTypeTable typeTable, SurfaceNamer namer, ProtoContainerElement containerElement) { ImmutableList.Builder<GrpcElementDocView> children = ImmutableList.builder(); Set<String> lroTypes = productConfig .getInterfaceConfigMap() .values() .stream() .flatMap(i -> i.getMethodConfigs().stream()) .map(MethodConfig::getLongRunningConfig) .filter(Objects::nonNull) .flatMap(lro -> Stream.of(lro.getReturnType(), lro.getMetadataType())) .map(t -> ((ProtoTypeRef) t).getProtoType()) .map(TypeRef::getMessageType) .map(MessageType::getFullName) .collect(ImmutableSet.toImmutableSet()); Collection<MessageType> messages = containerElement .getMessages() .stream() .filter(m -> m.isReachable() || lroTypes.contains(m.getFullName())) .collect(ImmutableList.toImmutableList()); children.addAll(generateMessageDocs(productConfig, typeTable, namer, messages)); children.addAll(generateEnumDocs(typeTable, namer, containerElement.getEnums())); return children.build(); }
private List<GrpcElementDocView> generateEnumFileElements( ModelTypeTable typeTable, SurfaceNamer namer, ProtoContainerElement containerElement) { ImmutableList.Builder<GrpcElementDocView> elements = ImmutableList.builder(); elements.addAll( elementDocTransformer.generateEnumDocs(typeTable, namer, containerElement.getEnums())); for (MessageType message : containerElement.getMessages()) { List<GrpcElementDocView> elementDocs = generateEnumFileElements(typeTable, namer, message); if (!elementDocs.isEmpty()) { GrpcMessageDocView.Builder messageView = GrpcMessageDocView.newBuilder(); messageView.name(namer.publicClassName(Name.upperCamel(message.getSimpleName()))); messageView.fullName(typeTable.getFullNameFor(TypeRef.of(message))); messageView.fileUrl(GapicParser.getFileUrl(message.getFile())); messageView.lines(namer.getDocLines(GapicParser.getDocString(message))); messageView.properties(ImmutableList.<ParamDocView>of()); messageView.elementDocs(elementDocs); messageView.packageName(message.getFile().getFullName()); elements.add(messageView.build()); } } return elements.build(); }
MessageType messageType = getElementWithName(container.getMessages(), pathElement); EnumType enumType = getElementWithName(container.getEnums(), pathElement); if (messageType != null) { container = messageType;