
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.
37 lines
731 B
Plaintext
37 lines
731 B
Plaintext
== Why is this an issue?
|
|
|
|
Constructors should not access the values of fields that haven't yet been initialized.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
public abstract class MyAbstractClass() {
|
|
|
|
String name;
|
|
String fname;
|
|
int hashCode;
|
|
|
|
public abstract String getValue();
|
|
|
|
public MyAbstractClass(String name) {
|
|
this.fname = this.name.split()[0]; // Noncompliant; this.name not assigned yet
|
|
this.hashCode = getValue().hashCode(); // Noncompliant; child class constructor hasn't run yet
|
|
}
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Remove this use of the uninitialized value "xxx".
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|