def __init__(self, name, full_name, filename, containing_type, fields,<EOL>nested_types, enum_types, extensions, options=None,<EOL>is_extendable=True, extension_ranges=None, oneofs=None,<EOL>file=None, serialized_start=None, serialized_end=None,<EOL>syntax=None):  
super(Descriptor, self).__init__(<EOL>options, '<STR_LIT>', name, full_name, file,<EOL>containing_type, serialized_start=serialized_start,<EOL>serialized_end=serialized_end)<EOL>self.fields = fields<EOL>for field in self.fields:<EOL><INDENT>field.containing_type = self<EOL><DEDENT>self.fields_by_number = dict((f.number, f) for f in fields)<EOL>self.fields_by_name = dict((f.name, f) for f in fields)<EOL>self._fields_by_camelcase_name = None<EOL>self.nested_types = nested_types<EOL>for nested_type in nested_types:<EOL><INDENT>nested_type.containing_type = self<EOL><DEDENT>self.nested_types_by_name = dict((t.name, t) for t in nested_types)<EOL>self.enum_types = enum_types<EOL>for enum_type in self.enum_types:<EOL><INDENT>enum_type.containing_type = self<EOL><DEDENT>self.enum_types_by_name = dict((t.name, t) for t in enum_types)<EOL>self.enum_values_by_name = dict(<EOL>(v.name, v) for t in enum_types for v in t.values)<EOL>self.extensions = extensions<EOL>for extension in self.extensions:<EOL><INDENT>extension.extension_scope = self<EOL><DEDENT>self.extensions_by_name = dict((f.name, f) for f in extensions)<EOL>self.is_extendable = is_extendable<EOL>self.extension_ranges = extension_ranges<EOL>self.oneofs = oneofs if oneofs is not None else []<EOL>self.oneofs_by_name = dict((o.name, o) for o in self.oneofs)<EOL>for oneof in self.oneofs:<EOL><INDENT>oneof.containing_type = self<EOL><DEDENT>self.syntax = syntax or "<STR_LIT>"<EOL>
Arguments to __init__() are as described in the description
        of Descriptor fields above.

        Note that filename is an obsolete argument, that is not used anymore.
        Please use file.name to access this as an attribute.