@@ -225,6 +225,10 @@ package Lkql_Checker.Rules is
225225 -- Operations that may be redefined by specific rule instances --
226226 -- ---------------------------------------------------------------
227227
228+ function Has_Parameters (Instance : Rule_Instance) return Boolean
229+ is (False);
230+ -- Return whether the Instance has some parameters set.
231+
228232 procedure Process_Instance_Params_Object
229233 (Instance : in out Rule_Instance; Params_Object : in out JSON_Value)
230234 is null ;
@@ -290,6 +294,10 @@ package Lkql_Checker.Rules is
290294 end record ;
291295 -- Represents an instance of a rule with only one integer parameter
292296
297+ function Has_Parameters
298+ (Instance : One_Integer_Parameter_Instance) return Boolean
299+ is (True);
300+
293301 overriding
294302 procedure Process_Instance_Params_Object
295303 (Instance : in out One_Integer_Parameter_Instance;
@@ -321,6 +329,10 @@ package Lkql_Checker.Rules is
321329 end record ;
322330 -- Represents an instance of a rule with only one boolean parameter
323331
332+ function Has_Parameters
333+ (Instance : One_Boolean_Parameter_Instance) return Boolean
334+ is (True);
335+
324336 overriding
325337 procedure Process_Instance_Params_Object
326338 (Instance : in out One_Boolean_Parameter_Instance;
@@ -351,6 +363,10 @@ package Lkql_Checker.Rules is
351363 end record ;
352364 -- Represents an instance of a rule with only one string parameter
353365
366+ function Has_Parameters
367+ (Instance : One_String_Parameter_Instance) return Boolean
368+ is (True);
369+
354370 overriding
355371 procedure Process_Instance_Params_Object
356372 (Instance : in out One_String_Parameter_Instance;
@@ -385,6 +401,10 @@ package Lkql_Checker.Rules is
385401 with null record ;
386402 -- Represents an instance of a rule with only on array parameter
387403
404+ function Has_Parameters
405+ (Instance : One_Array_Parameter_Instance) return Boolean
406+ is (True);
407+
388408 overriding
389409 procedure Process_Instance_Params_Object
390410 (Instance : in out One_Array_Parameter_Instance;
@@ -408,6 +428,10 @@ package Lkql_Checker.Rules is
408428 end record ;
409429 -- Represents an instance of a rule with one integer and boolean parameters
410430
431+ function Has_Parameters
432+ (Instance : One_Integer_Or_Booleans_Parameter_Instance) return Boolean
433+ is (True);
434+
411435 overriding
412436 procedure Process_Instance_Params_Object
413437 (Instance : in out One_Integer_Or_Booleans_Parameter_Instance;
@@ -447,6 +471,10 @@ package Lkql_Checker.Rules is
447471 end record ;
448472 -- Represents an instance of a rule about identifier suffixes
449473
474+ function Has_Parameters
475+ (Instance : Identifier_Suffixes_Instance) return Boolean
476+ is (True);
477+
450478 overriding
451479 procedure Process_Instance_Params_Object
452480 (Instance : in out Identifier_Suffixes_Instance;
@@ -486,6 +514,10 @@ package Lkql_Checker.Rules is
486514 end record ;
487515 -- Represents an instance of a rule about identifier prefixes
488516
517+ function Has_Parameters
518+ (Instance : Identifier_Prefixes_Instance) return Boolean
519+ is (True);
520+
489521 overriding
490522 procedure Process_Instance_Params_Object
491523 (Instance : in out Identifier_Prefixes_Instance;
@@ -522,6 +554,10 @@ package Lkql_Checker.Rules is
522554 end record ;
523555 -- Represents an instance of a rule about identifiers casing
524556
557+ function Has_Parameters
558+ (Instance : Identifier_Casing_Instance) return Boolean
559+ is (True);
560+
525561 overriding
526562 procedure Process_Instance_Params_Object
527563 (Instance : in out Identifier_Casing_Instance;
@@ -553,6 +589,9 @@ package Lkql_Checker.Rules is
553589 end record ;
554590 -- Represents an instance of a rule about forbiddening things
555591
592+ function Has_Parameters (Instance : Forbidden_Instance) return Boolean
593+ is (True);
594+
556595 overriding
557596 procedure Process_Instance_Params_Object
558597 (Instance : in out Forbidden_Instance; Params_Object : in out JSON_Value);
@@ -582,6 +621,10 @@ package Lkql_Checker.Rules is
582621 end record ;
583622 -- Represents an instance of a rule about silent exception handlers
584623
624+ function Has_Parameters
625+ (Instance : Silent_Exception_Handlers_Instance) return Boolean
626+ is (True);
627+
585628 overriding
586629 procedure Process_Instance_Params_Object
587630 (Instance : in out Silent_Exception_Handlers_Instance;
@@ -612,6 +655,9 @@ package Lkql_Checker.Rules is
612655 end record ;
613656 -- Represents an instance of a rule with arbitrary parameters
614657
658+ overriding
659+ function Has_Parameters (Instance : Custom_Instance) return Boolean;
660+
615661 overriding
616662 procedure Process_Instance_Params_Object
617663 (Instance : in out Custom_Instance; Params_Object : in out JSON_Value);
@@ -639,4 +685,7 @@ package Lkql_Checker.Rules is
639685 Arguments : String_Vector;
640686 end record ;
641687
688+ overriding
689+ function Has_Parameters (Instance : Compiler_Instance) return Boolean;
690+
642691end Lkql_Checker.Rules ;
0 commit comments