<commit_before>(cl:in-package #:cleavir-cst)

(defclass optional-parameter ()
  (;; This slot contains the CST for the obligatory variable of the
   ;; optional parameter.
   (%variable-cst :initarg :variable-cst :reader variable-cst)
   ;; This slot contains a CST for the INIT-FORM of the optional
   ;; parameter.  If no INIT-FORM was supplied, then this slot
   ;; contains a CST for which both EXPRESSION and LOCATION return
   ;; NIL.
   (%init-form-cst :initarg :init-form-cst :reader init-form-cst)
   ;; This slot contains a CST for the SUPPLIED-P-PARAMETER of the
   ;; optional parameter.  If no SUPPLIED-P-PARAMETER was given, then
   ;; this slot contains NIL.
   (%supplied-p-parameter-cst :initform :supplied-p-parameter-cst
			      :reader supplied-p-parameter-cst)))<commit_msg>Define a class for representing a list of optional parameters.<commit_after>(cl:in-package #:cleavir-cst)

(defclass optional-parameter ()
  (;; This slot contains the CST for the obligatory variable of the
   ;; optional parameter.
   (%variable-cst :initarg :variable-cst :reader variable-cst)
   ;; This slot contains a CST for the INIT-FORM of the optional
   ;; parameter.  If no INIT-FORM was supplied, then this slot
   ;; contains a CST for which both EXPRESSION and LOCATION return
   ;; NIL.
   (%init-form-cst :initarg :init-form-cst :reader init-form-cst)
   ;; This slot contains a CST for the SUPPLIED-P-PARAMETER of the
   ;; optional parameter.  If no SUPPLIED-P-PARAMETER was given, then
   ;; this slot contains NIL.
   (%supplied-p-parameter-cst :initform :supplied-p-parameter-cst
			      :reader supplied-p-parameter-cst)))

(defclass optional-parameters ()
  (;; This slot contains a CST for the lambda-list keyword.
   ;; Typically, this keyword will be &OPTIONAL, but client code may
   ;; define other lambda-list keywords that work the same way as
   ;; &OPTIONAL.
   (%keyword-cst :initarg :keyword-cst :reader keyword-cst)
   ;; This slot contains a list of instances of the class
   ;; OPTIONAL-PARAMETER.
   (%parameters :initarg :parameters :reader parameters)))
{'fraction_non_alphanumeric': 0.10191387559808612, 'fraction_numerical': 0.0, 'mean_word_length': 3.6363636363636362, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7385199', 'n_tokens_mistral': 671, 'n_tokens_neox': 639, 'n_words': 231}