
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
== Why is this an issue?
|
|
|
|
While it is technically correct to assign to parameters from within method bodies, doing so before the parameter value is read is likely a bug. Instead, initial values of parameters should be, if not treated as ``++readonly++`` then at least read before reassignment.
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,vbnet]
|
|
----
|
|
Module Module1
|
|
Sub Foo(ByVal a As Integer)
|
|
a = 42 ' Noncompliant
|
|
End Sub
|
|
End Module
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,vbnet]
|
|
----
|
|
Module Module1
|
|
Sub Foo(ByVal a As Integer)
|
|
Dim tmp = a
|
|
tmp = 42
|
|
End Sub
|
|
End Module
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
``++ByRef++`` parameters are ignored.
|
|
|
|
[source,vbnet]
|
|
----
|
|
Module Module1
|
|
Sub Foo(ByRef a As Integer)
|
|
a = 42 ' Ignored; it is a ByRef parameter
|
|
End Sub
|
|
End Module
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::../highlighting.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|