* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class Protobuf extends CodeGeneratorAbstract { /** * @inheritDoc */ public function getFileName(string $file): string { return $file . '.proto'; } /** * @inheritDoc */ protected function newTypeGenerator(array $mapping): GeneratorInterface { return new Type\Protobuf($mapping); } /** * @inheritDoc */ protected function writeStruct( string $name, array $properties, ?string $extends, ?array $generics, StructType $origin, ): string { $code = 'message ' . $name . ' {' . "\n"; $index = 1; foreach ($properties as $name => $property) { /** @var Code\Property $property */ $code.= $this->indent . $property->getType() . ' ' . $name . ' = ' . $index . ';' . "\n"; $index++; } $code.= '}' . "\n"; return $code; } } __halt_compiler();----SIGNATURE:----GlJwsl74Tr4G2+gOcI7udsplTU9+PUFPEh/Z6jNnfO/fq0m/AyD5BntQ725Pvgy2Q6zjFhXGRjaOCfZijUD6RDMRkr7XOGxa4Ryvl9Ojwj4ordA/tXeXQOroZbB97M3GpXSrfz+otQHwwnxiL0QFauZrku1PXVZ900jQd5PPL6O7vC73e7oYbePB8TgC+6IMF6c/ERrkPl3/pJvr+InAnO2h3YBstYJz+5Lge0uh9UhlEIuXVZMUHF2R8Nq2GL+RYwJNXDGteJ434leq3AZAysEq+xsjWlnUJHYS1F5iSeQ6Sh3rxzB8OJ3qxluoEoL0/kiQZkorT6zy8vlywY8Y9dxj9XTmp5oo1L5+rzd0Hs85LB67j8kJhXhUmGtVLq2L57l0mC2+BGJ+u6Qu1KgXffs9dEYCS47MYEsKQ9oFcUXoP0xbkelFED1fscczTQIWUjELPrTn96B4fy4Ke16EEIXrppEJoZ3GCICgAAff4J+1cXPNkWyHBSVmGIo0ob2kpgm8Pouyzp5LdUa1s3tAmKQDGm9SYbkVwV/b1MeCjUxUtySxKKJbYF9MmCnoZODgc4PnSdDIa66JcefT3cwr1J0gewvRRMm5wmIfj56unpcFfkYaqJ/Gt2t+UQ5tr1BJutwuTrUn8z7i8uCNkkwvIw558GSVXufvnbQgK5AJhJA=----ATTACHMENT:----NTAyOTk0MTgyOTQwNDYxMSA1MzM2NTg5NTEyNjMzMjYgNTM5ODg0Mjk0ODc1Mjgy