original_docstring: 
          fieldinits     : IDENT ":" expr ("," IDENT ":" expr)*
  
          The even items, children[0::2] are identifiers, nothing to evaluate.
          The odd items, childnre[1::2] are expressions.
  
          This creates a mapping, used by the :meth:`member_object` method to create
          and populate a protobuf object. Duplicate names are an error.
          
docstring: 
  
  This creates a mapping, used by the :meth:`member_object` method to create
  and populate a protobuf object. Duplicate names are an error.
docstring_tokens: This creates a mapping used by the : meth : ` member_object ` method to create and populate a protobuf object . Duplicate names are an error .
code: def fieldinits(self, tree: lark.Tree) -> Result:
          """
          fieldinits     : IDENT ":" expr ("," IDENT ":" expr)*
  
          The even items, children[0::2] are identifiers, nothing to evaluate.
          The odd items, childnre[1::2] are expressions.
  
          This creates a mapping, used by the :meth:`member_object` method to create
          and populate a protobuf object. Duplicate names are an error.
          """
          result = celpy.celtypes.MapType()
  
          pairs = zip(tree.children[0::2], tree.children[1::2])
          for ident_node, expr_node in pairs:
              ident = celpy.celtypes.StringType(ident_node.value)
              expr = cast(celpy.celtypes.Value, self.visit_children(expr_node)[0])
              if ident in result:
                  raise ValueError(f"Duplicate field label {ident!r}")
              result[ident] = expr
          return result
code_tokens: def fieldinits ( self , tree : lark . Tree ) -> Result : result = celpy . celtypes . MapType ( ) pairs = zip ( tree . children [ 0 : : 2 ] , tree . children [ 1 : : 2 ] ) for ident_node , expr_node in pairs : ident = celpy . celtypes . StringType ( ident_node . value ) expr = cast ( celpy . celtypes . Value , self . visit_children ( expr_node ) [ 0 ] ) if ident in result : raise ValueError ( f"Duplicate field label {ident!r}" ) result [ ident ] = expr return result
short_docstring: fieldinits     : IDENT ":" expr ("," IDENT ":" expr)
  The even items, children[0::2] are identifiers, nothing to evaluate.
short_docstring_tokens: fieldinits : IDENT " : " expr ( " " IDENT " : " expr ) The even items children [ 0 :: 2 ] are identifiers nothing to evaluate .
comment: """
          fieldinits     : IDENT ":" expr ("," IDENT ":" expr)*
  
          The even items, children[0::2] are identifiers, nothing to evaluate.
          The odd items, childnre[1::2] are expressions.
  
          This creates a mapping, used by the :meth:`member_object` method to create
          and populate a protobuf object. Duplicate names are an error.
          """