private void addMessage(Descriptor message) { for (Descriptor nestedType : message.getNestedTypes()) { addMessage(nestedType); } if (types.containsKey(message.getFullName())) { logger.warning("Type " + message.getFullName() + " is added multiple times."); return; } types.put(message.getFullName(), message); }
private void addFile(FileDescriptor file) { // Skip the file if it's already added. if (!files.add(file.getFullName())) { return; } for (FileDescriptor dependency : file.getDependencies()) { addFile(dependency); } for (Descriptor message : file.getMessageTypes()) { addMessage(message); } }