source: josm/trunk/tools/japicc/modules/RulesSrc.xml @ 12016

Last change on this file since 12016 was 11682, checked in by Don-vip, 3 years ago

update to japi-compliance-checker 2.1

File size: 23.7 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<rules version="1.0">
3
4<rule>
5    <id>
6        Method_Became_Static
7    </id>
8    <severity>
9        Low
10    </severity>
11    <kind>
12        Methods
13    </kind>
14    <change>
15        Method became **static**.
16    </change>
17    <effect>
18        A client program may be interrupted by **NoSuchMethodError** exception.
19    </effect>
20</rule>
21
22<rule>
23    <id>
24        Method_Became_NonStatic
25    </id>
26    <severity>
27        High
28    </severity>
29    <kind>
30        Methods
31    </kind>
32    <change>
33        Method became non-static.
34    </change>
35    <effect>
36        Recompilation of a client program may be terminated with the message: non-static method @method_short cannot be referenced from a static context.
37    </effect>
38</rule>
39
40<rule>
41    <id>
42        Static_Method_Became_Final
43    </id>
44    <severity>
45        Medium
46    </severity>
47    <kind>
48        Methods
49    </kind>
50    <change>
51        Method became final.
52    </change>
53    <effect>
54        Recompilation of a client program may be terminated with the message: @method_short in client class C cannot override @method_short in @class; overridden method is final.
55    </effect>
56</rule>
57
58<rule>
59    <id>
60        NonStatic_Method_Became_Final
61    </id>
62    <severity>
63        Medium
64    </severity>
65    <kind>
66        Methods
67    </kind>
68    <change>
69        Method became final.
70    </change>
71    <effect>
72        Recompilation of a client program may be terminated with the message: @method_short in client class C cannot override @method_short in @class; overridden method is final.
73    </effect>
74</rule>
75
76<rule>
77    <id>
78        Method_Became_Abstract
79    </id>
80    <severity>
81        High
82    </severity>
83    <kind>
84        Methods
85    </kind>
86    <change>
87        Method became abstract.
88    </change>
89    <effect>
90        Recompilation of a client program may be terminated with the message: A client class C is not abstract and does not override abstract method @method_short in @class.
91    </effect>
92</rule>
93
94<rule>
95    <id>
96        Method_Became_NonAbstract
97    </id>
98    <severity>
99        Safe
100    </severity>
101    <kind>
102        Methods
103    </kind>
104    <change>
105        Method became non-abstract.
106    </change>
107    <effect>
108        No effect.
109    </effect>
110</rule>
111
112<rule>
113    <id>
114        Method_Became_Default
115    </id>
116    <severity>
117        Safe
118    </severity>
119    <kind>
120        Methods
121    </kind>
122    <change>
123        Method became default.
124    </change>
125    <effect>
126        No effect.
127    </effect>
128</rule>
129
130<rule>
131    <id>
132        Method_Became_NonDefault
133    </id>
134    <severity>
135        High
136    </severity>
137    <kind>
138        Methods
139    </kind>
140    <change>
141        Method became non-default.
142    </change>
143    <effect>
144        Recompilation of a client program may be terminated with the message: A client class C is not abstract and does not override abstract method @method_short in @class.
145    </effect>
146</rule>
147
148<rule>
149    <id>
150        Changed_Method_Access
151    </id>
152    <severity>
153        High
154    </severity>
155    <kind>
156        Methods
157    </kind>
158    <change>
159        Access level has been changed from @old_value to @new_value.
160    </change>
161    <effect>
162        Recompilation of a client program may be terminated with the message: @method_short has @new_value access in @class.
163    </effect>
164</rule>
165
166<rule>
167    <id>
168        Abstract_Method_Added_Checked_Exception
169    </id>
170    <severity>
171        Medium
172    </severity>
173    <kind>
174        Methods
175    </kind>
176    <change>
177        Added @target exception thrown.
178    </change>
179    <effect>
180        Recompilation of a client program may be terminated with the message: unreported exception @target must be caught or declared to be thrown.
181    </effect>
182</rule>
183
184<rule>
185    <id>
186        NonAbstract_Method_Added_Checked_Exception
187    </id>
188    <severity>
189        Medium
190    </severity>
191    <kind>
192        Methods
193    </kind>
194    <change>
195        Added @target exception thrown.
196    </change>
197    <effect>
198        Recompilation of a client program may be terminated with the message: unreported exception @target must be caught or declared to be thrown.
199    </effect>
200</rule>
201
202<rule>
203    <id>
204        Abstract_Method_Removed_Checked_Exception
205    </id>
206    <severity>
207        Medium
208    </severity>
209    <kind>
210        Methods
211    </kind>
212    <change>
213        Removed @target exception thrown.
214    </change>
215    <effect>
216        Recompilation of a client program may be terminated with the message: cannot override @method_short in @class; overridden method does not throw @target.
217    </effect>
218</rule>
219
220<rule>
221    <id>
222        NonAbstract_Method_Removed_Checked_Exception
223    </id>
224    <severity>
225        Medium
226    </severity>
227    <kind>
228        Methods
229    </kind>
230    <change>
231        Removed @target exception thrown.
232    </change>
233    <effect>
234        Recompilation of a client program may be terminated with the message: cannot override @method_short in @class; overridden method does not throw @target.
235    </effect>
236</rule>
237
238<rule>
239    <id>
240        Added_Method
241    </id>
242    <severity>
243        Safe
244    </severity>
245    <kind>
246        Methods
247    </kind>
248</rule>
249
250<rule>
251    <id>
252        Removed_Method
253    </id>
254    <severity>
255        High
256    </severity>
257    <kind>
258        Methods
259    </kind>
260</rule>
261
262<rule>
263    <id>
264        NonAbstract_Class_Added_Abstract_Method
265    </id>
266    <severity>
267        High
268    </severity>
269    <kind>
270        Types
271    </kind>
272    <change>
273        Abstract method @target has been added to this @type_type.
274    </change>
275    <effect>
276        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
277    </effect>
278</rule>
279
280<rule>
281    <id>
282        Abstract_Class_Added_Abstract_Method
283    </id>
284    <severity>
285        High
286    </severity>
287    <kind>
288        Types
289    </kind>
290    <change>
291        Abstract method @target has been added to this @type_type.
292    </change>
293    <effect>
294        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
295    </effect>
296</rule>
297
298<rule>
299    <id>
300        Abstract_Class_Added_Abstract_Method_Invoked_By_Others
301    </id>
302    <severity>
303        High
304    </severity>
305    <kind>
306        Types
307    </kind>
308    <change>
309        Abstract method @target has been added to this @type_type.
310    </change>
311    <effect>
312        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
313    </effect>
314</rule>
315
316<rule>
317    <id>
318        Class_Removed_Abstract_Method
319    </id>
320    <severity>
321        High
322    </severity>
323    <kind>
324        Types
325    </kind>
326    <change>
327        Abstract method @target has been removed from this @type_type.
328    </change>
329    <effect>
330        Recompilation of a client program may be terminated with the message: cannot find method @method_short in @type_type @class.
331    </effect>
332</rule>
333
334<rule>
335    <id>
336        Interface_Removed_Abstract_Method
337    </id>
338    <severity>
339        High
340    </severity>
341    <kind>
342        Types
343    </kind>
344    <change>
345        Abstract method @target has been removed from this @type_type.
346    </change>
347    <effect>
348        Recompilation of a client program may be terminated with the message: cannot find method @method_short in @type_type @class.
349    </effect>
350</rule>
351
352<rule>
353    <id>
354        Interface_Added_Abstract_Method
355    </id>
356    <severity>
357        High
358    </severity>
359    <kind>
360        Types
361    </kind>
362    <change>
363        Abstract method @target has been added to this @type_type.
364    </change>
365    <effect>
366        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
367    </effect>
368</rule>
369
370<rule>
371    <id>
372        Interface_Added_Abstract_Method_Invoked_By_Others
373    </id>
374    <severity>
375        High
376    </severity>
377    <kind>
378        Types
379    </kind>
380    <change>
381        Abstract method @target has been added to this @type_type.
382    </change>
383    <effect>
384        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
385    </effect>
386</rule>
387
388<rule>
389    <id>
390        Class_Method_Became_Abstract
391    </id>
392    <severity>
393        High
394    </severity>
395    <kind>
396        Types
397    </kind>
398    <change>
399        Method @target became abstract.
400    </change>
401    <effect>
402        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
403    </effect>
404</rule>
405
406<rule>
407    <id>
408        Class_Method_Became_NonAbstract
409    </id>
410    <severity>
411        Safe
412    </severity>
413    <kind>
414        Types
415    </kind>
416    <change>
417        Abstract method @target became non-abstract.
418    </change>
419    <effect>
420        No effect.
421    </effect>
422</rule>
423
424<rule>
425    <id>
426        Interface_Method_Became_NonDefault
427    </id>
428    <severity>
429        High
430    </severity>
431    <kind>
432        Types
433    </kind>
434    <change>
435        Method @target became non-default.
436    </change>
437    <effect>
438        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method @method_short in @class.
439    </effect>
440</rule>
441
442<rule>
443    <id>
444        Interface_Method_Became_Default
445    </id>
446    <severity>
447        Safe
448    </severity>
449    <kind>
450        Types
451    </kind>
452    <change>
453        Method @target became default.
454    </change>
455    <effect>
456        No effect.
457    </effect>
458</rule>
459
460<rule>
461    <id>
462        Abstract_Class_Added_Super_Interface
463    </id>
464    <severity>
465        High
466    </severity>
467    <kind>
468        Types
469    </kind>
470    <change>
471        Added super-interface @target.
472    </change>
473    <effect>
474        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
475    </effect>
476</rule>
477
478<rule>
479    <id>
480        Abstract_Class_Added_Super_Interface_Invoked_By_Others
481    </id>
482    <severity>
483        High
484    </severity>
485    <kind>
486        Types
487    </kind>
488    <change>
489        Added super-interface @target.
490    </change>
491    <effect>
492        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
493    </effect>
494</rule>
495
496<rule>
497    <id>
498        Abstract_Class_Added_Super_Interface_With_Implemented_Methods
499    </id>
500    <severity>
501        Safe
502    </severity>
503    <kind>
504        Types
505    </kind>
506    <change>
507        Added super-interface @target.
508    </change>
509    <effect>
510        No effect.
511    </effect>
512</rule>
513
514<rule>
515    <id>
516        Interface_Added_Super_Interface
517    </id>
518    <severity>
519        High
520    </severity>
521    <kind>
522        Types
523    </kind>
524    <change>
525        Added super-interface @target.
526    </change>
527    <effect>
528        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
529    </effect>
530</rule>
531
532<rule>
533    <id>
534        Interface_Added_Super_Interface_Used_By_Others
535    </id>
536    <severity>
537        High
538    </severity>
539    <kind>
540        Types
541    </kind>
542    <change>
543        Added super-interface @target.
544    </change>
545    <effect>
546        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
547    </effect>
548</rule>
549
550<rule>
551    <id>
552        Interface_Added_Super_Interface_With_Implemented_Methods
553    </id>
554    <severity>
555        Safe
556    </severity>
557    <kind>
558        Types
559    </kind>
560    <change>
561        Added super-interface @target.
562    </change>
563    <effect>
564        No effect.
565    </effect>
566</rule>
567
568<rule>
569    <id>
570        Interface_Added_Super_Constant_Interface
571    </id>
572    <severity>
573        Low
574    </severity>
575    <kind>
576        Types
577    </kind>
578    <change>
579        Added super-interface @target containing constants only.
580    </change>
581    <effect>
582        A static field from a super-interface of a client class may hide a field (with the same name) inherited from a super-class. Recompilation of a client class may be terminated with the message: reference to variable is ambiguous.
583    </effect>
584</rule>
585
586<rule>
587    <id>
588        Interface_Removed_Super_Interface
589    </id>
590    <severity>
591        High
592    </severity>
593    <kind>
594        Types
595    </kind>
596    <change>
597        Removed super-interface @target.
598    </change>
599    <effect>
600        Recompilation of a client program may be terminated with the message: cannot find method in @type_type @type_name.
601    </effect>
602</rule>
603
604<rule>
605    <id>
606        Class_Removed_Super_Interface
607    </id>
608    <severity>
609        High
610    </severity>
611    <kind>
612        Types
613    </kind>
614    <change>
615        Removed super-interface @target.
616    </change>
617    <effect>
618        Recompilation of a client program may be terminated with the message: cannot find method in @type_type @type_name.
619    </effect>
620</rule>
621
622<rule>
623    <id>
624        Interface_Removed_Super_Constant_Interface
625    </id>
626    <severity>
627        High
628    </severity>
629    <kind>
630        Types
631    </kind>
632    <change>
633        Removed super-interface @target containing constants only.
634    </change>
635    <effect>
636        Recompilation of a client program may be terminated with the message: cannot find variable in interface @type_name.
637    </effect>
638</rule>
639
640<rule>
641    <id>
642        Added_Super_Class
643    </id>
644    <severity>
645        Low
646    </severity>
647    <kind>
648        Types
649    </kind>
650    <change>
651        Added super-class @target.
652    </change>
653    <effect>
654        A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class. Recompilation of a client class may be terminated with the message: reference to variable is ambiguous.
655    </effect>
656</rule>
657
658<rule>
659    <id>
660        Abstract_Class_Added_Super_Abstract_Class
661    </id>
662    <severity>
663        High
664    </severity>
665    <kind>
666        Types
667    </kind>
668    <change>
669        Added abstract super-class @target.
670    </change>
671    <effect>
672        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
673    </effect>
674</rule>
675
676<rule>
677    <id>
678        Abstract_Class_Added_Super_Abstract_Class_Invoked_By_Others
679    </id>
680    <severity>
681        High
682    </severity>
683    <kind>
684        Types
685    </kind>
686    <change>
687        Added abstract super-class @target.
688    </change>
689    <effect>
690        Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method in @target.
691    </effect>
692</rule>
693
694<rule>
695    <id>
696        Removed_Super_Class
697    </id>
698    <severity>
699        Medium
700    </severity>
701    <kind>
702        Types
703    </kind>
704    <change>
705        Removed super-class @target.
706    </change>
707    <effect>
708        Recompilation of a client program may be terminated with the message: cannot find variable (or method) in @type_name.
709    </effect>
710</rule>
711
712<rule>
713    <id>
714        Changed_Super_Class
715    </id>
716    <severity>
717        Medium
718    </severity>
719    <kind>
720        Types
721    </kind>
722    <change>
723        Superclass has been changed from @old_value to @new_value.
724    </change>
725    <effect>
726        1) Recompilation of a client program may be terminated with the message: cannot find variable (or method) in @type_name.
727        2) A static field from a super-interface of a client class may hide a field (with the same name) inherited from new super-class. Recompilation of a client class may be terminated with the message: reference to variable is ambiguous.
728    </effect>
729</rule>
730
731<rule>
732    <id>
733        Class_Added_Field
734    </id>
735    <severity>
736        Safe
737    </severity>
738    <kind>
739        Fields
740    </kind>
741    <change>
742        Field @target has been added to this class.
743    </change>
744    <effect>
745        No effect.
746    </effect>
747</rule>
748
749<rule>
750    <id>
751        Class_Added_Field_Non_Safe
752    </id>
753    <severity>
754        Low
755    </severity>
756    <kind>
757        Fields
758    </kind>
759    <change>
760        Field @target has been added to this class.
761    </change>
762    <effect>
763        NOTE: A static field from a super-interface of a client class may hide an added field (with the same name) inherited from the super-class of a client class. Recompilation of a client class may be terminated with the message: reference to @target is ambiguous.
764    </effect>
765</rule>
766
767<rule>
768    <id>
769        Interface_Added_Field
770    </id>
771    <severity>
772        Safe
773    </severity>
774    <kind>
775        Fields
776    </kind>
777    <change>
778        Field @target has been added to this interface.
779    </change>
780    <effect>
781        No effect.
782    </effect>
783</rule>
784
785<rule>
786    <id>
787        Interface_Added_Field_Non_Safe
788    </id>
789    <severity>
790        Low
791    </severity>
792    <kind>
793        Fields
794    </kind>
795    <change>
796        Field @target has been added to this interface.
797    </change>
798    <effect>
799        NOTE: An added static field from a super-interface of a client class may hide a field (with the same name) inherited from the super-class of a client class. Recompilation of a client class may be terminated with the message: reference to @target is ambiguous.
800    </effect>
801</rule>
802
803<rule>
804    <id>
805        Renamed_Field
806    </id>
807    <severity>
808        High
809    </severity>
810    <kind>
811        Fields
812    </kind>
813    <change>
814        Field @target has been renamed to @new_value.
815    </change>
816    <effect>
817        Recompilation of a client program may be terminated with the message: cannot find variable @target in @type_name.
818    </effect>
819</rule>
820
821<rule>
822    <id>
823        Renamed_Constant_Field
824    </id>
825    <severity>
826        High
827    </severity>
828    <kind>
829        Fields
830    </kind>
831    <change>
832        Field @target has been renamed to @new_value.
833    </change>
834    <effect>
835        Recompilation of a client program may be terminated with the message: cannot find variable @target in @type_name.
836    </effect>
837</rule>
838
839<rule>
840    <id>
841        Removed_NonConstant_Field
842    </id>
843    <severity>
844        High
845    </severity>
846    <kind>
847        Fields
848    </kind>
849    <change>
850        Field @target of type @field_type has been removed from this @type_type.
851    </change>
852    <effect>
853        Recompilation of a client program may be terminated with the message: cannot find variable @target in @type_name.
854    </effect>
855</rule>
856
857<rule>
858    <id>
859        Removed_Constant_Field
860    </id>
861    <severity>
862        High
863    </severity>
864    <kind>
865        Fields
866    </kind>
867    <change>
868        Field @target of type @field_type with the compile-time constant value @field_value has been removed from this @type_type.
869    </change>
870    <effect>
871        Recompilation of a client program may be terminated with the message: cannot find variable @target in @type_name.
872    </effect>
873</rule>
874
875<rule>
876    <id>
877        Changed_Field_Type
878    </id>
879    <severity>
880        High
881    </severity>
882    <kind>
883        Fields
884    </kind>
885    <change>
886        Type of field @target has been changed from @old_value to @new_value.
887    </change>
888    <effect>
889        Recompilation of a client program may be terminated with the message: incompatible types, found: @old_value, required: @new_value.
890    </effect>
891</rule>
892
893<rule>
894    <id>
895        Changed_Field_Access
896    </id>
897    <severity>
898        High
899    </severity>
900    <kind>
901        Fields
902    </kind>
903    <change>
904        Access level of field @target has been changed from @old_value to @new_value.
905    </change>
906    <effect>
907        Recompilation of a client program may be terminated with the message: @target has @new_value access in @type_name.
908    </effect>
909</rule>
910
911<rule>
912    <id>
913        Changed_Field_Access_To_Package_Private
914    </id>
915    <severity>
916        High
917    </severity>
918    <kind>
919        Fields
920    </kind>
921    <change>
922        Access level of field @target has been changed from @old_value to @new_value.
923    </change>
924    <effect>
925        Recompilation of a client program may be terminated with the message: @target is not public in @type_name; cannot be accessed from outside package.
926    </effect>
927</rule>
928
929<rule>
930    <id>
931        Field_Became_Final
932    </id>
933    <severity>
934        Medium
935    </severity>
936    <kind>
937        Fields
938    </kind>
939    <change>
940        Field @target became final.
941    </change>
942    <effect>
943        Recompilation of a client program may be terminated with the message: cannot assign a value to final variable @target.
944    </effect>
945</rule>
946
947<rule>
948    <id>
949        NonConstant_Field_Became_NonStatic
950    </id>
951    <severity>
952        High
953    </severity>
954    <kind>
955        Fields
956    </kind>
957    <change>
958        Field @target became non-static.
959    </change>
960    <effect>
961        Recompilation of a client program may be terminated with the message: non-static variable @target cannot be referenced from a static context.
962    </effect>
963</rule>
964
965<rule>
966    <id>
967        Constant_Field_Became_NonStatic
968    </id>
969    <severity>
970        High
971    </severity>
972    <kind>
973        Fields
974    </kind>
975    <change>
976        Field @target became non-static.
977    </change>
978    <effect>
979        Recompilation of a client program may be terminated with the message: non-static variable @target cannot be referenced from a static context.
980    </effect>
981</rule>
982
983<rule>
984    <id>
985        Class_Became_Interface
986    </id>
987    <severity>
988        High
989    </severity>
990    <kind>
991        Types
992    </kind>
993    <change>
994        This **class** became **interface**.
995    </change>
996    <effect>
997        Recompilation of a client program may be terminated with the message: @type_name is abstract; cannot be instantiated.
998    </effect>
999</rule>
1000
1001<rule>
1002    <id>
1003        Interface_Became_Class
1004    </id>
1005    <severity>
1006        High
1007    </severity>
1008    <kind>
1009        Types
1010    </kind>
1011    <change>
1012        This **interface** became **class**.
1013    </change>
1014    <effect>
1015        Recompilation of a client program may be terminated with the message: interface expected.
1016    </effect>
1017</rule>
1018
1019<rule>
1020    <id>
1021        Class_Became_Final
1022    </id>
1023    <severity>
1024        High
1025    </severity>
1026    <kind>
1027        Types
1028    </kind>
1029    <change>
1030        This class became final.
1031    </change>
1032    <effect>
1033        Recompilation of a client program may be terminated with the message: cannot inherit from final @type_name.
1034    </effect>
1035</rule>
1036
1037<rule>
1038    <id>
1039        Class_Became_Abstract
1040    </id>
1041    <severity>
1042        High
1043    </severity>
1044    <kind>
1045        Types
1046    </kind>
1047    <change>
1048        This class became abstract.
1049    </change>
1050    <effect>
1051        Recompilation of a client program may be terminated with the message: @type_name is abstract; cannot be instantiated.
1052    </effect>
1053</rule>
1054
1055<rule>
1056    <id>
1057        Removed_Class
1058    </id>
1059    <severity>
1060        High
1061    </severity>
1062    <kind>
1063        Types
1064    </kind>
1065    <change>
1066        This class has been removed.
1067    </change>
1068    <effect>
1069        Recompilation of a client program may be terminated with the message: cannot find class @type_name.
1070    </effect>
1071</rule>
1072
1073<rule>
1074    <id>
1075        Removed_Interface
1076    </id>
1077    <severity>
1078        High
1079    </severity>
1080    <kind>
1081        Types
1082    </kind>
1083    <change>
1084        This interface has been removed.
1085    </change>
1086    <effect>
1087        Recompilation of a client program may be terminated with the message: cannot find class @type_name.
1088    </effect>
1089</rule>
1090
1091<rule>
1092    <id>
1093        Removed_Annotation
1094    </id>
1095    <severity>
1096        High
1097    </severity>
1098    <kind>
1099        Types
1100    </kind>
1101    <change>
1102        This annotation type has been removed.
1103    </change>
1104    <effect>
1105        Recompilation of a client program may be terminated with the error message: cannot find symbol **@**@type_name.
1106    </effect>
1107</rule>
1108
1109</rules>
Note: See TracBrowser for help on using the repository browser.