Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Descriptor.php

function Descriptor::buildFromProto

1 call to Descriptor::buildFromProto()
FileDescriptor::buildFromProto in vendor/google/protobuf/src/Google/Protobuf/Internal/FileDescriptor.php

File

vendor/google/protobuf/src/Google/Protobuf/Internal/Descriptor.php, line 163

Class

Descriptor

Namespace

Google\Protobuf\Internal

Code

public static function buildFromProto($proto, $file_proto, $containing) {
    $desc = new Descriptor();
    $message_name_without_package = "";
    $classname = "";
    $legacy_classname = "";
    $previous_classname = "";
    $fullname = "";
    GPBUtil::getFullClassName($proto, $containing, $file_proto, $message_name_without_package, $classname, $legacy_classname, $fullname, $previous_classname);
    $desc->setFullName($fullname);
    $desc->setClass($classname);
    $desc->setLegacyClass($legacy_classname);
    $desc->setPreviouslyUnreservedClass($previous_classname);
    $desc->setOptions($proto->getOptions());
    foreach ($proto->getField() as $field_proto) {
        $desc->addField(FieldDescriptor::buildFromProto($field_proto));
    }
    // Handle nested types.
    foreach ($proto->getNestedType() as $nested_proto) {
        $desc->addNestedType(Descriptor::buildFromProto($nested_proto, $file_proto, $message_name_without_package));
    }
    // Handle nested enum.
    foreach ($proto->getEnumType() as $enum_proto) {
        $desc->addEnumType(EnumDescriptor::buildFromProto($enum_proto, $file_proto, $message_name_without_package));
    }
    // Handle oneof fields.
    $index = 0;
    foreach ($proto->getOneofDecl() as $oneof_proto) {
        $desc->addOneofDecl(OneofDescriptor::buildFromProto($oneof_proto, $desc, $index));
        $index++;
    }
    return $desc;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal