/** * @param \google\protobuf\FileDescriptorProto $fileDescriptor * * @return array */ protected function buildFileEntities(FileDescriptorProto $fileDescriptor) { $messages = $fileDescriptor->getMessageTypeList(); $enums = $fileDescriptor->getEnumTypeList(); $services = $fileDescriptor->getServiceList(); $result = []; if ($messages !== null) { $result = array_merge($result, $this->generateMessages($fileDescriptor, $messages)); } if ($services !== null) { $result = array_merge($result, $this->generateServices($fileDescriptor, $services)); } if ($enums !== null) { $result = array_merge($result, $this->generateEnums($fileDescriptor, $enums)); } if ($this->hasExtension($fileDescriptor)) { $result[] = $this->generateExtension($fileDescriptor); } return $result; }