code: def visitMembersDef(self, ctx: jsgParser.MembersDefContext):
          
          if not self._name:
              self._name = self._context.anon_id()
          if ctx.COMMA():                             # lone comma - wild card
              self._strict = False
          if not ctx.BAR():                           # member+
              self.visitChildren(ctx)
          else:
              entry = 1
              self._add_choice(entry, ctx.member())       # add first brance (member+)
              for alt in ctx.altMemberDef():
                  entry += 1
                  self._add_choice(entry, alt.member())
              if ctx.lastComma():
                  entry += 1
                  self._add_choice(entry, [])
docs: membersDef: COMMA | member+ (BAR altMemberDef)* (BAR lastComma)? ;
              altMemberDef: member* ;
              member: pairDef COMMA?
              lastComma: COMMA ;