
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Both ``++FixedSizeList++`` from the Commons library, and the list returned from ``++Arrays.asList++`` offer ``++add++`` and ``++remove++`` methods (as required by the ``++List++`` interface they implement), but neither truly supports their use. Both list types have fixed lengths and will throw errors if an ``++add++`` or ``++remove++`` method, or any of their variations, is called.
|
|
|
|
|
|
This rule raises an issue when one of the following methods is invoked on a ``++FixedSizeList++`` instance:
|
|
|
|
* ``++add++``
|
|
* ``++addAll++``
|
|
* ``++clear++``
|
|
* ``++remove++``
|
|
* ``++removeAll++``
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
List<String> strings = Arrays.asList("Hello");
|
|
strings.add("world"); // Noncompliant
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
List<String> strings = Arrays.asList("Hello", "world");
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Remove this call to "add"; it will cause an exception for this fixed-length list.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
``++add++``
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== on 21 Sep 2017, 15:30:25 Ann Campbell wrote:
|
|
https://groups.google.com/forum/?pli=1#!topic/sonarqube/OGktfbSPbdg
|
|
|
|
=== on 21 Sep 2017, 15:58:01 Pierre-Yves Nicolas wrote:
|
|
What about other methods? ``++addAll++``, ``++remove++``, ``++clear++``...
|
|
|
|
endif::env-github,rspecator-view[]
|