* @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:----vIPUhx9gEdV+FyrOdr39abpibDQBsldPrcfV+3dk+oElKCUmL9UivFCRXRTg0e6Brte32gnU1wCNMfgXtgEVSro+1ZnE5+QIl+BdN1p5ZwuCkKy5FPwx9M7IfiuwyIZ4SzUT5zB5j5LsA1yGJicuJg5i7aObJwGv/I0acjNg6hEjbeaRmOrMaDqNVgimqKzREGAl56im3P9yX4bO/Be2cOkkMLMir64IrW34aRut+6x5f6/f3XCWHGnreHTNRefYJQyaEfNp6UDqQFF2jVlO10WADVoeriarmGu523LeN+A9lXJiigiYbBilAZN2YjZ6aYkOCRNZOTDIb4phcQ4H8wbOWx/tqpmFe+JaYr2s9mouzNjFgaZPyU8wvXYFYmjHnC+dZTWV9UCE3xniPWf8TSZNpZGrZgnLMzJS6LxEqmKVU9coZp9fYqiHuSwhZkhscEAokBoXtyv1fuWOiBcWpEoZJNmrQhSMkaE3apSoLsO68jlEqOQgP0svhoODW96bGk2qSNVm8Iec8vydyK7IBrEpERhrnQstt7/Jq2e770+ZZ/8i3Bb6Bqmc2zohI6zXOZqRWVU55PA3HJlOudVAqKfwldHvDd+9XPsa2bZ0KOXtdfSGHe5FXReRcuLAOCbG0XZhPGmhp/Nk2Utp9xJ3hlWh3g3tUWq74Sn6IlrbSx8=----ATTACHMENT:----MzExODMxMzE2ODg5Mzc2OCA0NjIyNDk4MjQ0ODI1MTI0IDk0MTk2OTA5NDE3ODU5MDc=